Skip to main content

Command Palette

Search for a command to run...

Open Directory, Open Season: Mổ xẻ JFMBackdoor của Red Lamassu

Updated
16 min read
Open Directory, Open Season: Mổ xẻ JFMBackdoor của Red Lamassu

Tóm tắt cho lãnh đạo

Một open directory cấu hình sai đã làm được điều mà nhiều năm hoạt động lén lút không cho phép: nó trao cho đội threat hunting toàn bộ bộ công cụ của Red Lamassu (còn được theo dõi với tên CalypsoBronze Medley) — nhóm gián điệp China-nexus mà PwC theo dõi từ năm 2019. Ngày 21/05/2026, PwC Threat Intelligence và Black Lotus Labs (Lumen) công bố nghiên cứu phối hợp — PwC tập trung mảng Windows, Lumen mảng Linux — phơi bày một cặp implant: backdoor Windows đầy đủ chức năng tên JFMBackdoor, và framework hậu khai thác trên Linux tên Showboat (PwC gọi là kworker; Kaspersky gọi là EvaRAT).

Với một nhà mạng hay đơn vị hạ tầng trọng yếu, rủi ro không nằm ở một lần xâm nhập mà ở gián điệp dài hạn: mục tiêu của Red Lamassu là chỗ đứng bền vững để thu thập tình báo trong nhiều năm, và bộ công cụ của nhóm biến một nhà mạng bị xâm nhập thành bàn đạp tiến sâu vào mạng nội bộ. Mục tiêu xác nhận tập trung vào lĩnh vực viễn thông và cơ quan chính phủ tại Kazakhstan, Afghanistan và Ấn Độ, cùng hoạt động liên quan trên khắp khu vực châu Á – Thái Bình Dương.

Hành động quan trọng nhất cần làm ngay: hunt DLL side-loading bất thường từ %TEMP% và sự tồn tại của artifact C:\Users\public\jfm — cả hai là dấu vân tay đáng tin cậy của chuỗi tấn công này.


Phát hiện & Timeline

OPSEC của Red Lamassu sơ hở trong khoảng tháng 7–10/2025, khi PwC quan sát một open directory đặt trên 23.27.201[.]160. Phần lớn file trong đó là các mắt xích của một chuỗi lây nhiễm thống nhất; hai ngoại lệ — clear (công cụ giả mạo/ xoá log trên Linux) và systemd-ac-update (một mẫu Showboat/kworker) — chỉ thẳng tới hoạt động đa nền tảng của nhóm.

Thời gian Sự kiện
2019 PwC bắt đầu theo dõi Red Lamassu / Calypso [NEEDS VERIFICATION: một số nguồn khác xác định nhóm hoạt động từ tháng 9/2016 — xem phần Tham khảo]
07–10/2025 Open directory hoạt động trên 23.27.201[.]160
21/05/2026 Công bố phối hợp — PwC (JFMBackdoor / Windows) + Lumen Black Lotus Labs (Showboat / Linux)

Hạ tầng C2 có "đuôi" dài hơn nhiều. Một chứng chỉ TLS gắn với domain C2 newsprojects[.]online đã xuất hiện trên nhiều host từ tận năm 2023, cho thấy hạ tầng chiến dịch có trước open directory bị lộ nhiều năm.


Hồ sơ Threat Actor — Red Lamassu (Calypso)

Red Lamassu là actor đặt tại Trung Quốc mà PwC đánh giá nhiều khả năng hoạt động từ tỉnh Tứ Xuyên (Sichuan) — các nguồn khác gắn hạ tầng C2 với Thành Đô (Chengdu), thủ phủ của tỉnh. Nhóm dựa vào tổ hợp công cụ tự phát triển và công cụ dùng chung để thiết lập và duy trì chỗ đứng dài hạn phục vụ thu thập tình báo.

Vài đặc điểm khiến nhóm đáng chú ý với phía phòng thủ:

  • Vùng địa lý "im ắng". Mục tiêu tập trung vào các khu vực mà vendor bảo mật phương Tây có ít visibility hơn — Afghanistan, Kazakhstan, Ấn Độ, kèm báo cáo liên quan nhắc tới Thái Lan và Thổ Nhĩ Kỳ — đó là một phần lý do nhóm ít được ghi nhận trong nhiều năm.
  • Công cụ "quân nhu" dùng chung. Red Lamassu trong lịch sử dùng PlugX — họ malware được chia sẻ rộng rãi giữa các nhóm China-nexus, và Showboat nằm cùng hệ sinh thái dùng chung này bên cạnh các framework như ShadowPad. Việc "gộp tài nguyên" (resource pooling) là dấu hiệu lặp lại của hoạt động China-nexus và làm phức tạp việc quy kết dứt khoát.
  • Đa nền tảng. Việc ghép backdoor Windows (JFMBackdoor) với framework Linux (Showboat) cho phép nhóm hoạt động thoải mái trên môi trường lai (mixed estate) vốn điển hình ở hạ tầng viễn thông.

Luồng tấn công — Chuỗi DLL Side-Loading

Chuỗi trên Windows là một trình tự DLL side-loading kinh điển, xây quanh một binary hợp lệ có chữ ký. PwC lưu ý một điểm lạ: dropper 1.bat sẽ không chạy nguyên trạng — nhưng từng lệnh bên trong vẫn hoạt động khi chạy riêng lẻ, gợi ý script được thiết kế để đưa qua một bộ obfuscator trước khi triển khai.

flowchart TD
    A["1.bat (dropper)<br/>PowerShell -WindowStyle Hidden"] -->|Invoke-WebRequest| B["%TEMP%<br/>flt.bin · FLTLIB.dll · scr.mui · fltMC.exe"]
    B --> C["fltMC.exe<br/>(binary hợp lệ, có chữ ký)"]
    C -->|DLL side-loading| D["FLTLIB.dll<br/>(loader độc hại)"]
    D -->|giải mã XOR — key Zs0@31=KDw.*7ev| E["scr.mui<br/>(config mã hoá)"]
    D -->|nạp vào bộ nhớ| F["flt.bin<br/>(shellcode stub)"]
    F -->|decode + reflective load| G["JFMBackdoor<br/>(Win32 DLL, PE in-memory)"]
    G -->|TCPSession / WSSession / WSSSession| H["C2: namefuture[.]site"]

Từng bước:

  1. 1.bat dùng cửa sổ PowerShell ẩn để tải flt.bin, FLTLIB.dll, scr.muifltMC.exe vào %TEMP%, rồi khởi chạy fltMC.exe.
  2. fltMC.exe là executable hợp lệ, side-load file FLTLIB.dll của kẻ tấn công.
  3. FLTLIB.dll mở scr.mui và giải mã XOR bằng key Zs0@31=KDw.*7ev. Định dạng file là chuỗi bản ghi: 4 byte độ dài đã mã hoá XOR, theo sau là khối dữ liệu mã hoá. Config sau giải mã được dùng chung bởi cả FLTLIB.dll lẫn payload cuối.
  4. FLTLIB.dll sau đó nạp flt.bin — một shellcode stub — vào bộ nhớ và thực thi.
  5. flt.bin decode và reflectively load PE nhúng cuối cùng: một Win32 DLL ~1.12 MB chính là JFMBackdoor. Config scr.mui sau giải mã để lộ các đường dẫn hardcode và domain C2 trong hai bộ mẫu quan sát được:
# Bộ mẫu 1
flt.bin · FLTLIB.dll · fltMC.exe
C:\Program Files (x86)\Windows Mail\wabmig.exe
C:\ProgramData\Microsoft\Network
SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows
namefuture[.]site
 
# Bộ mẫu 2 (mẫu bổ sung)
sl.bin · sllauncherloc.dll
C:\Windows\SysWOW64\msdt.exe
C:\ProgramData\Microsoft\Network
en[.]cumm[.]info · xcent[.]online · cumm[.]info

Mổ xẻ JFMBackdoor

Backdoor lấy tên từ một đường dẫn hardcode bên trong malware, C:\Users\public\jfm. Nó được xây trên thư viện CppServer và điều khiển hoạt động qua các class TCPSession, WSSessionWSSSession, liên lạc với C2 tại namefuture[.]site.

Năng lực rất rộng, đúng kiểu một implant gián điệp toàn diện:

Năng lực Chi tiết
Remote shell Hai biến thể reverse shell. Biến thể thứ hai khởi chạy ở trạng thái suspended, rồi dùng FreeConsole + AttachConsole để tách khỏi console, né bị các tiến trình khác kiểm tra.
Hệ thống file Đọc/ghi/copy/di chuyển/xoá file và thư mục, liệt kê thư mục đệ quy, tìm file theo pattern, thực thi file, timestomping (SetFileTime), và sửa thuộc tính.
Network proxy Thiết lập phiên TCP proxy — biến host thành điểm pivot.
Quản lý process & service Liệt kê / tạo / kết thúc process; liệt kê / start / stop / xoá service Windows.
Network recon Đọc bảng kết nối TCP/UDP (GetExtendedTcpTable / GetExtendedUdpTable) và có thể thao tác entry TCP (SetTcpEntry).
Registry CRUD đầy đủ — liệt kê, tạo, sửa, đổi tên, xoá key và value.
Chụp màn hình Dùng GDI+ (gdiplus.dll), sau đó mã hoá Base64 và XOR ảnh trước khi ghi ra đĩa để exfil.
Tự quản lý Tạo/nạp lại config và service mã hoá, và có thể tự gỡ cài đặt (registry, service, file trên đĩa) để chống điều tra (anti-forensic).
Quản lý config Lưu/nạp lại config mã hoá từ scr.muibtasc.cfg, cho phép operator cập nhật hành vi động.

Một số command code tiêu biểu

JFMBackdoor điều phối theo cấu trúc command + sub-command. Một số mục chọn lọc từ bảng đầy đủ của PwC (Appendix B trong báo cáo gốc):

Command Sub Hành động
0xD 0xA Reverse shell qua CreatePipe + CreateProcessW
0xAD 0xA Reverse shell ẩn — chạy suspended, rồi FreeConsole/AttachConsole để né kiểm tra
0xE 0x10 Timestomp một file (SetFileTime)
0xF 0x1 Bắt đầu phiên TCP proxy
0x11 Tự gỡ cài đặt (registry, service, kết thúc, xoá khỏi đĩa)
0x20 0x0 Thu thập bảng TCP/UDP (GetExtendedTcpTable / GetExtendedUdpTable)
0x30 0x0 Tạo thư mục C:\Users\public\jfm, ghi config btasc.cfg
0x41 0x1 Ghi registry (RegSetKeyValueW)
0xCE 0x2 Chụp màn hình qua gdiplus.dll, lưu dạng Base64 + mã hoá XOR
0xCF 0x0 Nạp lại config từ scr.mui
0xF1 0x1 Xoá một service Windows (DeleteService)

Hạ tầng C2 — PwC đã ráp nối thế nào

JFMBackdoor và các mẫu đi kèm dùng bốn domain C2: namefuture[.]site, cumm[.]info, en[.]cumm[.]info, và xcent[.]online, tất cả đều ẩn sau Cloudflare. PwC pivot qua chứng chỉ TLS để bóc lớp Cloudflare và nối backdoor Windows với hạ tầng Showboat trên Linux.

flowchart LR
    subgraph JFM["JFMBackdoor (Windows)"]
        D1["namefuture[.]site"]
    end
    subgraph KW["Showboat / kworker (Linux)"]
        D2["newsprojects[.]online"]
    end
    D1 -->|Cloudflare Origin cert| IP1["166.88.11[.]196"]
    D1 -->|DNS| IP2["139.180.223[.]193"]
    IP1 -->|cùng cert phục vụ| D2
    IP2 -->|cùng cert phục vụ| D2
    D2 -->|DNS| IP3["64.227.128[.]21"]
    D2 -->|DNS| IP4["23.27.201[.]115"]
    IP4 -->|cũng resolve| D3["xcent[.]online"]
    OMO["Cert O=My Organization<br/>fp 27df4756...0c677"] -->|host trên| IP5["195.86.120[.]2"]
    IP5 -->|cùng chỗ với| AFG["Cert chính phủ Afghanistan +<br/>cert DC nhà mạng Afghanistan"]

Hai bước pivot làm phần việc nặng nhất:

  • Chứng chỉ Cloudflare Origin cho namefuture[.]site được phục vụ bởi 166.88.11[.]196 (kèm một DNS resolution bổ sung tới 139.180.223[.]193). Chính các IP đó cũng phục vụ chứng chỉ Cloudflare cho newsprojects[.]online — C2 của một mẫu kworker/Showboat quan sát được — nối trực tiếp phía Windows và phía Linux.
  • Một chứng chỉ tự ký với subject O=My Organization (fingerprint 27df4756...0c677) được host trên 195.86.120[.]2 — IP này cũng từng host một chứng chỉ hợp lệ của một cơ quan chính phủ Afghanistan và một chứng chỉ gắn với domain controller của một nhà mạng viễn thông Afghanistan — tín hiệu mục tiêu mạnh, được củng cố bởi việc FLTLIB.dll được upload lên một dịch vụ quét đa AV từ người gửi ở Afghanistan.

IOC

IOC chính thức được PwC công bố trên GitHub (xem phần Tham khảo). Danh sách dưới đây tái hiện lại để tiện tra cứu.

# === SHA-256 — open directory (23.27.201[.]160) ===
systemd-ac-update  a05fbe8734a5a5a994a44dee9d21134ad7108d24ab0749499fe24fc4b36c4cbc
FLTLIB.dll         047307aca3a94a6fc46c4af25580945defb15574fb236d13d2bb48037cc42208
clear              ac50887e2c513b50b2170d77441b9f7e8afcc774df6b54fdd8aac863095239f4
1.bat              a23d126f0446755859e4d81c0c9b50b65e0062c3de2a014c543f6b263321ad78
scr.mui            ea57b5768c84164fcdb25bb8338d660c5586e17e37cee924c4e5a745510925f3
fltMC.exe          cbef2064cf49b4b27dbf7d0c88c8f7bcdd6a7f25ee9c087beacb48cdd1b78731
flt.bin            b77a233735ff237ab964d2bdb3f6d261a90efb2f86dcde458c419cee528686a9
 
# === SHA-256 — payload JFMBackdoor (PE in-memory) ===
JFMBackdoor        176aec5d33c459a42e7e4e984a718c52e11213ef9a6aa961b483a836fc22b507
 
# === SHA-256 — mẫu bổ sung dùng chung key XOR Zs0@31=KDw.*7ev ===
CiWinCng32.dll     b118f74dc2b974678a50349d04686f6b2df4b287a69e40c4513cd603c7271793   (KZ)
scr.mui            1003bc9e3650fd290e44fd79b270c1b29f572fbb7647fa2bbf1f600d53673b53   (CN)
sllauncherloc.dll  f820e4e4c5d433714842f6d64d1a8773958f782cde8d27f6a54d4f9862598933   (CN)
 
# === Network — domain C2 ===
namefuture[.]site
cumm[.]info
en[.]cumm[.]info
xcent[.]online
newsprojects[.]online      (C2 của kworker/Showboat)
 
# === Network — IP ===
23.27.201[.]160     (open directory)
23.27.201[.]115     (resolve xcent[.]online)
166.88.11[.]196
139.180.223[.]193
64.227.128[.]21
166.88.99[.]32
66.42.49[.]27
45.76.157[.]243
207.90.205[.]55
193.124.93[.]153
152.32.159[.]11
195.86.120[.]2      (host cert O=My Organization)
 
# === Host-based ===
Folder    C:\Users\public\jfm   (và các thư mục con \ProgramData, \UnistoreDB)
File      btasc.cfg             (config mã hoá)
File      scr.mui               (config mã hoá)
Pattern   fltMC.exe + FLTLIB.dll thực thi từ %TEMP%
 
# === Crypto ===
XOR key   Zs0@31=KDw.*7ev       (giải mã scr.mui / config)
 
# === Fingerprint chứng chỉ TLS ===
27df475626aafce2ea1548a9f35efb9ad951298c8b11a6adb3ccdfcd5170c677   (O=My Organization)
5e86298e3a62404ee4b019246d8da7a7451ba8f9c1f956c32ea4a0ff4e43f553   (namefuture[.]site, Cloudflare)
8b0e14e0684e00aee9cbf4fd22b2a5da08443f9a0f9ace4972803e29050bcc69   (newsprojects[.]online, Cloudflare)

MITRE ATT&CK Mapping

Mapping do analyst thực hiện dựa trên mô tả kỹ thuật của PwC; đây là mapping của chúng tôi, không phải Navigator layer chính thức của PwC.

Tactic Technique ID Bằng chứng
Execution PowerShell T1059.001 1.bat chạy PowerShell ẩn
Execution Windows Command Shell T1059.003 Reverse shell qua cmd
Execution Service Execution T1569.002 sc start, khởi chạy service
Command & Control Ingress Tool Transfer T1105 Invoke-WebRequest tải payload
Defense Evasion DLL Side-Loading T1574.002 fltMC.exe side-load FLTLIB.dll
Defense Evasion Deobfuscate/Decode Files T1140 Giải mã XOR scr.mui
Defense Evasion Reflective Code Loading T1620 flt.bin nạp PE trong bộ nhớ
Defense Evasion Obfuscated Files or Information T1027 Config XOR, screenshot Base64+XOR
Defense Evasion Indicator Removal: Timestomp T1070.006 SetFileTime
Defense Evasion Indicator Removal: File Deletion T1070.004 Tự gỡ khỏi đĩa
Defense Evasion Modify Registry T1112 Registry CRUD
Defense Evasion Hide Artifacts T1564 Reverse shell tách console
Discovery Process Discovery T1057 Liệt kê process
Discovery System Service Discovery T1007 Liệt kê service
Discovery System Network Connections Discovery T1049 Bảng TCP/UDP
Collection Screen Capture T1113 Screenshot GDI+
Command & Control Proxy T1090 Phiên TCP proxy
Command & Control Web Protocols T1071.001 Phiên C2 WS/WSS

Bức tranh lớn — JFMBackdoor và BPFdoor

Nên hiểu JFMBackdoor như một mảnh của làn sóng China-nexus rộng hơn nhắm vào viễn thông toàn cầu. Việc đặt cạnh BPFdoor — implant Linux nằm trong kernel mà Rapid7 quy cho một nhóm khác là Red Menshen — rất có tính khai sáng.

JFMBackdoor (và Showboat đi kèm) đầy đủ chức năng nhưng, theo đánh giá của Black Lotus Labs, không quá phá cách: một backdoor full-feature mà "chiêu" mạnh nhất ở phía Linux là khả năng quét và lây nhiễm các thiết bị nội bộ trong LAN vốn không hề expose ra internet. Ngược lại, BPFdoor là chuyên gia living-off-the-land — nằm im trong kernel Linux, kiểm tra traffic để chờ một magic packet — và từ khoảng tháng 11/2025 đã được nâng cấp để chỉ tìm trigger bên trong các request HTTPS. Như Christiaan Beek của Rapid7 diễn đạt, kẻ tấn công về bản chất đang biến chính firewall của bên phòng thủ thành kênh phân phối.

Điểm chung — và là điều khiến phía phòng thủ telco/tài chính phải lo nhất — là: dwell time nhiều năm, công cụ dùng chung giữa các nhóm, và việc cố tình nhắm vào những khu vực, nhà cung cấp có độ trưởng thành giám sát còn hạn chế. Malware khác nhau, nhưng cùng một playbook.


Nhận định

Chi tiết quan trọng về mặt vận hành ở đây không phải là danh sách tính năng của JFMBackdoor — rất nhiều backdoor làm được reverse shell và screenshot — mà là cách nó vào được. Một fltMC.exe hợp lệ, có chữ ký, side-load một FLTLIB.dll độc hại từ %TEMP% sẽ vô hiệu hoá các kiểm soát ngây thơ dựa trên signature hoặc allow-list theo nhà phát hành, bởi tiến trình thực thi đúng là được Microsoft ký. Đây chính xác là loại hoạt động mà giám sát thụ động, dựa trên signature, sẽ bỏ lọt, và là thứ mà threat hunting hành vi bắt được: điểm bất thường không nằm ở binary, mà ở sự ghép cặp — một tiện ích hệ thống nạp DLL từ một đường dẫn temp người dùng ghi được, rồi tạo phiên mạng tới một domain ẩn sau Cloudflare.

Với các đội SOC tại Việt Nam, mức độ liên quan là trực tiếp chứ không trừu tượng. Mục tiêu xác nhận của Red Lamassu đã trải khắp Đông Nam Á (Thái Lan) và Nam Á (Ấn Độ), và các doanh nghiệp viễn thông, tài chính ở đây đang vận hành đúng kiểu môi trường lai Windows/Linux mà actor này được "thiết kế" để hoạt động. C2 ẩn sau Cloudflare là cái "gai" thực tế: nếu giám sát egress của bạn chỉ flag các IP "known-bad", traffic này trông như HTTPS bình thường tới một CDN. Việc phát hiện phải dịch lên cao hơn trong stack — sang phân tích chứng chỉ, fingerprint JA3/JA4, và hành vi beaconing — chứ không dừng ở lớp IP-reputation.

Đọc theo góc chiến lược: đây là gián điệp kiên nhẫn, mang tính khu vực, tập trung vào hạ tầng — không phải kiểu "đánh nhanh rút gọn". Tư thế phòng thủ đúng là hunt chủ động và giả định dwell time dài, thay vì ngồi chờ một alert nổ.


Khuyến nghị

Ngay lập tức (0–24h)

  • Hunt artifact host C:\Users\public\jfm (và các thư mục con \ProgramData, \UnistoreDB) cùng các file config btasc.cfg / scr.mui.

  • Hunt fltMC.exeFLTLIB.dll thực thi từ %TEMP% hoặc bất kỳ đường dẫn nào người dùng ghi được — ví dụ điểm khởi đầu bằng KQL:

    DeviceProcessEvents
    | where FileName =~ "fltMC.exe"
    | where FolderPath has_any ("\\Temp\\", "\\AppData\\")
    | join kind=inner (
        DeviceImageLoadEvents
        | where FileName =~ "FLTLIB.dll"
    ) on DeviceId
    
  • Block/alert các domain và IP C2 trong danh sách IOC tại egress và DNS. Ngắn hạn (1–7 ngày)

  • Triển khai detection cho pattern DLL side-loading nói chung — một binary hợp lệ có chữ ký nạp DLL từ thư mục phi chuẩn, người dùng ghi được — chứ không chỉ riêng các tên file cụ thể này.

  • Thêm hunting dựa trên chứng chỉ: fingerprint cert tự ký O=My Organization, và beaconing tới các domain ẩn sau Cloudflare có lịch sử trong doanh nghiệp thấp. Bổ sung JA3/JA4 nếu có.

  • Quét tìm timestomping (bất thường SetFileTime) và các PE được reflectively load trong bộ nhớ trên các host hướng viễn thông và host giá trị cao. Dài hạn

  • Chuyển từ giám sát thụ động, dựa trên signature, sang threat hunting chủ động, giả định dwell time nhiều năm với lớp actor này.

  • Coi HTTPS outbound tới hạ tầng ẩn sau CDN là một bề mặt phát hiện hạng nhất (phân tích beacon, tình báo chứng chỉ), không phải làn tin cậy mặc định.

  • Với nhà mạng/hạ tầng trọng yếu, phân vùng và giám sát các segment LAN nội bộ không hướng internet — năng lực quét-và-lây-nhiễm LAN của malware Linux đi kèm nhắm cụ thể vào phần mạng phía sau perimeter.


Tài liệu tham khảo

  1. PwC — Inside Red Lamassu's JFMBackdoor
  2. PwC — IOCs (GitHub)
  3. Lumen Black Lotus Labs — Introducing Showboat
  4. Dark Reading — Chinese APTs Share Linux Backdoor in Telco Attacks
  5. Dark Reading — China Upgrades the Backdoor (BPFdoor / Red Menshen — đối chiếu)
  6. The Hacker News — Showboat Linux Malware Hits Middle East Telecom

More from this blog

F

FPT IS Security

817 posts

Dedicated to providing insightful articles on cybersecurity threat intelligence, aimed at empowering individuals and organizations to navigate the digital landscape safely.