Microsoft Office Macro từ lâu đã là một công cụ thô sơ nhưng hiệu quả nếu rơi vào tay các hacker: chỉ cần đánh lừa ai đó mở một tập tin đính kèm và bấm nút "Allow" để chạy macro, thì một tài liệu Word đơn giản cũng có thể khởi động một chuỗi mã lệnh nhằm dọn đường cho hacker chiếm quyền kiểm soát thiết bị. Dù mánh khoé macro này ngày càng được sử dụng rộng rãi hơn để nhắm vào Microsoft Office trên macOS, một hacker chuyên về Mac đã tìm ra một phương pháp âm thầm hơn, đáng tin cậy hơn, để tận dụng nó. Và chìa khoá nằm trong một định dạng tập tin khó hiểu đã xuất hiện từ 30 năm trước.
Tại Hội thảo bảo mật Black Hat diễn ra vào hôm qua, cựu hacker NSA là Patrick Wardle đã nêu chi tiết về kỹ thuật mới, trong đó khai thác một loạt các lỗ hổng của Microsoft Office và macOS để chiếm quyền truy cập hoàn chỉnh vào máy Mac mục tiêu. Một trong những lỗi đó có liên quan đến cách Excel xử lý một loại tập tin đã lỗi thời gọi là Symbolic Link. SYLK không được sử dụng rộng rãi kể từ những năm 1980, nhưng nó có thể tạo ra một đường dẫn trong chuỗi nhằm qua mặt hoàn toàn những thiết lập giới hạn bảo mật đối với macro của Microsoft Office. Kết hợp với các lỗ hổng khác trong macOS, kỹ thuật của Wardle – vốn đã được Apple vá lại sau khi anh cảnh báo công ty vào đầu năm nay – sẽ cho phép hacker chiếm máy tính mục tiêu mà không phát ra cảnh báo nào ngay khi nạn nhân vừa bấm vào một tập tin đính kèm độc hại.
"Hệ thống sẽ hoàn toàn bị kiểm soát và lây nhiễm" – Wardle, hiện là nhà nghiên cứu bảo mật tại công ty bảo mật Jamf, nói. "Và không có dấu hiệu nào cho thấy cuộc tấn công đang diễn ra".
Wardle nói rằng anh lần đầu tò mò về các cuộc tấn công macro nhằm vào Mac từ năm 2017, khi các công ty bảo mật bắt đầu cảnh báo về các mã macro nhắm vào khách hàng Apple thay vì các nạn nhân Windows thông thường. Nhiều cuộc tấn công macro nhắm vào Mac đã lộ diện trong năm 2018 và 2019, bao gồm việc Kaspersky phát hiện ra các hacker Triều Tiên sử dụng macro để đánh cắp tiền mã hoá từ người dùng Mac vào năm 2019. Khi Mac ngày càng phổ biến hơn ở các văn phòng, thì mối đe doạ từ các cuộc tấn công macro cũng nổi lên nhiều hơn.
"Chúng ta thấy các nhóm hacker đang có hứng thú hơn với macro. Do đó tôi tự hỏi, mọi chuyện liệu có tồi tệ hơn không? Đây có phải một thứ chúng ta sẽ phải chú ý hơn, hay chỉ là trò phá phách nhất thời?" – Wardle nói. Thế là anh quyết định tìm hiểu xem liệu mình có thể tạo ra một cuộc tấn công macro mạnh mẽ hơn nhằm vào máy Mac hay không – một cuộc tấn công mà nạn nhân không cần phải bấm "Allow" và không bị đưa vào sandbox, vốn là một tính năng nhằm giới hạn quyền truy xuất vào phần còn lai của hệ thống của ứng dụng, ngăn ứng dụng đánh cắp tập tin hay cài đặt malware. "Làm việc tại NSA khiến đầu óc tôi trở nên đen tối và chứa đầy những ý tưởng độc địa" – Wardle nói. "Tôi về cơ bản muốn thực hiện một cuộc tấn công macro mà không thể bị cản trở".
Hồi tháng 10 năm ngoái, Wardle đã chứng kiến các nhà nghiên cứu người Hà Lan là Stan Hegt và Pieter Ceelen tiết lộ một lỗi thú vị trong Microsoft Word. Excel không hề cảnh báo người dùng trước khi chạy bất kỳ macro nào chứa trong một tập tin ở định dạng tập tin SYLK, một loại tập tin hầu như đã bị lãng quên nhưng vẫn tương thích với Microsoft Word. Mánh khoé này mặc định sẽ hiệu quả trên phiên bản Microsoft Office 2011, và vượt mặt được mọi cảnh báo liên quan macro. Nhưng trớ trêu thay nó còn hiệu quả với các phiên bản gần đây nếu người dùng hay admin thiết lập chương trình ở mức bảo mật nhất. Khi Excel được điều chỉnh để ngừng mọi macro mà không thông báo cho người dùng, nó thay vào đó lại chạy các macro trong tập tin SYLK một cách tự động.
Hegt giải thích rằng lỗ hổng này bắt nguồn từ việc Microsoft sử dụng mã hoàn toàn khác biệt để quản lý các tập tin SYLK cũ thay vì mã được sử dụng để xử lý các định dạng tập tin mới hơn. "Có hai engine macro khác nhau trong một sản phẩm, và đó là một tình huống rất hấp dẫn để bắt đầu nghiên cứu" – Hegt nói.
Các nhà nghiên cứu người Hà Lan đã cảnh báo Microsoft về lỗ hổng, nhưng công ty không tung ra bản vá nào, một phần bởi các hacker sử dụng nó vẫn sẽ bị mắc kẹt trong sandbox của Microsoft Office. Nhưng Wardle nói rằng chỉ sau 2 ngày nghiên cứu, anh đã có thể liên kết một loạt các thủ thuật để phá vỡ vòng cách ly của Microsoft Office và đi vào phần còn lại của hệ thống.
Chuỗi của Wardle bắt đầu với một lỗi đã biết nhưng chưa được vá, cho phép anh sử dụng một API để cấy một tập tin bên ngoài sandbox nếu nó có các ký tự "~$" ở đầu tên tập tin. Anh dự định sử dụng lỗi này để thêm vào một mục sẽ tự động chạy khi người dùng đăng nhập. Nhưng macOS có một biện pháp bảo mật khá cứng rắn khi chỉ cho phép chạy các mục đăng nhập đã được chứng nhận bởi Apple, và đã chặn con đường đó. Vì vậy, Wardle phát hiện ra anh có thể phá vỡ hàng rào chắn này bằng cách nén tập tin thành tập tin ZIP. Có nghĩa là Unarchiver, một ứng dụng có sẵn, sẽ chạy tự động và giải nén tập tin, để rồi nó sẽ cài đặt một "trình khởi động" có chức năng khởi chặn vào lần tiếp theo khi máy tính khởi động lại. Trình khởi động sau đó sẽ sử dụng công cụ dòng lệnh Bash để cài đặt và chạy bất kỳ malware nào theo ý muốn.
Như vậy, một nạn nhân vô ý chỉ cần mở tập tin đính kèm độc hại một lần. Sau khi họ khởi động lại hoặc đăng xuất khỏi tài khoản trên máy Mac hai lần, malware sẽ chiếm quyền kiểm soát hoàn toàn máy tính. "Nó đòi hỏi người dùng phải đăng nhập lại hai lần" – Wardle nói. "Nhưng tôi có thể chờ được".
Wardle đã cảnh báo cả Microsoft và Apple về kỹ thuật hack của mình vào tháng 11 năm ngoái, và Apple đã tung một bản vá cho macOS 10.15.3 hồi đầu năm nay, tuy nhiên không công ty nào làm rõ những phần nào trong chuỗi lỗ hổng của Wardle đã được vá, và phần nào chưa. Ví dụ, Microsoft đã loại bỏ lỗi định dạng tập tin SYLK trong Microsoft Office, nhưng nói trong một bản tin rằng macro vẫn có thể được dùng để phá bỏ sandbox của Office trên macOS. "Chúng tôi đã điều tra và xác định được bất kỳ ứng dụng nào, kể cả khi đã bị đưa vào sandbox, vẫn có khả năng bị lợi dụng bởi các API kia. Chúng tôi đang thảo luận với Apple để đưa ra các giải pháp và hỗ trợ khi cần thiết."
Nhưng Wardle nói rằng nghiên cứu của anh nên được xem là một ví dụ cho thấy Microsoft Office dễ bị lợi dụng để tấn công thế nào – đặc biệt trên phiên bản dành cho Mac vốn ít được quan tâm hơn – và dự báo rằng sẽ còn nhiều cuộc tấn công macro nhằm vào Mac xảy ra. "Tôi ngạc nhiên vì mọi thứ quá dễ dàng" – anh nói. "Tôi có kinh nghiệm trong việc này, nhưng các nhóm hacker giàu tài nguyên cũng đã nghiên cứu nó và có những kỹ thuật tương tự, nếu không nói là hơn. Đây là một hướng tấn công rất rộng. Các hacker đủ tài nguyên và trí thông minh sẽ tìm mọi cách để chiếm quyền kiểm soát và tồn tại trên các hệ thống Mac".
"Việc anh ấy tạo ra một chuỗi khai thác được chắc chắn cho thấy vấn đề" – hacker Hà Lan Hegt nói. Anh này cho biết những lỗ hổng như SYLK vốn cho phép một cuộc tấn công macro diện rộng lên macOS, vẫn chưa được vá hết. "Tôi khá chắc là nếu bạn đào sâu vào Office, đặc biệt trên Mac, còn nhiều thứ hay ho nữa để khám phá đấy!"
Theo GenK