GopherWhisper: Nhóm APT Trung Quốc Khai Thác Slack, Discord và Outlook Làm Kênh C2

Search for a command to run...

No comments yet. Be the first to comment.
Chuyện Gì Đang Xảy Ra? Hãy tưởng tượng thế này: bạn đang ngồi làm việc trên máy tính, soạn email, lướt web, mở tài khoản ngân hàng kiểm tra số dư. Mọi thứ đều bình thường. Không có cửa sổ lạ nào bật l

What's Going On? Imagine this: you're sitting at your computer, composing emails, surfing the web, opening a bank account to check the balance. Everything is normal. No strange windows pop up. There a

Tổng Quan SourTrade là chiến dịch malvertising quy mô lớn đang hoạt động từ cuối 2024, nhắm vào nhà đầu tư crypto và trader tại 12 quốc gia trên 25 ngôn ngữ. Kẻ tấn công giả mạo ba nền tảng được tin d

Overview SourTrade is a large-scale malvertising campaign running since late 2024, targeting crypto investors and traders in 12 countries across 25 languages. The attacker impersonates three trusted p

Tổng Quan Hãy hình dung kịch bản này: bạn vừa check-in khách sạn sau chuyến bay dài, mở laptop, bật Wi-Fi, mở Chrome và Chrome tự mở trang đăng nhập Microsoft 365. Trông quen thuộc. Bạn gõ mật khẩu, b

Tháng 1/2025, ESET Research phát hiện một nhóm APT chưa từng được ghi nhận trước đây, mang tên GopherWhisper, có liên hệ với Trung Quốc, đang nhắm vào các tổ chức chính phủ của Mông Cổ. Điểm đặc trưng của nhóm này là toàn bộ hạ tầng C2 (command-and-control) được xây dựng trên các dịch vụ SaaS hợp pháp — Slack, Discord, Microsoft 365 Outlook, và file.io — giúp lưu lượng độc hại hòa lẫn vào traffic thông thường của doanh nghiệp.
Bộ công cụ của GopherWhisper gồm 7 thành phần, phần lớn viết bằng Go: 4 backdoor (LaxGopher, RatGopher, BoxOfFriends, SSLORDoor), 1 injector (JabGopher), 1 công cụ exfiltration (CompactGopher), và 1 DLL loader (FriendDelivery). ESET xác nhận ít nhất 12 hệ thống trong một cơ quan chính phủ Mông Cổ bị xâm phạm, và phân tích C2 traffic cho thấy còn nhiều nạn nhân khác chưa được xác định địa lý.
Hành động ưu tiên: Triển khai rule phát hiện kết nối Slack/Discord/Outlook API bất thường từ endpoint và kiểm tra tiến trình svchost.exe có DLL injection không rõ nguồn gốc.
GopherWhisper được ESET phát hiện vào tháng 1/2025 sau khi tìm thấy backdoor LaxGopher trên hệ thống của một cơ quan chính phủ Mông Cổ. Nhóm này được đánh giá là đã hoạt động ít nhất từ tháng 11/2023, dù chỉ mới được công bố vào tháng 4/2026.
Cơ sở attribution về Trung Quốc:
Bằng chứng liên kết nhóm với Trung Quốc đến từ phân tích metadata C2 — không phải suy đoán:
zh-CN.GopherWhisper triển khai chiến lược redundancy qua đa dạng C2 — mỗi backdoor dùng một kênh SaaS khác nhau. Đây không phải thiết kế ngẫu nhiên: nếu một kênh bị block, attacker vẫn duy trì được access qua kênh còn lại.
Hình 1: Tổng quan bộ công cụ GopherWhisper (Nguồn: ESET Research)
JabGopher là điểm khởi đầu của chuỗi execution. Nó tạo một tiến trình svchost.exe mới và inject payload LaxGopher vào vùng nhớ của tiến trình đó. Kỹ thuật process injection vào svchost.exe là một trong những phương pháp evasion kinh điển nhất — tiến trình này luôn chạy trên mọi hệ thống Windows và ít bị kiểm tra hơn so với tiến trình người dùng thông thường.
LaxGopher được ngụy trang dưới tên whisper.dll — đây cũng là nguồn gốc phần tên "Whisper" trong GopherWhisper.
LaxGopher là backdoor Go-based, giao tiếp với một Slack workspace riêng tư của attacker. Quy trình hoạt động:
cmd.exeCompactGopher là payload được LaxGopher deploy, chuyên thực hiện exfiltration:
.doc, .docx, .jpg, .xls, .xlsx, .txt, .pdf, .ppt, .pptxRatGopher là phiên bản Discord của LaxGopher:
Khác với 3 backdoor Go còn lại, SSLORDoor được viết bằng C++ và không dựa vào SaaS platform. Nó sử dụng OpenSSL BIO để giao tiếp qua raw socket trên port 443 — ẩn mình trong HTTPS traffic thông thường mà không thực sự là HTTPS.
Chức năng: enumerate drive, đọc/ghi/xóa file, thực thi lệnh qua C2.
Đây là cặp công cụ tinh vi nhất của GopherWhisper. FriendDelivery là DLL loader inject BoxOfFriends vào memory. BoxOfFriends giao tiếp C2 theo cơ chế draft email:
Account Outlook được xác nhận: barrantaya.1010@outlook[.]com, được tạo ngày 11/07/2024 — đúng 11 ngày trước khi FriendDelivery DLL được compile (22/07/2024).
Đây là phần đáng chú ý nhất về mặt threat intelligence. ESET đã extract được API token của các Slack workspace và Discord server của attacker từ binary bị analyze. Điều này cho phép đọc toàn bộ lịch sử C2 messages.
Lý do attacker để lộ: Nhóm dùng chính các Slack/Discord server đã dùng để test backdoor làm C2 trong chiến dịch thật, và không xóa log. Đây là lỗi opsec nghiêm trọng — lịch sử test và production C2 nằm trên cùng một server.
Kết quả từ phân tích traffic:
Hình 2: Phân phối message Slack theo giờ — rõ ràng pattern giờ làm việc UTC+8 (Nguồn: ESET Research)
Hình 3: Tương tự với Discord — hoạt động trong khung 8–17h UTC+8 (Nguồn: ESET Research)
Các GitHub repository được tìm thấy trong Slack messages:
| Repository | Mô Tả |
|---|---|
github.com/kardianos/service |
Quản lý service daemon cho Go trên mọi OS |
github.com/NHAS/stab |
Local và remote process injection cho Go |
github.com/kirinlabs/utils |
Encryption và compression utilities cho Go |
github.com/wumansgy/goEncrypt |
Các phương thức encryption trong Go |
Danh sách này phản ánh rõ định hướng phát triển: attacker đang xây dựng khả năng injection, persistence, và encryption — đặt nền móng cho các phiên bản công cụ tinh vi hơn.
[Giai đoạn] [Kỹ thuật] [Công cụ]
─────────────────────────────────────────────────────────────────────
Initial Access Chưa xác định (vector không rõ) —
Execution DLL Side-Loading (JabGopher) JabGopher → whisper.dll
Persistence [NEEDS VERIFICATION: chưa xác nhận —
registry persistence cụ thể]
Defense Evasion Process Injection vào svchost.exe JabGopher
SaaS C2 (traffic hòa vào biz flow) LaxGopher/RatGopher/BoxOfFriends
C2 Slack API (private workspace) LaxGopher
Discord API (private server) RatGopher
Outlook Draft via Graph API BoxOfFriends
Raw Socket port 443 (OpenSSL BIO) SSLORDoor
Collection File filter by extension CompactGopher
AES-CFB-128 encryption CompactGopher
Exfiltration Upload to file.io CompactGopher
| Technique ID | Tên | Công Cụ Liên Quan |
|---|---|---|
| T1055 | Process Injection | JabGopher |
| T1574.002 | DLL Side-Loading | JabGopher (whisper.dll) |
| T1071.001 | Application Layer Protocol: Web Protocols | LaxGopher, RatGopher, BoxOfFriends |
| T1102 | Web Service (Legitimate External Services) | Slack, Discord, Outlook, file.io |
| T1567.002 | Exfiltration to Cloud Storage | CompactGopher → file.io |
| T1560.001 | Archive Collected Data: Archive via Utility | CompactGopher (ZIP + AES) |
| T1027 | Obfuscated Files or Information | CompactGopher (AES-CFB-128) |
| T1105 | Ingress Tool Transfer | LaxGopher (download payload) |
| T1087 | Account Discovery | LaxGopher/RatGopher (enumeration) |
| T1078 | Valid Accounts | BoxOfFriends (Outlook account barrantaya.1010) |
Lưu ý: IOC đầy đủ (hash, IP, domain) được công bố trong white paper của ESET và GitHub repository. Danh sách sau là các indicator network/host đã được xác nhận công khai.
# Slack API endpoint (C2 qua LaxGopher)
api.slack.com
# Discord API endpoint (C2 qua RatGopher)
discord.com/api/
# Microsoft Graph API (C2 qua BoxOfFriends)
graph.microsoft.com
# File exfiltration
file.io
# Outlook account được attacker sử dụng
barrantaya.1010@outlook[.]com
# DLL side-load filename
whisper.dll
# Process injection target
svchost.exe (new instance spawned by malicious process)
# File types targeted bởi CompactGopher
*.doc, *.docx, *.jpg, *.xls, *.xlsx, *.txt, *.pdf, *.ppt, *.pptx
# Tham khảo đầy đủ tại:
# https://github.com/eset/malware-ioc/tree/master/gopherwhisper
# White paper: https://web-assets.esetstatic.com/wls/en/papers/white-papers/gopherwhisper-burrow-full-malware.pdf
// Phát hiện svchost.exe kết nối tới Slack/Discord/Graph API
DeviceNetworkEvents
| where InitiatingProcessFileName == "svchost.exe"
| where RemoteUrl has_any (
"slack.com/api",
"discord.com/api",
"graph.microsoft.com",
"file.io"
)
| where InitiatingProcessParentFileName !in ("services.exe", "wininit.exe")
| project Timestamp, DeviceName, RemoteUrl, RemoteIP,
InitiatingProcessFileName, InitiatingProcessParentFileName,
InitiatingProcessCommandLine
| order by Timestamp desc
// Phát hiện load whisper.dll hoặc DLL không rõ nguồn gốc vào svchost
DeviceImageLoadEvents
| where FileName =~ "whisper.dll"
or (InitiatingProcessFileName == "svchost.exe"
and FolderPath !startswith "C:\\Windows\\System32"
and FolderPath !startswith "C:\\Windows\\SysWOW64")
| project Timestamp, DeviceName, FileName, FolderPath,
SHA256, InitiatingProcessFileName
title: Suspicious svchost.exe Spawned with Non-Standard Parent
id: gw-001-svchost-injection
status: experimental
description: Phát hiện svchost.exe được tạo bởi process không hợp lệ (kỹ thuật JabGopher)
author: SOC Team
date: 2026-05-04
references:
- https://www.welivesecurity.com/en/eset-research/gopherwhisper-burrow-full-malware/
logsource:
category: process_creation
product: windows
detection:
selection:
Image|endswith: '\svchost.exe'
filter_legitimate:
ParentImage|endswith:
- '\services.exe'
- '\wininit.exe'
- '\MsMpEng.exe'
condition: selection and not filter_legitimate
falsepositives:
- Một số software hợp pháp có thể spawn svchost trực tiếp (verify thủ công)
level: high
tags:
- attack.defense_evasion
- attack.t1055
- attack.t1574.002
title: Suspicious SaaS API Connections from Unusual Processes
id: gw-002-saas-c2
status: experimental
description: Phát hiện kết nối tới Slack/Discord/Graph API từ process không phải browser/client thông thường
author: SOC Team
date: 2026-05-04
references:
- https://www.welivesecurity.com/en/eset-research/gopherwhisper-burrow-full-malware/
logsource:
category: network_connection
product: windows
detection:
selection:
DestinationHostname|contains:
- 'slack.com'
- 'discord.com'
- 'graph.microsoft.com'
- 'file.io'
filter_legitimate_processes:
Image|contains:
- '\Slack\app-'
- '\Discord\app-'
- '\Microsoft\Teams'
- '\msedge.exe'
- '\chrome.exe'
- '\firefox.exe'
- '\outlook.exe'
condition: selection and not filter_legitimate_processes
falsepositives:
- Ứng dụng enterprise sử dụng Slack/Discord API hợp lệ — cần whitelist
level: medium
tags:
- attack.command_and_control
- attack.t1102
- attack.t1071.001
GopherWhisper đặt cược vào một giả thuyết đúng: hầu hết firewall enterprise không inspect nội dung HTTPS tới các SaaS tier-1 như Slack, Discord, hay Microsoft Graph. Traffic tới api.slack.com hay graph.microsoft.com trông hoàn toàn bình thường — không khác gì nhân viên dùng Slack chat hoặc Teams check email.
Tuy nhiên, chiến lược này có điểm yếu rõ ràng: behavior của process gọi API. Một svchost.exe kết nối tới api.slack.com — mà không phải từ Slack client chính thức — là một anomaly rõ ràng nếu SOC có coverage đủ tốt trên network layer. Vấn đề là phần lớn tổ chức chưa triển khai correlation giữa process identity và network destination.
Từ kinh nghiệm SOC, đây là gap thường gặp: rule SIEM phát hiện port/IP C2 truyền thống nhưng thiếu rule phát hiện "legitimate domain, illegitimate process." GopherWhisper khai thác đúng khoảng trống này.
Kỹ thuật SaaS abuse không phải mới — Evasive Panda đã dùng cloud services cho C2 trong Operation CloudScout (2024), và nhiều nhóm APT (kể cả Nga) đã dùng email draft làm dead drop từ lâu. Điểm khác biệt của GopherWhisper là độ phong phú của bộ công cụ cho một nhóm mới: 7 tools với 3 kênh C2 độc lập, viết bằng Go — ngôn ngữ đang trở thành lựa chọn ưu tiên cho malware development vì cross-platform, binary tự chứa, và khó reverse hơn so với C/C++ truyền thống.
GopherWhisper hiện chưa có báo cáo nhắm vào Đông Nam Á. Nhưng pattern của nhiều nhóm APT Trung Quốc là bắt đầu từ một khu vực địa lý cụ thể trước khi mở rộng. Các tổ chức chính phủ, cơ sở hạ tầng năng lượng, và ngành telecom tại Đông Nam Á — bao gồm Việt Nam — vẫn là target có giá trị cao với espionage group nhà nước Trung Quốc.
Điểm đáng lo ngại hơn là "dozens of other victims" mà ESET đề cập từ phân tích C2 traffic — nhưng không có thông tin về địa lý. Những nạn nhân đó có thể nằm ở bất kỳ đâu.
svchost.exe tới api.slack.com, discord.com/api, graph.microsoft.com khi process parent không phải services.exe hoặc wininit.exe.whisper.dll trên hệ thống: Get-ChildItem -Path C:\ -Filter "whisper.dll" -Recurse -ErrorAction SilentlyContinuebarrantaya.1010@outlook[.]com và domain file.io vào watchlist (với context — file.io là dịch vụ hợp pháp, cần xem xét kỹ trước khi block toàn bộ).gw-001 và gw-002 vào SIEM.https://github.com/eset/malware-ioc/tree/master/gopherwhisper