Các chiến dịch tấn công mạng gần đây đã cho thấy sự phát triển trong việc sử dụng các trình tải dựa trên BAT để phân phối các Trojan truy cập từ xa (RAT), bao gồm Mã độc XWorm Remcos. Các chiến dịch này thường khởi đầu bằng một tệp lưu trữ ZIP, thường được lưu trữ trên các nền tảng có vẻ hợp pháp như ImgKit, nhằm thu hút người dùng tương tác.
Phương Thức Phân Phối Và Truy Cập Ban Đầu
Chiến dịch khởi đầu với tệp ZIP được thiết kế để bắt chước nội dung lành tính. Khi mở, tệp ZIP sẽ giải nén một script BAT được làm rối mã nguồn cao độ. Script này điều phối chuỗi lây nhiễm còn lại.
Kênh Phân Phối Đa Dạng
Các nhà nghiên cứu bảo mật đã ghi nhận hai phương pháp phân phối chính. Thứ nhất, tệp được gửi dưới dạng tệp đính kèm email trong tệp EML. Thứ hai, tệp được phân phối qua một URL trỏ đến ImgKit. Sự linh hoạt trong các kênh phân phối cho thấy các tác nhân đe dọa đang liên tục cải tiến chiến thuật để tối đa hóa tỷ lệ lây nhiễm.
Lợi Dụng Tệp SVG Cho Truy Cập Ban Đầu
Một tiến bộ đáng chú ý trong Chiến dịch 2 là việc sử dụng các tệp SVG (Scalable Vector Graphics) làm vector truy cập ban đầu. Mã JavaScript độc hại được nhúng trong các tệp SVG này. Khi được hiển thị trong các ứng dụng dễ bị tấn công hoặc xem trước trên các trang lừa đảo, script SVG sẽ tự động kích hoạt tải xuống tệp ZIP tương tự đã được sử dụng trong các chiến dịch trước.
Điều này diễn ra mà không cần bất kỳ lời nhắc nào từ người dùng, biến một tệp hình ảnh tưởng chừng an toàn thành vũ khí. Bằng cách khai thác khả năng scripting của SVG, kẻ tấn công có thể vượt qua các biện pháp phòng thủ biên giới thường bỏ qua các định dạng hình ảnh trong quá trình kiểm tra nội dung chuyên sâu. Sau khi tệp ZIP được đặt, chuỗi lây nhiễm sẽ phản ánh Chiến dịch 1, cuối cùng dẫn đến việc triển khai Mã độc XWorm Remcos.
Để tìm hiểu thêm về phân tích mã độc SVG, bạn có thể tham khảo: Seqrite Blog
Chi Tiết Kỹ Thuật Của BAT Loader
Sau khi giải nén, tệp ZIP sẽ thả một script BAT. Script này sử dụng nhiều lớp làm rối mã nguồn để né tránh các công cụ phát hiện tĩnh. Khi được thực thi, script này sẽ khởi tạo một trình tải dựa trên PowerShell. Trình tải này sẽ tiêm payload RAT trực tiếp vào bộ nhớ, đạt được khả năng thực thi không cần tệp (fileless execution).
Cơ Chế Duy Trì Quyền Truy Cập (Persistence)
Script BAT cũng thiết lập cơ chế duy trì quyền truy cập bằng cách đặt một bản sao vào thư mục Khởi động của Windows. Điều này đảm bảo rằng payload độc hại sẽ thực thi trên mỗi lần khởi động lại hệ thống hoặc đăng nhập của người dùng. Cơ chế duy trì này, tuy đơn giản nhưng hiệu quả, bổ sung cho mô hình tiêm không cần tệp.
Việc này khiến việc phát hiện và khắc phục trở nên thách thức hơn đáng kể. Mục tiêu chung của các biến thể loader là né tránh phát hiện, vô hiệu hóa ghi nhật ký, tải payload vào bộ nhớ và duy trì quyền truy cập để triển khai Mã độc XWorm Remcos.
Phân Tích PowerShell Loader Hai Giai Đoạn
Trình tải PowerShell là một script hai giai đoạn được phân phối dưới dạng đối số dòng lệnh được mã hóa Base64.
Giai Đoạn 1: Vô Hiệu Hóa Bảo Mật Hệ Thống
Giai đoạn đầu tiên định vị và giải mã dữ liệu Base64 được nhúng dưới dạng bình luận trong một tệp BAT bên trong thư mục hồ sơ người dùng. Sau khi giải mã, script sử dụng .NET reflection và dynamic delegates để vá hai cơ chế phòng thủ quan trọng của Windows trong bộ nhớ: Antimalware Scan Interface (AMSI) và Event Tracing for Windows (ETW).
Cụ thể, bằng cách ghi đè các hàm AmsiScanBuffer
và EtwEventWrite
bằng các lệnh no-op (no operation), trình tải sẽ vô hiệu hóa quá trình quét thời gian thực và ghi nhật ký sự kiện. Điều này cho phép các hoạt động độc hại tiếp theo diễn ra mà không bị phát hiện. Khả năng vô hiệu hóa các tính năng bảo mật tích hợp là yếu tố then chốt giúp Mã độc XWorm Remcos hoạt động âm thầm.
# Ví dụ khái quát về kỹ thuật ghi đè hàm (không phải mã thực tế từ payload)
# Lưu ý: Đây chỉ là minh họa khái niệm, mã thực tế phức tạp hơn và sử dụng .NET reflection.
# Sử dụng Marshal.GetDelegateForFunctionPointer hoặc tương tự để tạo delegate
# Ghi đè bộ nhớ tại địa chỉ hàm đích với các lệnh NOP hoặc JMP
# Ví dụ:
# $targetFunction = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer(...)
# $nopBytes = [byte[]](0x90, 0x90, 0x90, 0x90, 0x90) # NOP instructions
# [System.Runtime.InteropServices.Marshal]::Copy($nopBytes, 0, $targetFunction.Method.MethodHandle.GetFunctionPointer(), $nopBytes.Length)
Giai Đoạn 2: Giải Mã và Thực Thi Payload RAT
Giai đoạn thứ hai trích xuất hai assembly .NET đã được mã hóa từ cùng tệp BAT. Các assembly này trải qua quá trình giải mã Base64, giải mã AES bằng khóa và IV được mã hóa cứng, sau đó là giải nén GZIP. Được tải trực tiếp vào bộ nhớ thông qua Assembly.Load
, assembly đầu tiên thực thi ngay lập tức.
Assembly thứ hai nhận các đối số dòng lệnh mô phỏng để giải phóng toàn bộ chức năng của nó, quan trọng nhất là khởi chạy XWorm hoặc Remcos. Điều này cho thấy sự phức tạp trong việc triển khai Mã độc XWorm Remcos. Các biến thể loader cũng đã được xác định, một số tải các tệp thực thi .NET, trong khi những biến thể khác giải mã shellcode để thực thi trực tiếp qua VirtualProtect
và Marshal
delegates.
Payload Cuối Cùng: XWorm và Remcos RATs
XWorm và Remcos, hay còn gọi là Mã độc XWorm Remcos, là những RAT (Remote Access Trojan) mạnh mẽ. Cả hai đều hỗ trợ ghi nhật ký bàn phím (keylogging), thực thi lệnh từ xa (remote command execution), thao tác tệp, chụp màn hình và trích xuất dữ liệu (data exfiltration). Sự kết hợp giữa các kỹ thuật loader tàng hình và các định dạng phân phối phi truyền thống cho thấy một sự leo thang đáng kể trong các phương pháp phân phối RAT.
Khuyến Nghị Phòng Thủ và Phát Hiện Tấn Công
Các chiến dịch này nhấn mạnh xu hướng ngày càng tăng của mã độc không file, làm rối mã nguồn script và các định dạng phân phối phi truyền thống. Để chống lại các mối đe dọa như Mã độc XWorm Remcos, các nhà bảo vệ cần áp dụng các giải pháp phát hiện tấn công dựa trên hành vi. Đồng thời, thực thi kiểm tra nội dung nghiêm ngặt cho tất cả các loại tệp, bao gồm cả SVG.
Nâng cao nhận thức người dùng thông qua đào tạo để phát hiện các tệp đính kèm và liên kết đáng ngờ là cực kỳ quan trọng. Các nền tảng bảo vệ điểm cuối (Endpoint Protection Platforms) phải phát triển để giám sát các mẫu thực thi trong bộ nhớ và phát hiện hoạt động PowerShell bất thường. Điều này giúp duy trì lợi thế trước các mối đe dọa tinh vi này, đảm bảo an ninh mạng cho tổ chức khỏi các tấn công mạng tương tự và các biến thể Mã độc XWorm Remcos trong tương lai.