XWorm RAT: Nguy cơ nghiêm trọng từ kỹ thuật tấn công fileless

XWorm RAT: Nguy cơ nghiêm trọng từ kỹ thuật tấn công fileless

Một chiến dịch mã độc đa giai đoạn tinh vi đang tích cực nhắm mục tiêu vào các doanh nghiệp tại Brazil và Mỹ Latinh (LATAM). Chiến dịch này sử dụng các biên lai ngân hàng giả mạo để phát tán XWorm RAT phiên bản 5.6, một Trojan truy cập từ xa thương mại có khả năng đánh cắp thông tin đăng nhập, chiếm đoạt phiên làm việc và tạo điều kiện triển khai ransomware sau này. Đây là một mối đe dọa mạng đáng kể đối với khu vực.

Nội dung
Phân tích chiến dịch mã độc XWorm RAT

Phương thức lây nhiễm ban đầu
Kỹ thuật né tránh phân tích tĩnh và động
Tải về và thực thi giai đoạn trung gian
Cơ chế duy trì quyền truy cập (Persistence)
Tải và triển khai XWorm v5.6
Phân tích kỹ thuật XWorm RAT và cơ chế C2

Giải mã cấu hình và hạ tầng C2
Khả năng của XWorm RAT
Tác động và Rủi ro bảo mật

Ảnh hưởng hệ thống và doanh nghiệp
Khuyến nghị giám sát và phát hiện xâm nhập
Chỉ số thỏa hiệp (Indicators of Compromise – IOCs)

Phân tích chiến dịch mã độc XWorm RAT

Phương thức lây nhiễm ban đầu

Chiến dịch bắt đầu bằng một tệp tin được ngụy trang thành biên lai ngân hàng Bradesco (ví dụ: “Comprovante-Bradesco…”). Tệp này sử dụng kỹ thuật mở rộng kép (.pdf.js) để xuất hiện như một tài liệu PDF hợp pháp, đánh lừa người dùng không cảnh giác.

Trên thực tế, tệp tin này là một dropper Windows Script Host (WSH), được làm phình to lên khoảng 1.2MB với dữ liệu rác. Đây là một chiến thuật có chủ đích để né tránh các trình quét phân tích tĩnh bỏ qua các tệp quá khổ và để vượt qua các kiểm soát cổng ban đầu.

Kỹ thuật né tránh phân tích tĩnh và động

Payload JavaScript bên trong tệp được làm cho không thể đọc được thông qua kỹ thuật “junk injection” bằng Unicode. Kỹ thuật này nhúng logic độc hại vào các biến chuỗi lớn chứa đầy emoji, homoglyph và các ký tự không phải ASCII.

Một phương pháp tái cấu trúc dựa trên dấu phân cách, sử dụng hàm .replace() đơn giản, loại bỏ các nhiễu ở thời điểm chạy để xây dựng lại lệnh PowerShell. Lệnh này chịu trách nhiệm tìm nạp giai đoạn tiếp theo của mã độc.

Thay vì sử dụng WScript.Shell.Run dễ bị phát hiện hơn, dropper tận dụng WMI (Win32_Process) để tạo một cửa sổ PowerShell ẩn với ShowWindow = 0. Điều này giúp giảm thiểu khả năng hiển thị và kết hợp một độ trễ Sleep(5000) được mã hóa cứng để bỏ qua các heuristic của sandbox.

Tải về và thực thi giai đoạn trung gian

Lệnh PowerShell đã được giải mã liên hệ với một URL Cloudinary được mã hóa cứng — một dịch vụ lưu trữ hình ảnh đáng tin cậy. Mục đích là để tải xuống một tệp trông giống như một tệp JPEG thông thường (optimized_MSI_lpsd9p.jpg) ở ngoại vi mạng.

URL này được xây dựng ở thời điểm chạy bằng cách sử dụng hàm .Replace('#','h') để né tránh phát hiện chuỗi tĩnh, khiến lưu lượng truy cập hòa lẫn với các lượt tải xuống hình ảnh hợp pháp.

Tệp hình ảnh được tải xuống chứa một assembly .NET ẩn giữa các dấu hiệu -BaseStart--BaseEnd- được nhúng. Script PowerShell trích xuất khối dữ liệu được mã hóa Base64 này và tải trực tiếp vào bộ nhớ bằng [Reflection.Assembly]::Load(). Đây là một ví dụ điển hình về kỹ thuật tấn công fileless, đảm bảo Giai đoạn 3 không bao giờ chạm vào ổ cứng, qua đó bỏ qua các trình quét chống virus truyền thống.

Cơ chế duy trì quyền truy cập (Persistence)

Trước khi gọi assembly, loader giải mã một chuỗi đối số Base64 bị đảo ngược, tiết lộ URL payload cuối cùng của XWorm RAT:

voulerlivros[.]com[.]br/arquivo_20260116064120.txt

Thay vì tạo một lệnh cmd.exe /c schtasks /create dễ bị phát hiện, DLL VB.NET của Giai đoạn 3 tương tác trực tiếp với Windows Task Scheduler thông qua giao diện COM (TaskService, TaskDefinition) trong framework .NET.

Cách tiếp cận này không để lại dấu vết command-line, khiến tác vụ được lên lịch xuất hiện trong nhật ký hệ thống mà không có lệnh thực thi tương ứng. Điều này làm mù quáng những người phòng thủ dựa vào giám sát tạo tiến trình.

Điều quan trọng là tác vụ duy trì này không trực tiếp khởi chạy XWorm RAT; thay vào đó, nó thực thi lại loader PowerShell của Giai đoạn 2 mỗi khi đăng nhập, tạo ra một vòng lặp tái lây nhiễm mô-đun.

Tải và triển khai XWorm v5.6

Payload cuối cùng, mặc dù mang phần mở rộng .txt, là một tệp thực thi .NET được mã hóa Base64 ngược, được xác định là XWorm v5.6.

Mã độc tự tiêm vào CasPol.exe (Code Access Security Policy Tool), một tệp nhị phân hợp pháp tại C:WindowsMicrosoft.NETFrameworkv4.0.30319. Nó lạm dụng Living off the Land Binary (LOLBIN) này để hòa lẫn với các tiến trình hệ thống đáng tin cậy.

Bằng cách lạm dụng LOLBIN này, mã độc cố gắng hòa lẫn vào các tiến trình hệ thống đáng tin cậy. Tìm hiểu thêm về tấn công LOLBIN. Tuy nhiên, trong các môi trường sandbox chuyên biệt, sự bất thường này thường được gắn cờ ngay lập tức do hoạt động mạng đáng ngờ bắt nguồn từ một tiện ích đáng tin cậy.

Phân tích kỹ thuật XWorm RAT và cơ chế C2

Giải mã cấu hình và hạ tầng C2

Phân tích tĩnh thông qua dnSpy tiết lộ rằng cấu hình được mã hóa AES-ECB với khóa được tạo ra từ hàm băm MD5 của một mutex được mã hóa cứng. Đây là một triển khai mật mã yếu cho phép giải mã ngoại tuyến. Cấu hình được giải mã cho thấy toàn bộ hạ tầng C2:

(C2 Host 1): 192.168.1.100:8080
(C2 Host 2): evilserver.malicious.net:443
(Mutex Name): XWorm_Mutex_v5.6_Brazil

Khả năng của XWorm RAT

Sau khi XWorm RAT thiết lập quyền kiểm soát thông qua CasPol.exe, kẻ tấn công có thể thu thập các phiên trình duyệt, đánh cắp thông tin đăng nhập, ghi lại các phím gõ (keylogging) và thâm nhập vào các nền tảng email, SaaS và tài chính. Điều này biến một cú nhấp chuột của nhân viên thành một sự cố nghiêm trọng dựa trên danh tính.

Tác động và Rủi ro bảo mật

Ảnh hưởng hệ thống và doanh nghiệp

Ngăn xếp phân phối ít gây tiếng ồn của chiến dịch này làm tăng Thời gian phản ứng trung bình (MTTR). Các sự kiện ban đầu — tải xuống hình ảnh, PowerShell chạy nền, không có tệp nhị phân bị thả — dường như vô hại trong khi tác động thực sự chỉ xuất hiện sau này. Các kịch bản xấu nhất thực tế bao gồm Business Email Compromise (BEC), các khoản thanh toán gian lận và dàn dựng ransomware.

Khuyến nghị giám sát và phát hiện xâm nhập

Các nhóm bảo mật nên ưu tiên ba kiểm soát giám sát dựa trên chuỗi tấn công này:

  • Giám sát lưu lượng mạng: Tìm kiếm các kết nối đến các dịch vụ lưu trữ hình ảnh hoặc CDN từ các tiến trình không liên quan, đặc biệt khi yêu cầu tải xuống tệp không phải hình ảnh (ví dụ: các tệp thực thi ẩn trong hình ảnh).
  • Giám sát tạo tiến trình và hoạt động PowerShell: Phát hiện các tiến trình PowerShell được tạo bởi WMI, đặc biệt với đối số -WindowStyle Hidden hoặc các lệnh thực thi đáng ngờ không có đối số hiển thị trong nhật ký.
  • Giám sát Task Scheduler: Theo dõi việc tạo hoặc sửa đổi các tác vụ được lên lịch thông qua giao diện COM, đặc biệt nếu chúng không liên quan đến các tác vụ quản trị hệ thống thông thường hoặc kích hoạt lại các script PowerShell.

Các thợ săn mối đe dọa có thể truy vấn các nền tảng thông tin tình báo mối đe dọa (threat intelligence) để tìm kiếm các mẫu XWorm RAT mới nhất liên quan đến hạ tầng Brazil và mở rộng điều tra sang các miền phân phối liên quan.

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

  • URL Payload Cuối cùng:voulerlivros[.]com[.]br/arquivo_20260116064120.txt
  • Payload Trung gian (Cloudinary): Các URL có cấu trúc tải xuống tệp hình ảnh như optimized_MSI_lpsd9p.jpg từ Cloudinary, thường có biến thể .Replace('#','h') trong quá trình xây dựng URL.
  • Tiến trình bị lạm dụng (LOLBIN):C:WindowsMicrosoft.NETFrameworkv4.0.30319CasPol.exe
  • Tên Mutex (XWorm v5.6):XWorm_Mutex_v5.6_Brazil