資安事件調查報告:假視訊會議導致 macOS 遭入侵與 Telegram 帳號被盜
去識別化的事件調查報告:假 Teams 會議導致 macOS 被植入 root 後門、假 Google 文件離線版擴充功能與 Telegram 帳號被盜。
| 項目 | 內容 |
|---|---|
| 報告編號 | IR-2026-1103-01 |
| 報告日期 | 2026-11 |
| 公開版本 | 已去識別化:移除主機名稱、使用者名稱、受害者專屬識別碼、個人軟體清單與證據存放路徑 |
| 受害主機 | Apple MacBook(macOS 26.x) |
| 受害帳號 | 本機管理員帳號 |
| 事件類型 | 社交工程 → 惡意程式植入 → 權限提升 → 持續性後門 → 瀏覽器間諜擴充功能 → 帳號接管 |
| 嚴重等級 | 重大(Critical) |
| 目前狀態 | 已遏止、已根除已知惡意元件;待使用者完成帳號與金鑰輪替及系統重灌 |
| 調查方式 | 主機鑑識(Live Response),唯讀分析為主,移除前保留證據 |
1. 執行摘要
2026 年 4 月 24 日(UTC 08:03 起),使用者在 Telegram 中受邀參加視訊會議,被引導至偽造的 Microsoft Teams 會議頁面(使用者記憶中為 Zoom)。在約 4 分鐘內,攻擊者透過偽造的 macOS 密碼對話框取得系統密碼,並以 root 權限植入後門 cloudsync,建立開機自動啟動的持久化機制。
此後門在受害主機上持續運作約 193 天,期間:
- 2026-05-05、06-03 下載第二階段酬載與加密設定;
- 2026-05-25 於全部 4 個 Chrome 設定檔植入偽裝成「Google 文件離線版」的間諜擴充功能,搭配一個可執行任意指令的原生主機程式(Native Messaging Host);
- 間諜擴充功能每 30 秒竊取全部網站 Cookie、側錄鍵盤與剪貼簿、每 6 秒截取螢幕、上傳各網站 localStorage(含 Telegram Web 登入權杖)。
Telegram 帳號遭盜的最可能原因,是 Session Cookie/localStorage 權杖被竊取(Session Hijacking),此手法可繞過密碼與兩步驟驗證。
調查當日(2026-11-03)發現兩組惡意元件仍在運作並與 C2 伺服器連線中。已完成:終止程序、移除持久化、隔離樣本、封鎖 C2 網域,並經三輪深度複查確認無其他已知殘留。
攻擊手法與公開報告中北韓背景 APT 組織 BlueNoroff(Lazarus 子團體) 的「假視訊會議(GhostCall)」行動高度一致;但本報告未取得足以做出確定歸因的證據,僅列為「手法吻合」。
2. 事件時間軸
timeline
title 入侵事件時間軸(UTC)
2026-04-24 08h03 : 假密碼視窗元件出現 ammad.Mac-Password-Popup
: ~/Library/Staging 建立
2026-04-24 08h04 : 使用者截圖 - 假 Teams 會議等候頁
2026-04-24 08h05 : Identification 目錄與 auth.db 建立
2026-04-24 08h06 : root 後門 cloudsync 寫入
2026-04-24 08h07 : LaunchDaemon com.safari.sync.service 建立
: 加密設定 .com.apple.better.env
2026-05-05 : 第二階段加密設定 .apple.auth
2026-05-25 03h40 : 間諜 Chrome 擴充功能與 Native Host 植入
2026-06-03 : 第二階段執行檔 .authds
2026-06-23 : LaunchAgent com.apple.google.auth 更新
2026-11-03 : 偵測、遏止、根除、複查
| 時間(UTC) | 事件 | 證據來源 |
|---|---|---|
| 2026-04-24 08:03:01 | 建立 ~/Library/Staging、~/Library/Application Scripts/ammad.Mac-Password-Popup(假密碼對話框) | 檔案系統建立時間 |
| 2026-04-24 08:04:47 | 受害者截圖:偽造 Microsoft Teams 等候頁(「有人會在會議開始時讓您加入」) | 受害者桌面截圖 |
| 2026-04-24 08:05:16–20 | 建立 ~/Library/Identification/、~/Library/Application Support/Authorization/auth.db | 檔案系統 |
| 2026-04-24 08:06:28 | 寫入 root 擁有之未簽章 Mach-O ~/Library/CloudSync/cloudsync(7.26 MB,x86_64) | 檔案系統、codesign |
| 2026-04-24 08:07:00 | 寫入加密設定 /Users/Shared/.com.apple.better.env | 檔案系統 |
| 2026-04-24 08:07:18 | 建立 /Library/LaunchDaemons/com.safari.sync.service.plist(RunAtLoad,以 root 執行 cloudsync) | 檔案系統 |
| 2026-05-05 11:30 | 寫入加密資料 /Users/Shared/.apple.auth | 檔案系統 |
| 2026-05-25 03:40:46 | 植入 Chrome 擴充功能 ppconlkbhfnachephglhgbhdgeapgjoj 及 Native Host google.chrome.diagnostics;data.js 內嵌受害者使用者名稱與主機名稱 | 檔案系統、Chrome Secure Preferences |
| 2026-06-03 00:20 | 寫入第二個 root 未簽章執行檔 /Users/Shared/.authds(5.24 MB),具「最後使用時間」屬性(曾執行) | 檔案系統、xattr |
| 2026-06-23 10:59 | 更新 ~/Library/LaunchAgents/com.apple.google.auth.plist | 檔案系統 |
| 2026-11-03 00:26–11:27 | cloudsync 每 60 秒以 DNS 查詢 C2 並連線至 TCP 5202 | 統一日誌(mDNSResponder、kernel) |
| 2026-11-03 11:27:44 | 執行清除腳本:終止 PID 543、移除 LaunchDaemon/Agent | 統一日誌(launchd) |
| 2026-11-03 11:33 | 關閉 Chrome、隔離擴充功能與 Native Host;與 C2 之連線中斷 | lsof 驗證 |
| 2026-11-03 ~11:45 | /etc/hosts 封鎖 check02id.com | 主機檢查紀錄 |
註:擴充功能資料夾內部分檔案的建立時間顯示為 2025-10-16,經比對當日無任何惡意活動,判定為攻擊者打包時保留之原始時間戳;
Secure Preferences中的安裝時間(2025-08-13)亦為偽造。實際植入時間依內嵌受害者主機名稱之data.js判定為 2026-05-25。
3. 攻擊流程(UML 循序圖)
sequenceDiagram
autonumber
actor A as 攻擊者
participant TG as Telegram
actor U as 受害者
participant W as 偽造 Teams/Zoom 網頁
participant OS as macOS
participant BD as cloudsync (root 後門)
participant CH as Chrome + 間諜擴充功能
participant NH as Native Host<br/>google.chrome.diagnostics
participant C2 as C2 伺服器<br/>check02id.com (83.136.210.180)
A->>TG: 以熟人/商業名義邀約視訊會議
TG->>U: 傳送會議連結
U->>W: 開啟連結,進入假會議等候頁
W->>U: 提示「音訊/SDK 需更新」
U->>OS: 執行下載的腳本/程式
OS->>U: 彈出假系統密碼視窗 (Mac-Password-Popup)
U->>OS: 輸入 macOS 登入密碼
Note over OS: 取得密碼 → sudo 提權
OS->>BD: 寫入 cloudsync + LaunchDaemon (root)
loop 每 60 秒
BD->>C2: 回報 (TCP 5202)
C2-->>BD: 指令 / 酬載
end
BD->>OS: 下載 .authds、.apple.auth (5–6 月)
BD->>CH: 植入假「Google 文件離線版」擴充功能 (4 個設定檔)
BD->>NH: 植入 Native Host 並註冊
loop 持續
CH->>C2: 每 30 秒上傳全部 Cookie (TCP 5078)
CH->>C2: 每 60 秒上傳鍵盤/剪貼簿記錄
CH->>C2: 每 6 秒截圖、localStorage、瀏覽紀錄 (8443)
C2-->>CH: WebSocket 即時指令 (wss 8443/realtime)
CH->>NH: 轉送遠端 Shell 指令
NH-->>CH: 執行結果
end
A->>TG: 以竊得 Session 登入受害者 Telegram
Note over A,TG: 帳號接管(繞過密碼與 2FA)
4. 惡意元件架構(UML 元件/部署圖)
flowchart TB
subgraph Host["受害主機 (macOS)"]
direction TB
subgraph Persist["持久化層"]
LD["/Library/LaunchDaemons/<br/>com.safari.sync.service.plist<br/>(root, RunAtLoad)"]
LA["~/Library/LaunchAgents/<br/>com.apple.google.auth.plist<br/>→ ~/Library/Identification/.verify"]
end
subgraph Stage1["第一階段(root)"]
CS["~/Library/CloudSync/cloudsync<br/>未簽章 Mach-O x86_64 7.26MB"]
ENV["/Users/Shared/.com.apple.better.env<br/>加密設定"]
PP["ammad.Mac-Password-Popup<br/>假密碼對話框"]
AUTH["Authorization/auth.db<br/>指向 .verify 路徑"]
end
subgraph Stage2["第二階段"]
AD["/Users/Shared/.authds<br/>未簽章 Mach-O 5.24MB"]
AA["/Users/Shared/.apple.auth<br/>加密資料"]
end
subgraph Browser["Chrome(4 個設定檔)"]
EXT["假 Google Doc Sheets Offline<br/>ppconlkbhfnachephglhgbhdgeapgjoj<br/>MV3, <all_urls>"]
NMH["NativeMessagingHosts/<br/>google.chrome.diagnostics<br/>未簽章 Mach-O 6.03MB"]
end
end
C2[("C2: check02id.com<br/>83.136.210.180<br/>:5078 / :8443 / :5202")]
LD -->|開機執行| CS
LA -.->|檔案已不存在| AUTH
CS --> ENV
CS -->|下載| AD
CS -->|下載| AA
CS -->|植入| EXT
CS -->|植入| NMH
EXT <-->|nativeMessaging| NMH
CS <-->|TCP 5202 每 60 秒| C2
EXT <-->|HTTPS 5078 / WSS 8443| C2
5. 間諜擴充功能能力分析(UML 類別圖)
classDiagram
class FakeDocsOfflineExtension {
+id: ppconlkbhfnachephglhgbhdgeapgjoj
+manifest_version: 3
+location: 4 (非商店)
+host_permissions: all_urls
+permissions: cookies, history, tabs, scripting, desktopCapture, pageCapture, nativeMessaging
+C2_http: check02id.com:5078/update
+C2_ws: wss://check02id.com:8443/realtime
+token: 硬編碼共享金鑰
}
class ContentScript1 {
+keydown() 鍵盤側錄
+copy()/paste() 剪貼簿側錄
+click() 觸發截圖
+visibilitychange() 上傳 localStorage
}
class ContentScript2 {
+GoogleMeet「立即加入」攔截
+誘導授予螢幕錄製權限
}
class BackgroundWorker {
+f3: 每 30 秒上傳全部 Cookie
+keylog: 每 60 秒上傳
+capture: 每 6 秒截圖 x36
+cmd3: 依需求傾印 Cookie
+cmd4: 清除指定網站 Cookie/Storage (強迫重新登入)
+cmd11: 上傳 10,000 筆瀏覽紀錄
+cmd13: 注入任意 JS 至指定網址
+cmd14/15/16: 遠端 Shell 經 Native Host
+cmd17: 頁面 MHTML 擷取
}
class NativeHost_google_chrome_diagnostics {
+未簽章 x86_64
+執行 payload/cwd/timeout
}
FakeDocsOfflineExtension *-- ContentScript1
FakeDocsOfflineExtension *-- ContentScript2
FakeDocsOfflineExtension *-- BackgroundWorker
BackgroundWorker --> NativeHost_google_chrome_diagnostics : sendNativeMessage
影響說明:cmd4「清除指定網站 Cookie」可迫使受害者在該網站重新登入,配合鍵盤側錄即可取得新輸入的密碼;cmd13 可對交易所、錢包網站注入任意腳本(例如竄改收款地址)。
6. 入侵指標(IoC)
6.1 網路
| 類型 | 指標 | 用途 |
|---|---|---|
| 網域 | check02id.com | C2(後門與擴充功能共用;經 DNS 查詢日誌交叉比對確認) |
| IP | 83.136.210.180 | check02id.com 解析結果 |
| 連接埠 | TCP 5202 | cloudsync 回報(每 60 秒) |
| 連接埠 | TCP 5078 | 擴充功能 HTTPS /update(Cookie、側錄資料) |
| 連接埠 | TCP 8443 | 擴充功能 HTTPS /update(截圖、指令)與 wss:///realtime |
6.2 檔案雜湊(SHA-256)
| 檔案 | SHA-256 |
|---|---|
cloudsync | 4a8059ae03301e8b0397c0c26f8b5d01fb1cb05c2563e1c2f538e11c74d37c3b |
.authds | 7f2e8e4432d80194aadca7f051e0f243ecf727af4a95bb4fd7af34490e27ea0b |
google.chrome.diagnostics | 7a0ee74dcdb2d30ef63884e2505799d7f95e670b628a5504f0f292424da37c3d |
com.google.chrome.diagnostics.json | 2e76e387b1f6a4412ce6840bf1221a1d7de4df619c78b35a4106b9e36dc2fcf4 |
擴充功能 background.js | 764b5681720001dc9af9da4d7aa948abf2bd458336e0bd8ccb1b2d6fcb1d66f0 |
擴充功能 content-script1.js | cac1539fe2e8aa9d2db9928a384554839ae6d597ec61ef01b1089e976035a586 |
擴充功能 content-script2.js | 530e7a28e79c8fc8d1fd651066de29c6926ec187da3d5d132c87539daa32e879 |
.apple.auth | 1b5dc3dda3c4f3b26bb9d19f731b646a794feb095af5fb382f8896c473a8fd7d |
.com.apple.better.env | d62e7d144cfb2ad761661ec2befcd2aa09ed335faafc279cd51db3a0f4af8551 |
com.safari.sync.service.plist | c189e4a9c69b7f07ce9533646f5bcaac58876da05f11795572a53fabbcb6e758 |
com.apple.google.auth.plist | 5d97e4a0e8da6cff7d85b986d1de71e992bb977119580757d45650ddba527758 |
6.3 主機路徑與識別碼
/Library/LaunchDaemons/com.safari.sync.service.plist
~/Library/LaunchAgents/com.apple.google.auth.plist
~/Library/CloudSync/cloudsync
~/Library/Identification/.verify
~/Library/Staging/
~/Library/Application Scripts/ammad.Mac-Password-Popup/
~/Library/Application Support/Authorization/auth.db
/Users/Shared/.authds
/Users/Shared/.apple.auth
/Users/Shared/.com.apple.better.env
~/Library/Application Support/Google/Chrome/NativeMessagingHosts/google.chrome.diagnostics
~/Library/Application Support/Google/Chrome/NativeMessagingHosts/com.google.chrome.diagnostics.json
Chrome Extension ID: ppconlkbhfnachephglhgbhdgeapgjoj(名稱 "Google Doc Sheets Offline", v1.97.1)
擴充功能硬編碼 token 前綴: jfweibd234HFIDhfiwef…
data.js 欄位: cuid, cprofile, cbrowser, cserverUrl, cuserName, chostName, cwsServerUrl(每位受害者不同)
7. MITRE ATT&CK 對應
| 戰術 | 技術 | 本案觀察 |
|---|---|---|
| 初始存取 | T1566.003 Spearphishing via Service | 透過 Telegram 邀約會議 |
| 執行 | T1204.002 User Execution: Malicious File | 受害者執行「更新」 |
| 憑證存取 | T1056.002 GUI Input Capture | Mac-Password-Popup 假密碼框 |
| 權限提升 | T1548.003 Sudo and Sudo Caching | 以取得之密碼寫入 root 檔案 |
| 持久化 | T1543.004 Launch Daemon | com.safari.sync.service |
| 持久化 | T1543.001 Launch Agent | com.apple.google.auth |
| 持久化 | T1176 Browser Extensions | 假 Google 文件離線版 |
| 防禦規避 | T1036.005 Masquerading | 偽裝 Apple/Safari/Google 命名 |
| 防禦規避 | T1564.001 Hidden Files | /Users/Shared/.authds 等 |
| 防禦規避 | T1070.006 Timestomp | 擴充功能檔案時間與安裝時間偽造 |
| 防禦規避 | T1027 Obfuscated Files | 加密設定、封裝執行檔 |
| 憑證存取 | T1539 Steal Web Session Cookie | 每 30 秒竊取全部 Cookie |
| 收集 | T1056.001 Keylogging | content-script1 |
| 收集 | T1115 Clipboard Data | copy/paste 側錄 |
| 收集 | T1113 Screen Capture | captureVisibleTab 每 6 秒 |
| 收集 | T1217 Browser Information Discovery | 上傳瀏覽紀錄 |
| 指揮控制 | T1071.001 Web Protocols | HTTPS / WebSocket |
| 指揮控制 | T1571 Non-Standard Port | 5078 / 5202 / 8443 |
| 執行 | T1059.004 Unix Shell | Native Host 遠端指令 |
| 外洩 | T1041 Exfiltration over C2 Channel | 經 /update 上傳 |
| 影響 | T1550.004 Web Session Cookie(帳號接管) | Telegram 被盜 |
8. 應變處置紀錄(UML 狀態圖)
stateDiagram-v2
state "偵測" as Detect
state "分析" as Analyze
state "遏止(一)" as Contain1
state "根除(一)" as Erad1
state "複查(一)" as Review1
state "遏止(二)" as Contain2
state "根除(二)" as Erad2
state "封鎖 C2" as Block
state "複查(二)" as Review2
state "複查(三)" as Review3
state "使用者待辦" as Pending
[*] --> Detect
Detect --> Analyze: 發現可疑 LaunchDaemon/Agent
Analyze --> Contain1: 確認 cloudsync 以 root 執行中
Contain1 --> Erad1: cleanup_malware.sh(使用者 sudo)
Erad1 --> Review1: 驗證無殘留程序/啟動項
Review1 --> Contain2: 發現未簽章 Native Host 與假擴充功能,C2 連線中
Contain2 --> Erad2: 關閉 Chrome、隔離 4 個設定檔之擴充功能
Erad2 --> Block: /etc/hosts 封鎖 check02id.com
Block --> Review2: root 深層檢查(BTM/cron/sudoers/TCC)
Review2 --> Review3: App 簽章、注入、腳本、日誌、IoC 全機掃描
Review3 --> Pending: 帳號輪替、錢包遷移、重灌
Pending --> [*]
| 步驟 | 動作 | 結果 |
|---|---|---|
| 1 | 終止 cloudsync(PID 543)、bootout LaunchDaemon/Agent | ✅ |
| 2 | 樣本加密封存供後續分析 | ✅ |
| 3 | 刪除 12 個惡意檔案/目錄 | ✅ |
| 4 | 關閉 Chrome;擴充功能與 Native Host 移至隔離區 | ✅ C2 連線中斷 |
| 5 | /etc/hosts:0.0.0.0 check02id.com、www.check02id.com | ✅ 解析為 0.0.0.0 |
9. 複查範圍與結果
| 檢查項目 | 結果 |
|---|---|
| LaunchAgents/LaunchDaemons/登入項目/BTM 資料庫 | ✅ 僅餘已驗證之合法軟體 |
| crontab(使用者/root)、at、periodic、emond | ✅ 無 |
Shell 設定檔、/etc/hosts、PAM、sudoers | ✅ 未遭修改 |
| 驗證外掛、目錄服務外掛、核心/系統擴充 | ✅ 無第三方 |
| 登入掛鉤、資料夾動作、Automator | ✅ 無 |
| DYLD 注入、launchd 環境變數 | ✅ 無 |
| 帳號(隱藏帳號、admin 群組)、SSH、遠端登入 | ✅ 正常,SSH 關閉 |
| 2026-04 後之未簽章 Mach-O(全機) | ✅ 惡意者均已移除,餘為 Apple 系統檔 |
| 全部應用程式簽章完整性 | ✅ 無竄改;Telegram/Chrome/Zoom 原廠簽章與公證有效 |
| DNS、代理、VPN、受信任根憑證 | ✅ 正常 |
| TCC 隱私權限(完全取用磁碟、輔助使用、輸入監控) | ✅ 無異常授權;Chrome 先前已具螢幕錄製權限(遭擴充功能濫用) |
| Safari 擴充功能、第三方 App Extension | ✅ 無惡意 |
| 統一日誌 IoC | ✅ 清除後無再活動 |
| 全機 IoC 雜湊/字串掃描 | ⏳ 報告撰寫時仍在執行,結果另行補充 |
殘留項目(低風險):4 個 Chrome 設定檔之 Secure Preferences 仍留有擴充功能登記資料;程式碼已移除,無法執行。建議於 chrome://extensions 確認並點選「移除」。
10. 影響評估
| 資產 | 風險 | 說明 |
|---|---|---|
| macOS 登入密碼 | 已洩漏 | 經假密碼框取得 |
| Chrome 所有網站 Session(2026-05-25 起) | 已洩漏 | Cookie 每 30 秒外傳 |
| Telegram | 已遭接管 | 最可能經 Telegram Web localStorage / Session 竊取 |
| Gmail/Google 帳號 | 高 | Cookie、鍵盤側錄 |
| 瀏覽器加密貨幣錢包擴充功能 | 高 | 鍵盤側錄可取得解鎖密碼;截圖可能取得助記詞;擴充功能可注入腳本 |
| 網路銀行 | 高 | 鍵盤、截圖、Cookie |
| 本機文件 | 中–高 | root 後門可任意讀取;遠端 Shell |
| macOS 鑰匙圈 | 中–高 | 攻擊者持有登入密碼即可解鎖 |
11. 建議措施
立即(24 小時內,請使用另一台乾淨裝置)
- Google 帳號:安全性 → 「登出所有其他裝置」,更換密碼,啟用通行金鑰或實體安全金鑰。
- Telegram:設定 → 裝置 → 「終止所有其他工作階段」;設定兩步驟驗證密碼;檢查登入 Email。
- 加密貨幣:於乾淨裝置建立全新助記詞錢包,轉移全部資產;撤銷舊地址之代幣授權(approve)。
- 網銀、交易所、Email、雲端服務:登出所有工作階段 → 更換密碼 → 檢查 API 金鑰與白名單地址。
- 更換 macOS 登入密碼與 Apple ID 密碼。
短期(1 週內)
- 備份文件(勿備份應用程式與
~/Library),清除磁碟並重新安裝 macOS。 - Chrome 不要從舊設定同步擴充功能;僅自 Chrome 線上應用程式商店重新安裝。
- 向當地執法機關與國家 CERT 通報,提供本報告與隔離樣本。
長期
- 對 Telegram 等通訊軟體中的會議邀約,一律以官方 App 直接加入,不安裝任何「SDK/外掛/音訊修正」。
- 任何非由使用者主動觸發的系統密碼視窗皆視為可疑。
- 加密資產使用硬體錢包,助記詞永不輸入電腦。
- 定期以
chrome://extensions檢查非商店來源之擴充功能。
12. 歸因評估
| 觀察 | 與 BlueNoroff「GhostCall」公開報告之比較 |
|---|---|
| Telegram 邀約假 Zoom/Teams 會議 | 吻合 |
| 假系統密碼對話框 | 吻合 |
| 偽裝 Apple/Google 命名之 LaunchDaemon/Agent | 吻合 |
| 鎖定加密貨幣持有者 | 吻合 |
| 瀏覽器擴充功能竊取 Cookie 與截圖 | 吻合同類行動 |
結論:手法高度吻合,信心等級「中」。本報告未對樣本進行逆向工程或威脅情資平台比對,不構成正式歸因。
附錄 A:樣本取得
惡意樣本已加密封存。資安研究人員或執法單位如需樣本,請透過本報告發布者私下聯繫。
⚠️ 樣本為活體惡意程式,請勿於非隔離環境解壓縮或執行。