Mã độc ChaosBot, một biến thể mã độc tinh vi được phát triển bằng ngôn ngữ Rust, đã được phát hiện sử dụng nền tảng Discord làm kênh Command and Control (C2) cho các hoạt động độc hại của mình. Đây là một thế hệ mối đe dọa mới, khéo léo ẩn giấu lưu lượng truy cập độc hại bằng cách giao tiếp qua một dịch vụ hợp pháp và phổ biến, gây khó khăn đáng kể cho các công cụ bảo mật truyền thống trong việc phát hiện.
Mô hình hoạt động của ChaosBot
ChaosBot hoạt động bằng cách xác thực thông tin đăng nhập với API của Discord, sau đó tạo một kênh văn bản riêng tư được đặt tên theo máy tính nạn nhân.
Kênh này đóng vai trò như một vỏ bọc tương tác, bí mật (covert shell) nơi kẻ tấn công gửi các lệnh như shell, download, và scr (chụp màn hình) trực tiếp vào kênh.
Máy nạn nhân sau đó gửi kết quả trở lại dưới dạng các tệp đính kèm. Điều này mang lại cho kẻ tấn công trải nghiệm shell tương tác liền mạch qua Discord.
Chi tiết kỹ thuật về ChaosBot
Mã độc ChaosBot được viết bằng ngôn ngữ lập trình Rust, tận dụng thư viện reqwest hoặc serenity để tương tác với API.
Mã độc được cấu hình với bot token, Guild ID (ID máy chủ) và Channel ID (ID kênh) của Discord, cho phép tích hợp liền mạch với cơ sở hạ tầng hợp pháp của nền tảng này.
Đầu tiên, mã độc xác thực bot token bằng một yêu cầu GET đơn giản đến Discord API.
Sau đó, nó tạo một kênh chuyên dụng mới trong máy chủ Discord của kẻ đe dọa, đặt tên theo tên máy tính của nạn nhân.
Mã độc gửi một thông báo ban đầu đến kênh chung, thông báo cho các nhà điều hành về sự xâm nhập mới. Kênh chung trên tất cả các máy chủ liên kết được biết đều có tên là “常规” (có nghĩa là “thông thường” hoặc “chung” trong tiếng Trung), điều này có thể cho thấy các nhà điều hành đang sử dụng phiên bản Discord tiếng Trung hoặc có thành viên nói tiếng Trung.
ChaosBot hoạt động thông qua một vòng lặp liên tục, kiểm tra các tin nhắn mới (lệnh) trong kênh Discord chuyên dụng của nạn nhân.
Lệnh chính để di chuyển ngang (lateral movement) và trinh sát là shell, thực thi các lệnh qua PowerShell với mã hóa UTF8 bắt buộc cho đầu ra.
# Ví dụ về lệnh shell được gửi qua Discord:
"shell powershell.exe -NoP -NonI -Exec Bypass -C \"Get-Service | Select-Object Name, Status\""
Sau khi thực thi lệnh, kết quả (stdout/stderr từ lệnh shell, ảnh chụp màn hình hoặc tệp) được gửi trở lại kênh dưới dạng tệp đính kèm bằng định dạng multipart/form-data.
Kỹ thuật xâm nhập và triển khai ban đầu
Sự xâm nhập ban đầu được tạo điều kiện bởi thông tin xác thực bị đánh cắp của cả CiscoVPN và một tài khoản Active Directory có đặc quyền quá mức tên là “serviceaccount”.
Kẻ tấn công đã tận dụng quyền truy cập này để triển khai và thực thi ChaosBot bằng cách sử dụng Windows Management Instrumentation (WMI) để thực thi lệnh từ xa trên toàn mạng.
Payload của ChaosBot, ngụy trang dưới dạng msedge_elf.dll, được thực thi thông qua kỹ thuật DLL side-loading đối với thành phần hợp pháp identity_helper.exe của Microsoft Edge từ thư mục C:\Users\Public\Libraries.
Trong một phương pháp khác, những kẻ điều hành ChaosBot sử dụng các chiến dịch lừa đảo (phishing) sử dụng các tệp tin phím tắt Windows độc hại (.lnk) được thiết kế để trông giống như thư từ hợp pháp từ Ngân hàng Nhà nước Việt Nam.
Phím tắt này thực thi một lệnh PowerShell để tải xuống và thực thi mã độc ChaosBot, đồng thời tải xuống và mở một tài liệu PDF vô hại để đánh lừa nạn nhân, cung cấp một vỏ bọc lừa dối cho quá trình lây nhiễm.
Tài liệu PDF mồi nhử mô phỏng một thông báo chính thức từ ngân hàng trung ương Việt Nam, với số tham chiếu và ngôn ngữ quy định chính thức về các yêu cầu tuân thủ mới cho các tổ chức tài chính. Tấn công mạng này khai thác quyền lực và uy tín của các tổ chức chính phủ để giảm sự nghi ngờ của nạn nhân trong giai đoạn lây nhiễm quan trọng.
Kỹ thuật chống phân tích và né tránh phát hiện
ChaosBot sử dụng các kỹ thuật tinh vi để né tránh phát hiện và phân tích. Các biến thể mới vá các lệnh đầu tiên của ntdll!EtwEventWrite trong bộ nhớ bằng cách thay thế các lệnh ban đầu bằng xor eax, eax theo sau là ret. Chi tiết về kỹ thuật này cho thấy nỗ lực của kẻ tấn công.
# Kỹ thuật vá ETW (mã giả):
MOV_INSTRUCTION_1 -> XOR EAX, EAX
MOV_INSTRUCTION_2 -> RET
Điều này vô hiệu hóa thành công Telemetry Event Tracing for Windows (ETW) cho tiến trình, cản trở khả năng hiển thị của Endpoint Detection and Response (EDR) và sandbox.
Đây là một điểm mù quan trọng cho phép mã độc ChaosBot hoạt động không bị phát hiện bởi nhiều giải pháp bảo mật hiện đại.
Mã độc cũng kiểm tra địa chỉ MAC của hệ thống so với các tiền tố đã biết cho các máy ảo như VMWare (00:0C:29, 00:50:56, 00:05:69) và VirtualBox (08:00:27).
Nếu tìm thấy kết quả khớp, mã độc sẽ dừng thực thi để né tránh phân tích trong môi trường sandbox, cho thấy nhận thức của kẻ điều hành về các phương pháp nghiên cứu bảo mật và quyết tâm tránh bị phát hiện.
Thiết lập duy trì quyền truy cập (Persistence)
Sau khi xâm nhập ban đầu, các tác nhân đe dọa ngay lập tức tập trung vào việc thiết lập quyền truy cập liên tục bằng cách triển khai công cụ reverse proxy hợp pháp fast reverse proxy (frp).
Tệp thực thi được lưu dưới dạng node.exe với cấu hình trỏ đến một địa chỉ IP của Amazon Web Services (AWS) trong khu vực Châu Á Thái Bình Dương (Hồng Kông).
Kẻ tấn công cũng cố gắng thiết lập một backdoor bổ sung bằng cách sử dụng dịch vụ Visual Studio Code Tunnel hợp pháp.
Điều này cho thấy nỗ lực tích cực trong việc thử nghiệm và tận dụng các tính năng dịch vụ đám mây đáng tin cậy cho khả năng thực thi lệnh.
Chỉ số IOC (Indicators of Compromise)
- Tên payload:
msedge_elf.dll - Vị trí payload:
C:\Users\Public\Libraries\msedge_elf.dll - Mã lệnh PowerShell tiềm ẩn trong file .lnk: Tải xuống và thực thi mã độc.
- Địa chỉ MAC của máy ảo (được ChaosBot kiểm tra):
- VMWare:
00:0C:29,00:50:56,00:05:69 - VirtualBox:
08:00:27
- VMWare:
- Tên tệp persistence:
node.exe(cho công cụ frp) - Kênh Discord C2: Kênh riêng tư tên theo tên máy tính nạn nhân, kênh chung “常规”.
Biện pháp phòng ngừa và giảm thiểu các cuộc tấn công mạng
Để bảo vệ hệ thống khỏi các mối đe dọa như mã độc ChaosBot, các tổ chức cần triển khai các biện pháp bảo mật mạnh mẽ:
- Thực hiện xác thực đa yếu tố (MFA) cho tất cả các điểm truy cập bên ngoài và tài khoản đặc quyền.
- Chủ động giám sát lưu lượng HTTP/S bất thường đến các điểm cuối Discord API.
- Thực thi danh sách ứng dụng được phép (application whitelisting) để ngăn chặn việc thực thi payload trái phép từ các vị trí đáng ngờ như thư mục hồ sơ người dùng Public.
- Thường xuyên tổ chức các buổi đào tạo nâng cao nhận thức về lừa đảo (phishing awareness training) cho nhân viên.
- Sử dụng các giải pháp EDR được cấu hình để phát hiện các kỹ thuật vá bộ nhớ, vốn rất cần thiết để phòng thủ chống lại mối đe dọa đang nổi lên này, vốn vũ khí hóa các nền tảng hợp pháp cho mục đích độc hại, góp phần vào an ninh mạng tổng thể.










