Resoker RATはコマンド&コントロールにTelegramを使用
Detection stack
- AIDR
- Alert
- ETL
- Query
概要
ResokerRATは新たに識別されたリモートアクセス型トロイの木馬で、コマンド&コントロールにTelegram Bot APIを使用します。Runレジストリ値を通じて持続し、権限昇格、スクリーンショットの取得、タスクマネージャーのブロック、UAC制御の弱体化などの機能を含みます。可視性を減らすために、隠しウィンドウでPowerShellを実行し、一般的な解析ツールの終了を試みます。検出はそのミューテックス、キーとなるレジストリ変更、TelegramベースのC2活動を軸に行われる可能性があります。
調査
Resokerの分析は、ミューテックスの作成、アンチデバッグロジック、セキュリティおよび分析ユーティリティを対象としたアグレッシブなプロセス終了を強調しています。このマルウェアはキーボードフックを設定し、Telegramで送信される定義されたコマンドセットを受け入れ、タスクマネージャーを無効にしてUAC動作を緩和するためにレジストリ値を変更します。フォローオンペイロードは、最初の侵害後のモジュラー拡張をサポートし、隠蔽されたPowerShell実行を通じて取得できます。
緩和策
既知のミューテックスを監視し、DisableTaskMgrおよびUAC関連のキーに関連するレジストリ変更をアラートします。可能な限りTelegram APIエンドポイントへの外向きアクセスを制限またはブロックし、許可されていないPowerShellの実行を防ぐためのアプリケーションコントロールを強制します。キーボードフックの動作や疑わしい隠しウィンドウPowerShell活動をフラグ化するホストベースの検出は、さらなる影響を減らすことができます。
対応策
検出された場合、ホストを隔離し、悪意のあるプロセスを停止し、Runキー持続エントリを削除します。揮発性の証拠(ミューテックス値、Telegramボット/C2インジケータ、コマンドラインテレメトリ)を保持し、追加のペイロードや持続性のために完全なフォレンジックスウィープを実行します。タスクマネージャーおよびUACに影響するレジストリ変更を元に戻し、盗難が疑われる場合は露呈した資格情報をローテートし、再発防止のために最小特権実行ポリシーを再適用します。
"graph TB %% クラス定義 classDef action fill:#ffcc99 classDef technique fill:#99ccff classDef persistence fill:#ffd699 classDef command_and_control fill:#ffdd99 %% ノード定義 action_execution["<b>アクション</b> – <b>T1059.001 PowerShell</b>: Resoker.exeを介した隠しPowerShellコマンドの実行<br/><b>技術</b>: PowerShellを使用してコマンドを実行"] class action_execution action tech_hide_window["<b>技術</b> – <b>T1564.003 隠しウィンドウ</b>: コマンドを隠されたウィンドウで実行してユーザーの視認性を回避"] class tech_hide_window technique action_process_enum["<b>アクション</b> – <b>T1057 プロセス発見</b>: 実行中のプロセスを列挙し、解析ツールを終了"] class action_process_enum action action_keylogging["<b>アクション</b> – <b>T1056.001 キーロギング</b>: 入力をキャプチャするための低レベルキーボードフックをインストール"] class action_keylogging action persistence_run_key["<b>持続</b> – <b>T1037.005 レジストリランキー</b>: 自動スタートのためにHKCUランレジストリエントリを作成"] class persistence_run_key persistence defense_disable_taskmgr["<b>技術</b> – <b>T1562.001 タスクマネージャーの無効化</b>: DisableTaskMgrレジストリ値を1に設定"] class defense_disable_taskmgr technique action_screen_capture["<b>アクション</b> – <b>T1113 スクリーンキャプチャ</b>: PowerShellを介して画面をキャプチャし、PNGファイルに保存"] class action_screen_capture action action_download["<b>アクション</b> – <b>T1059.001 PowerShell</b>と<b>T1202 間接コマンド実行</b>: 隠しPowerShellコマンドを使用して追加のファイルをダウンロード"] class action_download action c2_telegram["<b>コマンド&コントロール</b> – <b>T1102.002 ウェブサービス</b>と<b>T1102.003 一方向メッセージ</b>: HTTPS経由でTelegram Bot APIを介して攻撃者と通信"] class c2_telegram command_and_control %% 攻撃フローを示す接続 action_execution –>|使用| tech_hide_window action_execution –>|トリガー| action_process_enum action_process_enum –>|終了| action_keylogging action_process_enum –>|確立| persistence_run_key persistence_run_key –>|強化| defense_disable_taskmgr action_process_enum –>|有効化| action_screen_capture action_screen_capture –>|呼び出し| action_download action_download –>|経由で漏洩| c2_telegram "
攻撃フロー
検出
コマンド&コントロールチャンネルとしてのTelegramの不正利用の可能性 (dns_query経由)
表示
持続可能性ポイント[ASEP – ソフトウェア/NTUSERハイブ] (registry_event経由)
表示
Powershellによるダウンロードまたはアップロード (cmdline経由)
表示
検出するためのIOCs (DestinationIP): Resoker: Telegramベースのリモートアクセス型トロイの木馬
表示
検出するためのIOCs (HashMd5): Resoker: Telegramベースのリモートアクセス型トロイの木馬
表示
検出するためのIOCs (SourceIP): Resoker: Telegramベースのリモートアクセス型トロイの木馬
表示
ResokerRATの実行の検出 [Windowsプロセス作成]
表示
画面キャプチャのためのSilence PowerShell実行を検知 [Windows PowerShell]
表示
シミュレーション実行
前提条件: テレメトリおよび標準状態の事前チェックに合格していること。
理由: このセクションは、検出ルールをトリガーするための侵入者技術(TTP)の正確な実行を詳述します。コマンドと説明は、特定されたTTPに直接反映され、検出ロジックが期待する正確なテレメトリを生成することを目的としています。
-
攻撃の流れ及びコマンド:
Windowsワークステーションに足場を築いた攻撃者が、視覚的な兆候をあげずにユーザーのデスクトップをキャプチャしたいと考えています。彼は、PowerShellを以下のコマンドで起動します。-WindowStyle Hiddenスイッチを使用し、.NETをロードします。System.Windows.FormsandSystem.Drawingアセンブリを用いて、CopyFromScreenメソッドを使ってメインスクリーンをキャプチャし、ビットマップを一時ファイルに書き込みます。このコマンドは、PowerShellスクリプトブロックログに完全な文字列が表示され、すべての検出セレクタに一致するように単一のラインで構築されています。 -
回帰テストスクリプト:
# サイレントスクリーンキャプチャ - 検出テレメトリを再現します $psCommand = @" Add-Type -AssemblyName System.Windows.Forms Add-Type -AssemblyName System.Drawing $bounds = [System.Windows.Forms.Screen]::PrimaryScreen.Bounds $bitmap = New-Object System.Drawing.Bitmap $bounds.Width, $bounds.Height $graphics = [System.Drawing.Graphics]::FromImage($bitmap) $graphics.CopyFromScreen($bounds.Location, [System.Drawing.Point]::Empty, $bounds.Size) $output = "C:Tempscreenshot.png" $bitmap.Save($output, [System.Drawing.Imaging.ImageFormat]::Png) Write-Host "Screenshot saved to $output" "@ # 組み立てられたコマンドで隠れたPowerShellを実行 powershell -WindowStyle Hidden -Command $psCommand -
クリーンアップコマンド:
# スクリーンショットと残留オブジェクトを削除 Remove-Item -Path "C:Tempscreenshot.png" -ErrorAction SilentlyContinue