Phần mềm đọc PDF hay backdoor? Chiến dịch mới của Tropic Trooper khiến giới bảo mật lo ngại

Search for a command to run...

No comments yet. Be the first to comment.
Tổng Quan Hãy tưởng tượng: một nhân viên nhân sự tại một công ty hàng không ở Pakistan nhận được lời mời phỏng vấn hấp dẫn từ một thương hiệu tuyển dụng có vẻ rất quen thuộc. Một cuộc gọi video được l

Tóm tắt Ngày 19/03/2026, cơ quan chức năng Mỹ, Canada và Đức triệt phá hạ tầng của bốn botnet IoT lớn nhất từng được ghi nhận — Aisuru, Kimwolf, JackSkid và Mossad. Hơn ba triệu thiết bị bị nhiễm. Hơn

Tóm tắt Không có malware nào trong chiến dịch này. Payload cuối cùng mà nạn nhân nhận được là trình cài đặt chính thức của Level RMM, tải trực tiếp từ hạ tầng của chính Level, cài đặt bằng msiexec với

Phần lớn dữ liệu thu được từ một honeypot SSH internet-facing là nhiễu: dò mật khẩu liên tục, hoặc bot đăng nhập thành công rồi tải payload xuống chạy ngay lập tức. Nhưng ngày 27/6/2026, honeypot của

Từ tháng 1/2025, một nhóm tấn công chưa xác định danh tính đã duy trì hoạt động gián điệp mạng nhắm vào các cơ quan chính phủ tại Afghanistan, Kyrgyzstan, Tajikistan, Uzbekistan, Kazakhstan và Syria,

Một file PDF tưởng chừng vô hại. Một công cụ lập trình quen thuộc. Nhưng khi đứng sau là Tropic Trooper, mọi thứ có thể trở thành cánh cửa cho một chiến dịch gián điệp tinh vi. Đó là những gì mà Zscaler ThreatLabz vừa công bố vào ngày 12/3/2026, chiến dịch tấn công mạng mới do nhóm APT khét tiếng Tropic Trooper thực hiện — một nhóm nói tiếng Trung đã hoạt động bền bỉ từ ít nhất năm 2011. Chiến dịch này chủ yếu nhắm vào người dùng nói tiếng Trung tại Đài Loan, đồng thời lan sang các mục tiêu tại Hàn Quốc và Nhật Bản.
Điểm khác biệt nổi bật nằm ở sự thay đổi chiến lược công cụ: thay vì phụ thuộc vào các framework quen thuộc như Cobalt Strike hay Mythic Merlin, nhóm đã chuyển sang sử dụng AdaptixC2 — một nền tảng mã nguồn mở, kết hợp với cơ chế điều khiển tùy biến thông qua GitHub. Sự chuyển dịch này giúp lưu lượng C2 hòa lẫn vào hoạt động hợp pháp, khiến việc phát hiện trở nên khó khăn hơn đáng kể.
Đáng chú ý hơn, giai đoạn cuối của chuỗi tấn công tận dụng Visual Studio Code tunnels để thiết lập quyền truy cập từ xa tương tác, biến các công cụ phát triển quen thuộc thành một kênh backdoor gần như “vô hình” trong môi trường doanh nghiệp.
Khởi nguồn từ cuối tháng 8/2025, khi một mẫu malware sử dụng Azure Functions làm hạ tầng điều khiển được tạo ra (dựa trên metadata của file LNK). Chỉ vài ngày sau, vào 28/8/2025, một file ISO có tên Servicenow-BNM-Verify.iso được ghi nhận tải lên nền tảng VirusTotal từ Malaysia, cho thấy dấu hiệu phân phối ban đầu của chiến dịch.
Đến ngày 5/9/2025, một mẫu khác có cùng imphash — chỉ dấu kỹ thuật quan trọng liên kết các payload tiếp tục được upload từ Singapore, củng cố giả thuyết về một chiến dịch đang mở rộng trong khu vực. Sau giai đoạn “âm thầm chuẩn bị”, chiến dịch chính thức lộ diện vào ngày 12/3/2026 khi Zscaler ThreatLabz phát hiện một file ZIP chứa các tài liệu mồi nhử mang chủ đề quân sự, được thiết kế để phát tán malware liên quan đến Tropic Trooper.
Trong tháng 3/2026, ThreatLabz hoàn tất quá trình phân tích và đưa ra kết luận với mức độ tin cậy cao, chính thức quy kết chiến dịch cho Tropic Trooper. Đến tháng 4/2026, thông tin được lan rộng khi The Hacker News công bố chi tiết vụ việc, kéo theo việc chia sẻ rộng rãi các chỉ số tấn công (IOCs) trong cộng đồng an ninh mạng
Trước khi đi xâu hơn vào quá trình phân tích thì chúng ta cùng nhau tìm hiểu đôi nét về nhóm tin tặc đứng đằng sau này: Tropic Trooper.
Tropic Trooper (còn được gọi là APT23, Earth Centaur, Pirate Panda) là một nhóm APT nói tiếng Trung, hoạt động ít nhất từ năm 2011. Nhóm này nổi tiếng với các chiến dịch cyber espionage nhắm vào chính phủ, quân sự, công nghệ và viễn thông tại khu vực châu Á - Thái Bình Dương.
Primary targets: Chính phủ, Quốc phòng, Viễn thông, Công nghệ cao.
Khu vực chính: Đài Loan (mục tiêu trọng tâm), Nhật Bản, Hàn Quốc, Đông Nam Á (xu hướng mở rộng trong đó có Việt Nam).
Trong giai đoạn đầu, Tropic Trooper chủ yếu nhắm vào các mục tiêu mang tính chiến lược cao, đặc biệt là Đài Loan — khu vực được xem là trọng tâm trong hầu hết các chiến dịch của nhóm. Bên cạnh đó, các quốc gia như Nhật Bản và Hàn Quốc cũng thường xuyên nằm trong danh sách mục tiêu.
Từ khoảng năm 2017 trở đi, Tropic Trooper bắt đầu thể hiện rõ sự nâng cấp về kỹ thuật. Nhóm mở rộng phạm vi hoạt động sang nhiều khu vực khác tại châu Á, đồng thời áp dụng các kỹ thuật mới nhằm tăng độ bền vững và khả năng né tránh.
Bước sang giai đoạn 2020–2024, Tropic Trooper bắt đầu thay đổi cách tiếp cận. Thay vì phụ thuộc hoàn toàn vào malware tùy biến, nhóm tận dụng ngày càng nhiều các công cụ có sẵn trong hệ điều hành — một chiến lược thường được gọi là “living-off-the-land”.
Đến giai đoạn 2025–2026, Tropic Trooper đã bước sang một cấp độ hoàn toàn khác. Các chiến dịch gần đây cho thấy nhóm không chỉ sử dụng công cụ hợp pháp, mà còn tận dụng trực tiếp hạ tầng cloud và hệ sinh thái developer để che giấu hoạt động.
Chuỗi tấn công của Tropic Trooper được thiết kế theo nhiều giai đoạn rõ ràng, với mục tiêu xuyên suốt là đánh lừa người dùng, thực thi payload âm thầm và duy trì kiểm soát lâu dài mà không bị phát hiện.
Mọi thứ bắt đầu từ một file ZIP chứa các tài liệu mang chủ đề quân sự bằng tiếng Trung, đi kèm một file thực thi được ngụy trang tinh vi. File này thực chất là một phiên bản SumatraPDF đã bị trojan hóa, vẫn giữ lại các dấu hiệu hợp pháp như certificate hay PDB path để qua mặt kiểm tra bề mặt, nhưng bên trong đã bị chèn loader độc hại.
Khi người dùng mở file, họ tin rằng mình chỉ đang đọc một tài liệu bình thường — trong khi quá trình tấn công đã bắt đầu.
Sau khi thực thi, loader TOSHIS được kích hoạt theo một cách tinh vi hơn so với các biến thể trước: thay vì sửa entry point, nó hijack luồng thực thi tại hàm _security_init_cookie, giúp giảm khả năng bị phát hiện.
Loader này thực hiện nhiều bước liên tiếp:
Tạo các chuỗi mã hóa trong bộ nhớ (C2, đường dẫn file, key)
Resolve API thông qua hash thay vì import trực tiếp
Tải file PDF mồi nhử từ server và mở lên để đánh lạc hướng người dùng
Đồng thời tải payload giai đoạn hai (shellcode) từ cùng nguồn
Giải mã payload bằng AES rồi thực thi trực tiếp trong bộ nhớ (fileless)
Payload giai đoạn hai là một beacon của AdaptixC2, được tùy biến để sử dụng GitHub làm kênh điều khiển.
Thay vì giao tiếp với server C2 truyền thống, malware:
Gửi beacon thông qua GitHub Issues
Lấy lệnh bằng cách đọc các issue đang mở
Thực thi lệnh sau khi giải mã
Upload kết quả trở lại repository
Đặc biệt, các beacon sẽ bị xóa chỉ sau vài giây, khiến việc điều tra gần như không thể tái dựng lại nội dung giao tiếp. Toàn bộ lưu lượng trông giống như các API call hợp pháp đến GitHub, gây khó khăn lớn cho việc phát hiện.
Sau khi thiết lập được kênh điều khiển, malware tạo scheduled tasks để duy trì truy cập. Các task được đặt tên giống dịch vụ hệ thống (ví dụ “MSDNSvc”, “MicrosoftUDN”) nhằm hòa lẫn với các tiến trình hợp pháp.
Nhờ đó, payload có thể tự động chạy lại định kỳ với quyền cao, đảm bảo attacker không mất quyền kiểm soát ngay cả khi hệ thống khởi động lại.
Khi xác định mục tiêu có giá trị, attacker triển khai thêm Visual Studio Code và thiết lập tunnel để truy cập từ xa.
Điểm đáng chú ý là:
Tunnel sử dụng hạ tầng Microsoft hợp pháp
Lưu lượng HTTPS trông hoàn toàn bình thường
Cung cấp interactive shell đầy đủ cho attacker
Điều này biến VS Code thành một backdoor “hợp pháp”, gần như không thể phân biệt nếu chỉ dựa vào network traffic.
Tropic Trooper Campaign
ZIP (lure + trojanized SumatraPDF)
a4f2131eb497afe5f78d8d6e534df2b8d75c5b9b565c3ec17a323afe5355da26Trojanized SumatraPDF (.exe)
47c7ce0e3816647b23bb180725c7233e505f61c35e7776d47fd448009e887857Encrypted shellcode / Beacon (4d.dat)
aeec65bac035789073b567753284b64ce0b95bbae62cf79e1479714238af0eb7AdaptixC2 Beacon DLL (decrypted)
7a95ce0b5f201d9880a6844a1db69aac7d1a0bf1c88f85989264caf6c82c6001Azure Functions Malware (Related Activity)
ISO: 0ba328aeb0867def650694c5a43fdd47d719c6b3c55a845903646ccdbf3ec239
LNK: 9e312214b44230c1cb5b6ec591245fd433c7030cb269a9b31f0ff4de621ff517
Malicious DLL: b03a2c0d282cbbddfcf6e7dda0b4b55494f4a5c0b17c30cd586f5480efca2c17
Legit binary (sideload victim): b778d76671b95df29e15a0af4d604917bfba085f7b04e0ce5d6d0615017e79db
Shellcode: 550c27fd8dc810df2056f1ec4a749a94ab4befc8843ba913c5f1197ef381a0a5
Final DLL: c0fc5ec77d0aa03516048349dddb3aa74f92cfe20d4bca46205f40ab0e728645
Related sample (Singapore)
SHA-256: 28e85fd3546c8ad6fb2aef37b4372cc4775ea8435687b4e6879e96da5009d60a
Imphash: B74596632C4C9B3A853E51964E96FC32
Infrastructure
158.247.193[.]100Command & Control
GitHub C2 (AdaptixC2)
api.github.com/repos/cvaS23uchsahs/rss/issuesCobalt Strike C2
47.76.236[.]58:4430
stg.lsmartv[.]com:8443
Cloud-based C2
Azure Functions
Host: logsapi.azurewebsites[.]net
Endpoint: /api/logs
Tooling / Staging
bashupload[.]app/6e1lhc
bashupload[.]app/zgel2a.bin
Living-off-the-land tooling
Visual Studio Code tunnel download
code.visualstudio.com/...cli-win32-x64Persistence (Scheduled Tasks)
\MSDNSvc
\MicrosoftUDN
Suspicious File Paths
C:\Users\Public\Documents\dsn.exe
C:\Users\Public\Documents\MicrosoftCompilers.exe
C:\Users\Public\Documents\2.library-ms
Artifacts
Cobalt Strike Watermark: 520
EntryShell AES Key: afkngaikfaf
Tactic | ID | Technique |
Initial Access | T1190 | Exploit public-facing application |
T1566.001 | Spear Phishing Attachment | |
Execution | T1059.001 | Command and Scripting Interpreter: PowerShell |
T1059.003 | Command and Scripting Interpreter: Windows Command Shell | |
T1569.002 | System Services: Service Execution | |
Persistence | T1543.003 | Create or Modify System Process: Windows Service |
T1574.002 | Hijack Execution Flow: DLL Side-Loading | |
T1505.003 | Server Software Component: Web Shell | |
Defense Evasion | T1140 | Deobfuscate/Decode Files or Information |
T1070.001 | Indicator Removal on Host: Clear Windows Event Logs | |
T1027.002 | Obfuscated Files or Information: Software Packing | |
T1218.011 | Signed Binary Proxy Execution: Rundll32 | |
T1036.005 | Masquerading: Match Legitimate Name or Location | |
Credential Access | T1003.001 | OS Credential Dumping: LSASS Memory |
T1552.002 | OS Credential Dumping: Credentials in Registry | |
Lateral Movement | T1021.002 | Remote Services: SMB/Windows Admin Shares |
Discovery | T1087.002 | Account Discovery: Domain Account |
T1482 | Domain Trust Discovery | |
T1083 | File and Directory Discovery | |
Collection | T1005 | Data from Local System |
Command and Control | T1071.001 | Application Layer Protocol: Web Protocols |
T1095 | Non-Application Layer Protocol | |
T1090.001 | Proxy: Internal Proxy | |
Exfiltration | T1567.002 | Exfiltration to Cloud Storage |
T1020 | Automated Exfiltration | |
T1547.001 | Boot or Logon Autostart Execution: Registry Run Keys / Startup Folder | |
T1203 | Exploitation for Client Execution | |
T1564.001 | Hide Artifacts: Hidden Files and Directories | |
T1518.001 | Software Discovery | |
T1082 | System Information Discovery | |
T1016 | System Network Configuration Discovery | |
T1049 | System Network Connections Discovery | |
T1033 | System Owner/User Discovery | |
T1204.002 | User Execution: Malicious File | |
T1078.003 | Valid Accounts: Local Accounts |
Chiến dịch này cho thấy Tropic Trooper đang chủ động giảm khả năng bị phát hiện, khi chuyển từ Cobalt Strike sang AdaptixC2 kết hợp GitHub làm C2. Việc dùng GitHub Issues khiến việc chặn gần như không khả thi, buộc blue team phải tập trung vào phát hiện hành vi bất thường thay vì network signature.
Cơ chế xóa beacon nhanh và không lưu session key làm tăng độ khó cho forensic, trong khi việc tận dụng Visual Studio Code tunnels biến công cụ hợp pháp thành kênh truy cập từ xa “vô hình”. Song song đó, xu hướng dùng Azure Functions làm C2 cho thấy attacker đang chuyển mạnh sang mô hình cloud-based.
Nhìn chung, đây là chiến lược “blend in” điển hình: tận dụng hạ tầng và công cụ hợp pháp để che giấu hoạt động, khiến việc phát hiện ngày càng phụ thuộc vào phân tích hành vi thay vì dấu hiệu kỹ thuật truyền thống.
Immediate (0–24h) - Ứng phó nhanh
Trong 24 giờ đầu, mục tiêu là xác định xem hệ thống có dấu hiệu bị xâm nhập hay không:
Quét toàn bộ IOC (hash, IP, domain) trên endpoint, EDR và SIEM để phát hiện nhanh các dấu hiệu compromise.
Kiểm tra persistence bằng cách rà soát scheduled tasks, đặc biệt các tên giả mạo như \MSDNSvc hoặc \MicrosoftUDN.
Phân tích hành vi process:
Xác định process bất thường spawn Visual Studio Code (code.exe)
Theo dõi process gọi GitHub API, đặc biệt nếu xuất phát từ thư mục như C:\Users\Public\Documents\
Chặn hạ tầng độc hại đã biết:
158.247.193[.]100 trên firewall/proxyQuick triage endpoint:
Tìm file thực thi trong các thư mục public/writable
Ưu tiên các file không rõ nguồn gốc hoặc giả mạo phần mềm hợp pháp
Short-term (1–7 ngày) — Threat Hunting & Hardening
Binary giả mạo (trojanized software)
Tìm các tiến trình liên quan SumatraPDF hoặc phần mềm phổ biến
Xác minh chữ ký số (code signing) có hợp lệ hay không
VS Code tunnel abuse
Truy vấn process có command-line chứa code tunnel hoặc tunnel login
Xác định nguồn thực thi (user, host, parent process)
Scheduled task disguise
Phát hiện task có tên gần giống Microsoft/Windows
Ưu tiên task được tạo gần đây hoặc bởi user thường
Network anomaly
Theo dõi request đến GitHub API (api.github.com) từ process không phải browser/IDE
Phát hiện user-agent bất thường (ví dụ curl) từ process lạ
Rà soát outbound traffic đến:
Các endpoint thuộc Azure Functions
Ưu tiên:
Request POST
Payload mã hóa hoặc bất thường về kích thước/tần suất
Long-term — Phòng thủ bền vững
Triển khai application allowlisting cho các thư mục writable
Ngăn chặn thực thi từ:
C:\Users\Public\
%TEMP%, %APPDATA%
Giới hạn sử dụng Visual Studio Code tunnels:
Chỉ cho phép trên máy developer được chỉ định
Theo dõi hành vi đăng nhập / khởi tạo tunnel
Tropic Trooper Uses Trojanized SumatraPDF and GitHub to Deploy AdaptixC2
Tropic Trooper: AdaptixC2 + Custom Beacon | ThreatLabz