Iworld.com.vn gửi tới độc giả Phần mềm độc hại XLSM trong MacroSheet

Phần mềm độc hại dựa trên Excel đã tồn tại trong nhiều thập kỷ và đang được chú ý trong những năm gần đây. Trong nửa cuối năm 2020, chúng ta đã chứng kiến ​​Hacker sử dụng macro Excel 4.0, một công nghệ cũ, để chuyển tải trọng cho nạn nhân của chúng. Họ chủ yếu sử dụng cửa sổ làm việc thông qua định dạng tệp XLSX. Trong các dòng lệnh này, đối thủ có thể nhập mã thẳng vào các ô (đó là lý do tại sao chúng được gọi là công thức macro). Excel 4.0 cũng sử dụng các chức năng cấp API như tải xuống tệp, tạo tệp, gọi các quy trình khác như PowerShell, cmd, v.v.

Với sự phát triển của công nghệ, các nhà cung cấp AV bắt đầu phát hiện các tài liệu Excel độc hại này, như thực hiện nhiều hành vi ẩn danh hơn và những kẻ tấn công bắt đầu chuyển sang định dạng tệp XLSM. Trong nửa đầu năm 2021, chúng ta đã chứng kiến ​​sự gia tăng của phần mềm độc hại XLSM, cung cấp các tải trọng theo nhóm khác nhau (như thể hiện trong biểu đồ lây nhiễm bên dưới). Trong XLSM, các đối thủ sử dụng Macrosheets, để nhập mã độc hại của chúng trực tiếp vào công thức ô. Cấu trúc XLSM giống như XLSX, nhưng tệp XLSM hỗ trợ macro VBA là công nghệ tiên tiến hơn của macro Excel 4.0. Bằng cách sử dụng các macro này, những kẻ tấn công có thể truy cập các chức năng mạnh mẽ của cửa sổ và kỹ thuật mới có độ tinh vi cao, nên nó có thể tránh được phát hiện AV.

Excel 4.0 và XLSM đều được biết là có thể tải xuống các phần mềm độc hại khác như ZLoader, Trickbot, Qakbot, Ursnif, IcedID, v.v.

Trên biểu đồ macro XLSM thể hiện số lượng phát hiện phần mềm độc hại

Hình trên cho thấy số lượng mẫu được phát hiện hàng tuần, theo tên được phát hiện “Trình tải xuống-FCEI” nhắm mục tiêu cụ thể, phần mềm độc hại dựa trên cấu trúc XLSM.

Phân tích kỹ thuật

Cấu trúc XLSM

Tệp XLSM là tệp bảng tính hỗ trợ macro. Macro là một tập hợp các lệnh thực hiện một bản ghi các bước lặp đi lặp lại. Các tệp XLSM dựa trên các định dạng Open XLM, đã được giới thiệu trong Microsoft Office 2007. Các loại tệp này giống như XLSX nhưng ngoài ra, chúng hỗ trợ macro.

Nói về cấu trúc XLSM khi chúng ta giải nén tệp, chúng ta thấy bốn nội dung cơ bản của tệp được hiển thị bên dưới.

Hình 1: Nội dung bên trong tệp XLSM

      • _rels chứa cấp thư mục ban đầu
      • docProps chứa siêu dữ liệu của tệp excel.
      • Thư mục xl chứa nội dung thực của tệp.
      • [Content_Types] .xml có tham chiếu đến các tệp XML có trong các thư mục trên.

Chúng tôi sẽ tập trung nhiều hơn vào nội dung thư mục “xl”. Thư mục này chứa tất cả nội dung chính của tệp excel như tất cả các trang tính, tệp styles.xml, tệp sharedStrings.xml, tệp workbook.xml, v.v. Tất cả các tệp và thư mục này đều có dữ liệu liên quan đến các khía cạnh khác nhau của tệp excel. Nhưng đối với các tệp XLSM, chúng tôi sẽ tập trung vào một thư mục duy nhất được gọi là macro.

Các tệp XLSM này chứa các macro như được hiển thị trong hình 2, ngoài các tệp trang tính XML có thể hỗ trợ macro. Các trang tính này không khả dụng ở các định dạng tệp Excel khác. Trong vài tháng qua, chúng tôi đã chứng kiến ​​sự gia tăng lớn về phần mềm độc hại dạng tệp XLSM, trong đó những kẻ tấn công lưu trữ các chuỗi độc hại ẩn trong các macro này. Chúng tôi sẽ xem thêm chi tiết về phần mềm độc hại này.

Hình 2: Thư mục trong XS

Để giải thích thêm về cách những kẻ tấn công sử dụng tập tin XLSM, chúng tôi đã lấy một mẫu Qakbot với SHA 91A0121301213999C0212C999927

Chuỗi lây nhiễm

Hình 3: Chuỗi lây nhiễm Phần mềm độc hại Qakbot

Chuỗi lây nhiễm cho cả Qakbot Excel 4.0 và Qakbot XLSM là tương tự. Cả hai đều tải xuống dll và thực thi nó, bằng cách sử dụng rundll32.exe với DllResgisterServer làm chức năng xuất.

Phân tích mối đe dọa XLSM

Khi mở tệp XLSM, có một hình ảnh nhắc người dùng bật nội dung.  Các phần mềm độc hại nhìn rất hợp pháp, thông dụng như được hiển thị bên dưới.

Hình 4: Hình ảnh tệp Xlsm

Khi tìm hiểu sâu hơn, chúng ta thấy tệp workbook.xml bên trong

Hình 5: Nội dung workbook.xml

Như chúng ta có thể thấy trong tệp workbook.xml (Hình 5), có tổng cộng 6 trang tính và trạng thái của chúng bị ẩn. Ngoài ra, hai ô có tên được xác định trước và một trong số đó là Sheet2323! $ A $ 1 được định nghĩa là “_xlnm.Auto_Open”, tương tự như Sub Auto_Open (), như chúng ta thường thấy trong các tệp macro. Nó tự động chạy các macro khi người dùng nhấp vào bật nội dung.

Như chúng ta thấy trong hình 3 khi mở tệp, chúng ta chỉ thấy hình ảnh kích hoạt nội dung. Vì trạng thái của trang tính đã bị ẩn, chúng ta có thể nhấp chuột phải vào tab trang tính chính và chúng ta sẽ thấy tùy chọn bỏ ẩn ở đó, sau đó chúng ta có thể chọn từng trang tính để bỏ ẩn. Khi ẩn trang tính và thay đổi màu chữ thành màu đỏ, chúng tôi thấy một số chuỗi ngẫu nhiên như trong hình 6.

Hình 6: Tệp xlsm

Các trang ẩn này chứa các chuỗi độc hại theo cách khó hiểu. Vì vậy, khi phân tích thêm, chúng tôi đã quan sát thấy rằng các trang tính bên trong thư mục macro có chứa các chuỗi độc hại này.

Hình 7: Nội dung của tệp XML trang macro

Bây giờ như chúng ta có thể trong hình 7, các lệnh khác nhau được sử dụng trong tệp trang tính XML này. Tất cả các chuỗi độc hại có trong hai thẻ. Bây giờ, chúng ta hãy xem xét chi tiết hơn về các thẻ này.

Thẻ (Giá trị ô) được sử dụng, để lưu trữ các giá trị bên trong ô. Các thẻ (Công thức Ô) được sử dụng, để lưu trữ các công thức bên trong ô. Bây giờ trong các thẻ trang tính ở trên chứa giá trị công thức được lưu trong bộ nhớ cache, dựa trên công thức lần cuối cùng được tính. Các ô công thức chứa các công thức như “GOTO (Sheet2! H13)”, như chúng ta có thể thấy ở đây, những kẻ tấn công có thể lưu trữ các công thức khác nhau, trong khi tham chiếu các ô từ các trang tính khác nhau. Những hoạt động này được thực hiện để tạo ra ngày càng nhiều trang tính bị xáo trộn và tránh các chữ ký AV.

Khi người dùng nhấp vào nút bật nội dung, việc thực thi bắt đầu từ ô Auto_Open, sau đó mỗi công thức trang tính sẽ bắt đầu thực thi từng công thức một. Chuỗi cuối cùng được giải mã được hiển thị bên dưới.

Hình 8: Các chuỗi cuối cùng được De-Obfuscated từ tệp

Tại đây API URLDownloadToFIleA được sử dụng, để tải xuống tải trọng và chuỗi “JJCCBB” được sử dụng, và dữ liệu này gọi là API. Có nhiều URI có tải trọng DLL được tải xuống và lưu dưới dạng .. \\ lertio.cersw. Tải trọng DLL này sau đó được thực thi bằng cách sử dụng rundll32. Tất cả những hoạt động độc hại được thực hiện, bằng cách sử dụng khác nhau công thức excel dựa như REGISTER, EXEC,..

Giải pháp an ninh

Sản phẩm Endpoint của McAfee phát hiện biến thể malware này như sau:

Các tài liệu độc hại chính với SHA256 (91a1ba70132139c99efd73ca21c4721927a213bcd529c87e908a9fdd71570f1e) được phát hiện là “Downloader- FCEI ”với các tệp DAT hiện tại.

Ngoài ra, với sự trợ giúp của chuyên gia của McAfee, khách hàng có thể thêm quy tắc hành vi tùy chỉnh, cụ thể cho kiểu lây nhiễm này.

Rule {

Process {

Include OBJECT_NAME { -v “EXCEL.exe” }

}

Target {

Match PROCESS {

Include OBJECT_NAME { -v “rundll32.exe” }

Include PROCESS_CMD_LINE { -v “* ..\\*.*,DllRegisterServer” }

Include -access “CREATE”

}

}

}

McAfee khuyên tất cả người dùng tránh mở bất kỳ tệp đính kèm email nào hoặc nhấp vào bất kỳ liên kết nào có trong thư, mà không xác minh danh tính của người gửi và luôn tắt thực thi Macro cho các tệp Office. Chúng tôi khuyên mọi người nên đọc chủ đề về các loại tệp XLSM độc hại này và các kỹ thuật giải mã của chúng, để hiểu thêm về mối đe dọa.

Các kỹ thuật và chiến thuật khác nhau được phần mềm độc hại sử dụng, để tuyên truyền và chúng tôi đã ánh xạ những kỹ thuật và chiến thuật này tới nền tảng MITER ATT & CK.

      • T1064 (Tập lệnh): Sử dụng macro Excel 4.0 và các công thức excel khác nhau, để tải xuống tải trọng độc hại.
      • Defense Evasion (T1218.011): Thực thi tệp nhị phân đã ký, để lạm dụng Rundll32.exe và proxy thực thi mã độc hại được quan sát thấy trong biến thể Qakbot này.
      • Defense Evasion (T1562.001): Tệp Office cố gắng thuyết phục nạn nhân tắt các tính năng bảo mật, bằng cách sử dụng một hình ảnh hợp lý.
      • Lệnh và Điều khiển (T1071): Sử dụng Giao thức lớp ứng dụng HTTP, để kết nối với web và sau đó tải xuống tải trọng độc hại.

Kết luận

Phần mềm độc hại XLSM đã phát triển nhiều họ phần mềm độc hại. Nhiều nhóm lớn như Trickbot, Gozi, IcedID, Qakbot đang sử dụng các macro XLSM này với số lượng lớn, để phân phối tải trọng. Các cuộc tấn công này vẫn đang phát triển và tiếp tục sử dụng các chuỗi bị xáo trộn khác nhau, để khai thác các tiện ích cửa sổ khác nhau như rundll32, regsvr32, PowerShell, v.v.

Do lo ngại về bảo mật, macro bị tắt theo mặc định trong các ứng dụng Microsoft Office. Chúng tôi khuyên bạn chỉ nên bật chúng khi tài liệu nhận được từ một nguồn đáng tin cậy.

Trân trọng cám ơn quý độc giả./.

Bài đọc tham khảo thêm cho bạn

Biên dịch: Lê Toản – Iworld.com.vn