Phân tích MystRodX – Backdoor ẩn mình hơn 20 tháng

1. Tổng quan
Ngày 6/6/2025, hệ thống CTIA (Cyber Threat Insight and Analysis) của XLab – một nền tảng theo dõi, phân tích và cảnh báo các mối đe dọa mạng – đã phát hiện hoạt động bất thường. Một địa chỉ IP là 139.84.156.79 đang phát tán một tệp ELF khả nghi tên dst86.bin.
Điểm đáng chú ý là khi kiểm tra trên VirusTotal, mẫu này chỉ có 4/65 công cụ antivirus (AV) nhận diện, và đa phần gắn nhãn nó là Mirai – một loại malware IoT rất phổ biến. Tuy nhiên, công cụ AI phân tích của XLab lại không gắn nhãn Mirai, tạo ra sự mâu thuẫn. Đây chính là lý do khiến nhóm nghiên cứu đi sâu hơn.
Kết quả cho thấy: dst86.bin không phải là Mirai. Thay vào đó, nó là một dropper – tức là một chương trình chuyên dùng để cài đặt hoặc phát tán phần mềm độc hại khác. Và điều mà dropper này thả xuống chính là một backdoor chưa từng được biết tới trước đây.
Backdoor mới này được XLab đặt tên là MystRodX, dựa trên một số đặc điểm:
Ký hiệu “dst” xuất hiện trong tên file.
Một số class bên trong có tên bắt đầu bằng cmy_.
Thuật toán mã hóa độc đáo dựa trên nhiều lớp XOR.
MystRodX được lập trình bằng ngôn ngữ C++ và mang đầy đủ các chức năng cơ bản của một backdoor, bao gồm:
Quản lý và thao tác file.
Port forwarding (chuyển hướng lưu lượng giữa các cổng).
Reverse shell (mở cửa điều khiển ngược để kẻ tấn công có thể điều khiển hệ thống từ xa).
Quản lý kết nối socket.
Điều làm MystRodX nổi bật không nằm ở việc có nhiều chức năng, mà ở chỗ nó được thiết kế để ẩn mình cực kỳ khéo léo (stealth) và linh hoạt trong cấu hình (flexibility).
2. Stealth & Flexibility
2.1 Stealth
Khác với các malware bình thường chỉ dùng một cách mã hóa duy nhất, MystRodX áp dụng nhiều cơ chế mã hóa khác nhau tùy theo độ nhạy cảm của dữ liệu:
Chuỗi nhạy cảm liên quan đến máy ảo (VM) và trình gỡ lỗi (debugger) → mã hóa bằng XOR 1 byte.
Các khóa AES, payload, gói tin kích hoạt (trigger packets) → dùng thuật toán Transform đặc biệt do tác giả xây dựng.
Cấu hình (configuration) → mã hóa bằng AES chế độ CBC, một chuẩn mạnh mẽ hơn hẳn.
2.2 Flexibility
MystRodX không cứng nhắc. Thông qua file cấu hình, nó có thể:
Chọn giao tiếp qua TCP hoặc HTTP.
Truyền dữ liệu ở dạng plain text hoặc mã hóa AES.
Kích hoạt chế độ thụ động (wake-up mode), tức là không hoạt động ngay mà “nằm yên” cho đến khi nhận được gói tin đặc biệt.
Đặc biệt, trong cấu hình có một trường cho phép chỉ định thời gian kích hoạt. Trong mẫu thu được, thời gian được đặt từ 07/01/2024, 23:10:20. Nghĩa là MystRodX có thể đã lây nhiễm vào hệ thống từ lâu, rồi ngủ đông hơn 20 tháng mà không bị ai phát hiện.
Khi XLab mở rộng điều tra bằng hệ thống săn tìm C2 (C2 hunting platform), nhóm đã phát hiện 3 máy chủ C2 vẫn hoạt động. Điều này cho thấy MystRodX không hề bị bỏ rơi, mà vẫn đang được vận hành trong thực tế.
3. Passive Mode
Một trong những tính năng thú vị nhất của MystRodX chính là Passive Backdoor Mode.
Thông thường, backdoor cần mở một cổng mạng (port) để nhận lệnh từ C2. Điều này dễ bị phát hiện vì các hệ thống bảo mật có thể quét và kiểm tra các port mở. Tuy nhiên, MystRodX có cách khác:
Khi Backdoor Type = 1, MystRodX không mở port nào.
Thay vào đó, nó dùng RAW socket để “nghe lén” toàn bộ lưu lượng đến máy.
Khi gặp một gói tin đặc biệt (DNS hoặc ICMP), nó sẽ kiểm tra, giải mã, và nếu hợp lệ, lập tức kết nối đến C2.

3.1 DNS Trigger
Gói DNS chứa một domain “ngụy trang”. Trong phần tên miền có nhúng một chuỗi mã hóa. MystRodX giải mã chuỗi này bằng thuật toán Transform. Nếu chuỗi giải mã có Magic = “CAT”, backdoor sẽ lập tức kết nối đến IP và port chỉ định để nhận lệnh.
Format:
www.{DomainName}.comDomainName chứa chuỗi Base64 → ciphertext
Giải mã bằng Transform (magic=0x0d, magic2=0xaa, key=key_for_backdoor)
In ra payload kích hoạt như sau:
Magic: “CAT”
Protocol: TCP
Port: 8010
C2: 149.28.137.254
→ Nếu Magic hợp lệ → kết nối C2.

3.2 ICMP Trigger
Payload định nghĩa C2 server (ví dụ: 192.168.96.1:443, HTTP)
Mã hóa bằng Transform (magic2=0x9f)
Khi nhận gói ICMP, MystRodX giải mã → check-in về C2.
→ Khác với SYNful Knock (ẩn trong TCP header), MystRodX ẩn trong payload DNS/ICMP. Cách làm này rất hiệu quả vì lưu lượng ping hoặc DNS thường bị bỏ qua, ít ai giám sát kỹ, giúp backdoor ẩn mình tốt hơn nhiều so với kiểu mở cổng trực tiếp.

4. Infrastructure & C2 Operations
Trong các thử nghiệm, nhóm nghiên cứu:
Gửi gói DNS/ICMP để thử kích hoạt các mẫu, nhưng không nhận được phản hồi. Có thể do chúng có cấu hình khác, key khác, hoặc đã bị thay đổi.
Tuy nhiên, qua các công cụ săn tìm C2, đã phát hiện 3 máy chủ vẫn đang hoạt động. Các máy chủ này thậm chí còn gửi lệnh yêu cầu bot bật chế độ mã hóa lưu lượng.
Đặc biệt, các C2 này sử dụng RSA key riêng cho từng chiến dịch, cho thấy MystRodX được dùng trong nhiều chiến dịch tấn công khác nhau chứ không phải một nhóm duy nhất.
4.1 Bot Activation
Thử gửi trigger DNS/ICMP → không nhận phản hồi.
Nguyên nhân có thể: passive mode bị disable, key/magic khác, cấu hình thay đổi.
4.2 C2 Hunting
Phát hiện 3 active C2
C2 gửi Command 7 → yêu cầu bật traffic encryption
Hạ tầng hoạt động từ 2024 → MystRodX vẫn còn trong chiến dịch hiện tại
4.3 Campaign Attribution
Cấu hình chứa RSA public key để giải mã Command 7
Mỗi chiến dịch dùng key khác nhau → phân biệt chiến dịch
Hai campaign đã biết: “neybquno” và “zoufkcfr”
Hai C2 mới (156.244.6.68, 185.22.153.228) không giải mã được → chiến dịch mới
5. Dropper Analysis
Dropper có nhiệm vụ:
Giải mã và thả ba file: chargen (backdoor), busybox, daytime (launcher).
Kiểm tra checksum để tránh bị giả mạo.
Sử dụng cơ chế dual-process guardian: backdoor giám sát launcher, launcher giám sát backdoor. Nếu một trong hai bị dừng, tiến trình còn lại sẽ khởi động lại. Điều này đảm bảo MystRodX rất khó bị loại bỏ hoàn toàn.
5.1 String Decryption
XOR 1 byte (last byte = key)
Ví dụ:
\x13\x08\x12\x04\x17\x00\x65→ key=0x65 → decrypt=“vmware\x00”Các chuỗi phân loại thành:
VM detection:
/sys/class/dmi/id/bios_vendorchứa vmware, vbox…Debugger detection: process name = gdb, lldb, strace…
Launcher info: PID, filename
5.2 Payload Decryption
Payload mã hóa bằng MystRodX_Transform
Input: magic=key1, magic2=last byte, key=key_for_dropper
Kết quả chứa 3 file:
chargen (core backdoor)
daytime (launcher)
busybox
Checksum xác minh payload trước khi thả file.
5.3 Launcher
Giải mã chuỗi “clog”, “dlog” để log PID
Giám sát tiến trình “chargen”
Nếu backdoor chết → restart
Hình thành dual-process guardian với MystRodX
6. MystRodX Backdoor Analysis
MystRodX hỗ trợ cả TCP và HTTP, có thể bật/tắt AES. Các mẫu hiện tại sử dụng TCP không mã hóa.
6.1 Dual-Process Guardian
daytime giám sát chargen
chargen giám sát lại daytime
Cơ chế tự phục hồi liên tục
6.2 Configuration Decryption
Config mã hóa AES (key được giải mã bằng Transform)
IV:
0D 0F 02 04 08 07 2D 1C 01 04 0D 01 02 07 06 02Config chứa:
Campaign ID
BackdoorType (active/passive)
MainC2 / BackupC2 / Ports
Interval
Public Keys
6.3 Network Protocol
2 mode: TCP / HTTP
Encryption optional
Gói tin TCP:
Len(4B) + MainCode(4B) + SubCode(4B) + Direction(4B) + Data
Trong đó:
MainCode 1: Quản lý chung (beacon, heartbeat, gửi thông tin hệ thống, cập nhật config…).
MainCode 2, 5, 7, 8: Tương ứng reverse shell, quản lý file, port forwarding, quản lý SOCKS.
Nếu bật mã hóa, định dạng gói sẽ có thêm trường CipherText và PlainText length.
7. Detection Landscape
Hiện tại, tỉ lệ phát hiện MystRodX trên VirusTotal chỉ mới 6/65, và đa phần vẫn gắn nhãn Mirai. Lý do là vì MystRodX tái sử dụng kỹ thuật XOR chuỗi của Mirai. Nhiều antivirus dựa vào đặc điểm này để “kết luận” là Mirai. Nhưng thực chất, MystRodX khác hẳn. Đáng chú ý, khi các nhà nghiên cứu chỉnh sửa mẫu (xóa hoặc thay thế chuỗi VM/debugger), thì tỉ lệ phát hiện thậm chí còn giảm. Điều này chứng tỏ cộng đồng bảo mật chưa thật sự nhận diện MystRodX đúng bản chất.
8. Kết luận
MystRodX là một backdoor tinh vi với nhiều điểm khác biệt:
Sử dụng cơ chế mã hóa nhiều lớp để gây khó khăn cho phân tích.
Có khả năng “ngủ đông” và chỉ kích hoạt bằng gói tin DNS/ICMP đặc biệt.
Duy trì hoạt động bền bỉ nhờ cơ chế giám sát kép.
Hạ tầng C2 vẫn còn sống, nhiều khả năng vẫn được vận hành trong các chiến dịch tấn công.
Điểm nguy hiểm nhất là MystRodX có thể tồn tại rất lâu trong hệ thống mà không bị phát hiện, giống như một “kẻ xâm nhập thầm lặng”.
Hiện chưa rõ cách thức xâm nhập ban đầu, mục tiêu cụ thể và ý đồ cuối cùng của kẻ tấn công. Vì vậy, các quản trị viên mạng nên sử dụng thông tin trong báo cáo này để kiểm tra hệ thống, đồng thời cộng đồng an ninh mạng cần hợp tác, chia sẻ thêm dữ liệu và IOC nhằm truy tìm các biến thể chưa bị phát hiện.
9. Khuyến nghị
Với sự phức tạp trong cách thức tấn công của backdoor trên, phía FPT Threat Intelligence đưa ra các khuyến nghị sau:
Tích hợp IOC từ report vào hệ thống SIEM/IDS
Săn tìm bằng trigger DNS/ICMP bất thường
Phân tích traffic TCP port lạ không mã hóa
Chia sẻ thêm mẫu & intel để củng cố phòng thủ cộng đồng
10. IOC
Downloader
- http://139.84.156[.]79/dst-x86.bin
C2 and Campaign
airtel.vpndns.net:443
149.28.130.195:44
149.28.137.254:801
149.28.137.254:8443
156.244.6.68:443
185.22.153.228:443
MD5 Hash
5e3a2a0461c7888d0361dd75617051c6
72d377fa8ccf23998dd7c22c9647fc2a
5bf67ce1b245934965557de6d37f286f
fa3b4d5fd1f6c995395244f36c18ffec
a46f2c771fb580e2135ab898731be9a7
e8fcb7f3f0edfc7d1a99918dc14527d1
1f003437e3d10e07f5ee5f51c61c548f






