一波針對 Telegram 使用者的複雜攻擊浪潮正在興起,結合社交工程與 Session 劫持來實現完整的帳號接管。本文將深入探討攻擊方法論、Telegram 的 Session 管理漏洞,以及防禦對策。

執行摘要

攻擊者正在利用 Telegram 的 Session 管理系統進行多階段攻擊:

  1. 透過假商務會議邀請進行社交工程
  2. 部署木馬化的 Zoom 安裝程式
  3. 竊取 Telegram Session 資料
  4. 利用 Telegram 的 24 小時安全延遲實現永久帳號接管

這種攻擊特別危險,因為它利用了原本設計來保護使用者的合法安全功能,將其轉化為對付受害者的武器。

攻擊流程概覽

sequenceDiagram
    participant A as 攻擊者
    participant V as 受害者
    participant T as Telegram 伺服器
    participant M as 惡意軟體

    A->>V: 1. 商務會議提案
    A->>V: 2. 發送假 Zoom 連結
    V->>M: 3. 下載並安裝「Zoom」
    M->>M: 4. 執行木馬程式
    M->>A: 5. 竊取 Session 資料 (tdata)
    A->>T: 6. 使用竊取的 Auth Key 建立連線
    Note over A,T: 7. 雙方 Session 同時活躍
    A->>T: 8. 終止受害者的 Session
    V->>T: 9. 受害者重新登入(新 Session)
    Note over V,T: 10. 新 Session 權限受限
    Note over A,T: 11. 24小時後,攻擊者獲得完整控制權
    A->>T: 12. 移除受害者的手機號碼

第一階段:社交工程 - 初次接觸

攻擊始於精心設計的社交工程方法。攻擊者通過 Telegram 發起聯繫,通常偽裝成:

  • 潛在的商業夥伴或投資者
  • 知名公司的招募人員
  • 加密貨幣或技術專案的合作者
  • 尋求採訪的記者

藉口總是一場需要安裝 Zoom 的視訊會議

為什麼選擇 Zoom?

Zoom 是完美的掩護,原因如下:

  1. 普遍接受度:大多數專業人士都熟悉 Zoom
  2. 安裝檔案大小:100MB+ 的安裝程式不會引起懷疑
  3. 提升權限:使用者預期 Zoom 會請求系統存取權限
  4. 緊迫因素:「會議 30 分鐘後開始」迫使快速安裝

警示信號

  • 來自陌生聯絡人的主動商業提案
  • 會議前被要求安裝軟體的壓力
  • 下載連結未指向官方網域(zoom.us)
  • 連結託管在檔案分享服務或使用縮短網址

第二階段:惡意軟體部署

木馬化安裝程式

假 Zoom 安裝程式通常是一個複雜的惡意軟體,它會:

  1. 顯示看起來合法的安裝介面 - 通常從真正的 Zoom 安裝程式中提取
  2. 可能安裝真正的 Zoom - 以避免立即引起懷疑
  3. 部署惡意載荷 - 在背景靜默執行

技術實作

惡意軟體針對 Telegram 的 Session 儲存位置:

平台 Session 資料位置
Windows %APPDATA%\Telegram Desktop\tdata\
macOS ~/Library/Application Support/Telegram Desktop/tdata/
Linux ~/.local/share/TelegramDesktop/tdata/

tdata 資料夾中的關鍵檔案包括:

tdata/
├── D877F783D5D3EF8C/     # Auth Key 目錄(名稱會變動)
│   ├── map0              # Session 對應
│   └── map1              # 備份對應
├── key_datas             # 加密金鑰資料
├── settings0             # 使用者設定
└── settings1             # 備份設定

Session 資料結構

Telegram 的 Session 認證依賴於:

  1. Auth Key:初次認證時建立的 256 位元金鑰
  2. Server Salt:用於訊息加密
  3. Session ID:識別當前 Session
  4. 序號:防止重播攻擊

當惡意軟體竊取 tdata 資料夾時,它獲取了冒充受害者 Session 所需的所有加密資料。

第三階段:Session 劫持

Telegram Session 運作原理

Telegram 使用 MTProto 協議進行客戶端-伺服器通訊。每個裝置維護一個持久的 Auth Key,它:

  • 在首次登入時產生
  • 除非明確終止,否則永不過期
  • 提供完整的帳號存取權限
  • 儲存在本機裝置上
graph LR
    A[客戶端] -->|Auth Key| B[Telegram 伺服器]
    B -->|Session 驗證通過| C[完整帳號存取權]

    D[持有竊取 Auth Key 的攻擊者] -->|相同的 Auth Key| B
    B -->|Session 驗證通過| E[完整帳號存取權]

劫持過程

一旦攻擊者擁有受害者的 Session 資料:

  1. Session 複製:攻擊者將竊取的 tdata 匯入他們的 Telegram 客戶端
  2. 繞過認證:竊取的 Auth Key 可立即存取,無需簡訊驗證
  3. 並行存取:受害者和攻擊者都可以同時存取帳號

此時,從 Telegram 的角度來看,兩個連線都是同一個已認證的裝置

第四階段:帳號接管

24 小時安全延遲

Telegram 實作了一個關鍵的安全功能:新 Session 在 24 小時內權限受限

新登入的 Session 無法:

  • 終止超過 24 小時的 Session
  • 更改雙重驗證設定
  • 轉移帳號所有權
  • 刪除帳號

這個功能旨在保護使用者免受簡訊被入侵的影響。然而,在這種攻擊中,它反而成為武器。

利用安全延遲

timeline
    title 攻擊時間軸
    0h : 攻擊者獲得 Session
       : 終止原始 Session
    0h+ : 受害者重新登入
        : 新 Session 權限受限
    24h : 攻擊者獲完整權限
        : 受害者仍受限
    24h+ : 移除手機號碼
         : 完成帳號接管

關鍵流程:

  1. 攻擊者終止受害者的 Session:使用竊取的(較舊的)Session,攻擊者可以終止看起來像是「其他裝置」的連線

  2. 受害者重新認證:當受害者發現被登出並重新登入時,會建立一個新 Session

  3. 權限不對稱:攻擊者的 Session(使用原始 Auth Key)現在是「較舊的」Session,而受害者的新 Session 是受限的

  4. 等待遊戲:24 小時後,攻擊者的 Session 獲得完整權限,而受害者仍然受限

  5. 最終接管:攻擊者移除受害者的手機號碼、更改雙重驗證設定,並永久鎖定受害者

技術深入探討:為什麼這種攻擊有效

Telegram 的 Session 模型

Telegram 的安全模型假設:

  • Session 資料竊取需要實體裝置存取
  • 使用者會快速發現未授權存取
  • 24 小時延遲提供恢復時間

這種攻擊打破了這些假設:

  • 使用惡意軟體進行遠端 Session 竊取
  • 策略性地安排 Session 終止時機
  • 利用 24 小時規則對付受害者

Auth Key 問題

與可以輪換的 Session Token 不同,Telegram 的 Auth Key:

  • 長期有效(永久有效直到登出)
  • 未綁定裝置指紋
  • 可跨安裝移植
  • 密碼更改不會使其失效

這意味著即使使用者在初次入侵後更改密碼或啟用雙重驗證,攻擊者仍然可以透過竊取的 Auth Key 保持存取權。

入侵指標

您可能被攻擊的跡象

  1. Session 通知:「來自未知裝置的新登入」訊息
  2. 意外登出:未主動登出卻被登出
  3. 訊息異常:您未讀的訊息被標記為已讀
  4. 活躍 Session:設定 > 裝置中出現未知裝置
  5. 聯絡人回報:朋友收到您未發送的訊息

檢查您的活躍 Session

導航至:設定 > 隱私與安全 > 活躍 Session

注意:

  • 未知的裝置名稱或位置
  • 來自意外 IP 位址的 Session
  • 多個 Session 顯示相同裝置

防禦對策

如果已被入侵的立即行動

  1. 立即終止所有其他 Session

    • 前往設定 > 隱私與安全 > 活躍 Session
    • 點擊「終止所有其他 Session」
  2. 啟用雙重驗證

    • 設定 > 隱私與安全 > 兩步驗證
    • 使用強度高且唯一的密碼
  3. 檢查連結的裝置和機器人

    • 移除任何未授權的連結裝置
    • 撤銷可疑機器人的存取權限
  4. 更換手機號碼(如果可以):

    • 這會使攻擊者的 Session 失效

預防措施

措施 實施方式 有效性
雙重驗證 使用強密碼啟用
Session 監控 定期檢查活躍 Session
軟體衛生 僅從官方來源安裝
連結驗證 始終驗證下載網址
密碼鎖定 啟用應用程式密碼

技術強化

對於高風險使用者(記者、活動人士、加密貨幣持有者):

  1. 使用 Telegram 的秘密聊天進行敏感對話
  2. 啟用登入通知(在隱私設定中)
  3. 考慮使用專用裝置運行 Telegram
  4. 定期 Session 稽核 - 每週檢查活躍 Session
  5. 使用密碼管理器管理雙重驗證密碼

更廣泛的影響

為什麼 Telegram 成為目標

Telegram 已成為主要攻擊目標,原因包括:

  1. 加密貨幣社群:大量價值透過 Telegram 交易
  2. 商業通訊:企業越來越多地使用 Telegram 進行運營
  3. 活動人士網路:政治組織者依賴 Telegram
  4. 單點故障:一個被入侵的帳號可能造成連鎖反應

類似攻擊向量

這種攻擊模式可以改編用於:

  • Discord(Token 竊取)
  • WhatsApp Web(QR 碼劫持)
  • Signal Desktop(類似的 Session 模型)
  • 瀏覽器服務(Cookie 竊取)

結論

這種攻擊代表了社交工程與技術利用相結合的複雜演進。透過理解 Telegram 的 Session 管理系統,攻擊者找到了一種將安全功能武器化對付使用者的方法。

關鍵要點:

  1. 永遠不要從不受信任的來源安裝軟體,特別是在時間壓力下
  2. 在所有通訊平台上啟用雙重驗證
  3. 定期稽核您的活躍 Session
  4. 對主動的會議邀請保持警惕
  5. 在安裝任何軟體前驗證下載連結

最好的防禦是意識。將這些資訊分享給可能成為目標的同事和朋友。

參考資料