Mã độc ArmouryLoader: Nguy hiểm chiếm quyền kiểm soát

Mã độc ArmouryLoader: Nguy hiểm chiếm quyền kiểm soát

Trong bối cảnh tấn công mạng không ngừng phát triển, các trình tải mã độc như mã độc ArmouryLoader đã trở thành công cụ thiết yếu để đưa các payload dạng Trojan vào các hệ thống bị xâm nhập. ArmouryLoader đại diện cho một mối đe dọa mạng đáng kể đối với an ninh điểm cuối.

Tổng quan về ArmouryLoader

Được xác định lần đầu tiên vào năm 2024, ArmouryLoader khai thác phần mềm ASUS Armoury Crate bằng cách chiếm quyền điều khiển các hàm xuất của nó. Cụ thể, nó lạm dụng các hàm như freeBuffer trong ArmouryA.dll để khởi tạo chuỗi thực thi đa giai đoạn.

Trình tải mã độc này tạo điều kiện thuận lợi cho việc leo thang đặc quyền, duy trì quyền truy cập và phân phối payload. Nó còn tích hợp các khả năng chống EDR, cho phép các phần mềm độc hại tiếp theo như SmokeLoaderCoffeeLoader né tránh các biện pháp phòng thủ của hệ thống.

Cơ chế hoạt động và né tránh

Kỹ thuật giải mã và vượt qua sandbox

ArmouryLoader sử dụng OpenCL để giải mã, yêu cầu môi trường GPU hoặc CPU 32-bit. Điều này giúp nó hiệu quả trong việc bỏ qua các sandbox và máy ảo.

Mã độc còn sử dụng các kỹ thuật đọc bộ nhớ dựa trên gadget từ các DLL hợp pháp và tạo các chuỗi lệnh giả mạo (forged call stacks). Mục đích là để che giấu nguồn gốc các cuộc gọi hệ thống, tăng cường khả năng tàng hình và tỷ lệ thành công trong việc phân phối payload.

Theo báo cáo đặc biệt của Antiy CERT, các kỹ thuật này nhấn mạnh vai trò của trình tải mã độc này trong các chuỗi tấn công phức tạp, gây ra rủi ro đáng kể cho bảo mật điểm cuối. Bạn có thể tham khảo thêm tại: Antiy CERT Special Report.

Kỹ thuật che giấu và các giai đoạn thực thi

Kho vũ khí che giấu của ArmouryLoader bao gồm việc chèn các lệnh vô dụng, các đoạn mã tự giải mã và giải mã dựa trên OpenCL trong suốt quy trình tám giai đoạn của nó.

  • Trong các giai đoạn mộtba, các opcode dư thừa được chèn vào mã để cản trở phân tích tĩnh.
  • Các giai đoạn hai, bốnsáu có các vòng lặp tự giải mã XOR nhiều lớp.
  • Giai đoạn ba độc đáo ở chỗ nó gọi OpenCL để giải mã shellcode thông qua các thiết bị NVIDIA, AMD hoặc Intel, tạo khóa thông qua các phép toán XOR chuỗi.

Leo thang đặc quyền và duy trì quyền truy cập

Giai đoạn năm của mã độc ArmouryLoader thực hiện leo thang đặc quyền bằng cách mô phỏng explorer.exe. Nó khai thác thành phần CMSTPLUA COM để có quyền Administrator. Các biến thể mới hơn sử dụng CMLuaUtil cho mục đích này.

Khả năng duy trì quyền truy cập được thực hiện thông qua các tác vụ theo lịch (scheduled tasks) được tạo qua lệnh schtasks hoặc các giao diện COM. Các tác vụ này chạy mỗi 30 hoặc 10 phút tùy thuộc vào đặc quyền có được.

Các tệp liên quan được bảo vệ bằng các thuộc tính ẩn (hidden), chỉ đọc (read-only) và sửa đổi ACL (Access Control List) để từ chối quyền truy cập của người dùng, làm tăng thêm tính bền bỉ của mã độc ArmouryLoader.

Kỹ thuật né tránh nâng cao và thực thi mã

Để chống lại các biện pháp đối phó, ArmouryLoader sử dụng Halo’s Gate để trích xuất số syscall. Kỹ thuật này giúp nó né tránh các hook và chuỗi ROP (Return-Oriented Programming) để tạo dấu vết ngăn xếp giả mạo chống lại việc truy tìm ngược.

Ở giai đoạn bảy, Heaven’s Gate cho phép thực thi mã 64-bit trong dllhost.exe, chuyển đổi từ môi trường 32-bit. Giai đoạn tám phân bổ bộ nhớ thông qua các syscall như NtAllocateVirtualMemory, sử dụng các gadget như mov rax,[rax];ret; cho các lệnh đọc gián tiếp và jmp [rbx] để chuyển hướng luồng điều khiển.

Quy trình tấn công

Quá trình tấn công của mã độc ArmouryLoader diễn ra theo một trình tự tuần tự và tiến bộ:

  • Giai đoạn một: Chiếm quyền điều khiển các hàm xuất để chạy shellcode.
  • Các giai đoạn chẵn: Thực hiện giải mã và tải các tệp PE (Portable Executable).
  • Các giai đoạn lẻ: Xử lý các hành vi như giải mã OpenCL, leo thang đặc quyền và tiêm mã (injection).

Phân tích mẫu và chỉ số IOCs

Phân tích mẫu của tệp ArmouryA.dll (kích thước 1.41 MB, kiến trúc x86) cho thấy mức độ che giấu cao. Tệp này có chữ ký ASUS không hợp lệ và sử dụng phân giải API động qua PEB (Process Environment Block).

Chỉ số thỏa hiệp (Indicators of Compromise – IOCs)

  • MD5: 5A31B05D53C39D4A19C4B2B6613972F (cho tệp ArmouryA.dll)

Ánh xạ với MITRE ATT&CK và biện pháp phát hiện

Các ánh xạ ATT&CK làm nổi bật các kỹ thuật được mã độc ArmouryLoader sử dụng:

  • Persistence (T1053): Duy trì quyền truy cập qua các tác vụ theo lịch.
  • Privilege Escalation (T1546): Leo thang đặc quyền thông qua lạm dụng COM (Component Object Model).
  • Defense Evasion (T1140, T1620, T1027): Né tránh phòng thủ bằng cách khử obfuscation, gián tiếp syscall và sử dụng các tệp bị che giấu.

Các sản phẩm Zhijia của Antiy phát hiện những kỹ thuật này thông qua giám sát thời gian thực và các biện pháp phòng thủ cấp kernel. Chúng cảnh báo về việc thêm tệp và cho phép quản lý mối đe dọa tập trung, hỗ trợ công tác phát hiện xâm nhập.