Tấn công điều hướng web: Gián điệp từ Trung Quốc nhắm vào các nhà ngoại giao

Just a SOC Analyst ^^
Phát hiện chiến dịch
Tháng 3/2025, Google Threat Intelligence Group (GTIG) phát hiện chiến dịch tinh vi do nhóm UNC6384 – gắn với Trung Quốc – thực hiện. Mục tiêu là các nhà ngoại giao Đông Nam Á và nhiều tổ chức toàn cầu, phục vụ hoạt động gián điệp mạng phù hợp với lợi ích chiến lược của Trung Quốc.
Chiến dịch khai thác captive portal redirect để phát tán malware STATICPLUGIN, từ đó triển khai backdoor SOGU.SEC (PlugX). Kỹ thuật bao gồm: chứng chỉ ký code hợp lệ, tấn công người-ở-giữa (AitM), và thực thi gián tiếp để né tránh phát hiện.

Hình 1. Sơ đồ chuỗi tấn công
Kỹ thuật tấn công
Chiến dịch kết hợp giữa việc chiếm quyền điều hướng lưu lượng web ở tầng mạng với giả mạo giao diện người dùng ở tầng trình duyệt, rồi tận dụng chứng chỉ hợp lệ để đánh lừa các cơ chế tin cậy phía endpoint. Kỹ thuật mấu chốt của cuộc tấn công là captive portal hijack + AitM, dẫn nạn nhân đến một trang “cập nhật plugin” hợp pháp giả mạo và buộc tải về trình tải xuống đã được ký số.
Captive portal hijack / AitM chuyển hướng lưu lượng
Trình duyệt (Chrome) kiểm tra captive portal bằng yêu cầu HTTP tới URL cố định
http://www.gstatic.com/generate_204.Kẻ tấn công (thông qua thiết bị biên bị xâm nhập) chèn chuỗi chuyển hướng, đẩy nạn nhân tới trang đích do chúng kiểm soát, mở đường phát tán payload.
Mục tiêu: đánh cắp xác thực tin cậy ngay lúc trình duyệt đang làm thủ tục kiểm tra kết nối, nơi người dùng ít nghi ngờ nhất.

Hình 2. Chuỗi tấn công Captive portal redirect
Trang “cập nhật plugin” dùng TLS hợp lệ để né cảnh báo
Giao diện giả lập trang cập nhật phần mềm, dùng HTTPS với chứng chỉ Let’s Encrypt (CN=R10, CN=mediareleaseupdates[.]com, hiệu lực 17/05–15/08/2025).
Lợi ích: không hiện “Not Secure/Your connection is not private”, mã hóa luồng khiến phòng thủ dựa trên kiểm tra nội dung khó phát hiện.
Kịch bản JS tự động tải mã độc + hướng dẫn vượt chính sách
Tập lệnh
style3.jsgắn vào trang, khi người dùng bấm “Install Missing Plugins…” sẽ chạy hàmmyFunction()để:Thay nền trang bằng ảnh base64 chứa hướng dẫn thao tác (xúi người dùng tắt bảo vệ/bỏ qua cảnh báo).
Điều hướng
window.locationtớihttps[:]//mediareleaseupdates[.]com/AdobePlugins.exeđể tải tự động file thực thi.
Thao túng tâm lý nạn nhân: ảnh “hướng dẫn từng bước” + nhãn “plugin thiếu” làm người dùng chủ quan.

Hình 3. Landing page của phần mềm độc hại
Tải xuống file độc hại đã ký số để vượt qua phòng thủ endpoint
AdobePlugins.exelà STATICPLUGIN, được ký bởi GlobalSign dưới danh nghĩa Chengdu Nuoxin Times Technology Co., Ltd.Chữ ký ngày 09/05/2025 (cert hết hạn 14/07/2025), cho thấy kẻ tấn công có chuỗi cung cấp chứng chỉ và có thể tái ký biến thể mới khi hết hạn.
Chuỗi tải xuống nhiều tầng / DLL side-loading
STATICPLUGIN dùng COM Installer tải tệp “
20250509.bmp” (thực chất là gói MSI).Gói MSI cài 3 tệp, trong đó thực thi hợp pháp Canon IJ Printer Assistant Tool (
cnmpaui.exe) sẽ side-load DLL độc hạicnmpaui.dll(CANONSTAGER) để giải mã và nạp SOGU.SEC vào bộ nhớ.Kết quả: payload chạy in-memory, giảm bề mặt phát hiện dựa vào file.

Hình 4. Landing page của phần mềm độc hại sau khi tải xuống
Phân tích mã độc
Về kỹ thuật, chuỗi triển khai được thiết kế để “đi đường vòng” mọi nơi có thể: từ tín hiệu tin cậy của trình duyệt (HTTPS), chữ ký code (signed binary), tới cơ chế nạp DLL hợp pháp và thực thi gián tiếp qua message queue. Mục tiêu là che giấu luồng hoạt động và tránh gây động tĩnh cho EDR/AV.
STATICPLUGIN (downloader, ngụy trang & ký số hợp lệ)
Giao diện TForm giả dạng bộ cài Microsoft Visual C++ 2013 Redistributables để hợp thức hóa hành vi tải/cài.
Dùng Windows COM Installer tải
https[:]//mediareleaseupdates[.]com/20250509[.]bmp(MSI trá hình).Ý đồ: mượn tính hợp pháp của bộ cài/ứng dụng có chữ ký để tránh sự chú ý.

Hình 5. Trình tải xuống có chữ ký số hợp lệ
CANONSTAGER (launcher, DLL side-load + ẩn luồng)
Side-loading:
cnmpaui.exe(hợp pháp) nạpcnmpaui.dll(độc hại) theo thứ tự tìm kiếm DLL của Windows.API hashing + Thread Local Storage (TLS)
Tự giải tên API bằng hash để che giấu dấu vết API.
Lưu địa chỉ hàm đã resolve vào mảng TLS (trong TIB) thay vì vùng dữ liệu “đáng ngờ”, khiến công cụ phân tích tĩnh dễ bỏ sót.

Hình 6. Ví dụ về lưu trữ địa chỉ hàm trong mảng TLS
Thực thi gián tiếp qua Window Procedure + Message Queue
Đăng ký WNDCLASS với Window Procedure tùy biến, tạo Overlapped Window kích thước 0×0 (ẩn).
Gửi thông điệp
WM_SHOWWINDOW (0x0018)vào message queue (quaShowWindow), rồi chạy message loop tiêu chuẩn:GetMessageW→TranslateMessage→DispatchMessage.Khi WindowProc nhận
WM_SHOWWINDOW, tạo thread mới để:Đọc
cnmplog.dat(đã cài từ MSI)Giải mã RC4 bằng key 16 byte hard-code
Nạp SOGU.SEC in-memory và kích hoạt qua callback
EnumSystemGeoID.
Lợi điểm: luồng hoạt động bị phân tán/ẩn trong cơ chế hợp pháp của Windows, giảm cảnh báo hành vi bất thường.

Hình 7. Tổng quan về việc thực thi CANONSTAGER bằng cách sử dụng Windows message queue
SOGU.SEC (backdoor, in-memory, C2 trực tiếp)
Chức năng: thu thập thông tin hệ thống, tải lên/xuống tệp, thực thi remote shell.
Có thể giao tiếp HTTPS trực tiếp tới IP
166.88.2[.]90(không cần tên miền), làm khó chiến lược chặn theo domain.Toàn bộ chuỗi sau side-loading diễn ra trong bộ nhớ, hạn chế IOC dạng file và khó bị AV/EDR dựa chữ ký phát hiện.

Hình 8. Callback function thực thi trong SOGU.SEC
Tóm lại: Chuỗi tấn công là một đường hầm được xây dựng thông suốt từ tầng mạng (captive portal) → trình duyệt (HTTPS, UI hợp pháp) → endpoint (binary ký số, app hợp pháp) → thực thi nội bộ Windows (message queue/callback), để đưa SOGU.SEC vào bộ nhớ gần như không để lại dấu vết.
Các IOCs liên quan đến mã độc
| Filename | Value | Description |
| cnmpaui.exe | 4ed76fa68ef9e1a7705a849d47b3d9dcdf969e332bd5bcb68138579c288a16d3 | Canon IJ Printer Assistant Tool |
| cnmpaui.dll | e787f64af048b9cb8a153a0759555785c8fd3ee1e8efbca312a29f2acb1e4011 | CANONSTAGER |
| cnmplog.dat | cc4db3d8049043fa62326d0b3341960f9a0cf9b54c2fbbdffdbd8761d99add79 | RC4 Encrypted SOGU.SEC |
| AdobePlugins.exe | 65c42a7ea18162a92ee982eded91653a5358a7129c7672715ce8ddb6027ec124 | |
| 20250509.bmp (MSI) | 3299866538aff40ca85276f87dd0cefe4eafe167bd64732d67b06af4f3349916 | |
| SOGU.SEC (memory only) | d1626c35ff69e7e5bde5eea9f9a242713421e59197f4b6d77b914ed46976b933 | |
| mediareleaseupdates[.]com | c8744b10180ed59bf96cf79d7559249e9dcf0f90 | |
| AdobePlugins.exe | eca96bd74fb6b22848751e254b6dc9b8e2721f96 | |
| https[:]//mediareleaseupdates[.]com/AdobePlugins[.]html | Landing Page | |
| https[:]//mediareleaseupdates[.]com/style3[.]js | Javascript | |
| https[:]//mediareleaseupdates[.]com/AdobePlugins[.]exe | STATICPLUGIN | |
| https[:]//mediareleaseupdates[.]com/20250509[.]bmp | MSI Package | |
| 103.79.120[.]72 | Hosting IP | |
| 166.88.2[.]90 | C2 IP | |
| Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 10.0; .NET4.0C; .NET4.0E; .NET CLR 2.0.50727; .NET CLR 3.0.30729; .NET CLR 3.5.30729) | SOGU.SEC User Agent | |
| KNbgxngdS | Mutex Name | |
| mqHKVbHWWAJwrLXD | RC4 Key | |
| HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\CanonPrinter="%APPDATA%\cnmpaui.exe" 9 780 | Registry Key | |
| %LOCALAPPDATA%\DNVjzaXMFO\ | File Path | |
| C:\Users\Public\Intelnet\ | File Path | |
| C:\Users\Public\SecurityScan\ | File Path |
Khuyến nghị
FPT Threat Intelligence khuyến nghị các tổ chức và cá nhân triển khai một số biện pháp nhằm phòng tránh chiến dịch tấn công lợi dụng captive portal và phần mềm hợp pháp để phát tán SOGU backdoor:
Tăng cường giám sát lưu lượng mạng, đặc biệt với các kết nối captive portal bị chuyển hướng bất thường và truy cập trực tiếp tới IP lạ qua HTTPS.
Kiểm soát file tải xuống từ trình duyệt, chặn thực thi trực tiếp, và giám sát hoạt động cài đặt MSI không rõ nguồn gốc.
Triển khai cơ chế phát hiện kỹ thuật DLL side-loading, so khớp hash DLL chuẩn của vendor để ngăn chặn việc nạp DLL giả mạo.
Không dựa hoàn toàn vào chứng chỉ số hoặc binary ký số, cần bổ sung kiểm tra hành vi và thiết lập danh sách publisher tin cậy.
Nâng cao nhận thức người dùng về kỹ thuật lừa đảo “Missing Plugin” và hướng dẫn cài đặt giả mạo.
Rà soát và chặn IOC liên quan, cùng các tệp độc hại được ghi nhận trong chiến dịch.






