ペルシャの王子APT分析:Infy、Foudre、およびTonnerreマルウェア
Detection stack
- AIDR
- Alert
- ETL
- Query
概要
Prince of Persia(APT-C-07とも追跡されている)は、2007年から活動していると評価される、イランと関連する長期的なサイバースパイ活動を行うアクターです。このグループは、メディア組織、政治機関、市民社会のターゲットを監視するために、複数の独自マルウェアファミリー(Infy、Foudre、Tonnerre、MaxPinner)をサイクルしています。作戦は通常、スピアフィッシングと機会的なドライブバイ感染経路を組み合わせて行われ、カスタムのコマンドアンドコントロール方法(特にTelegramボットベースのチャネルを含む)に依存してアクセスを維持し、侵害されたシステムからデータを移動します。
調査
Unit 42や他の研究チームは、2016年に観察されたInfyインフラストラクチャから2017年のFoudre活動の復活、およびコマンドアンドコントロールにTelegramを使用する2025年のTonnerreの反復に至るまでアクターのツールの進化を追跡しました。技術報告では、Visual Basicマクロドロッパーを介した配信、Windowsサービスインストールによる永続性、強靭なインフラストラクチャをサポートするためのドメイン生成ロジックの使用が強調されています。アナリストはまた、クレデンシャルアクセスやキーロギングなどの監視行動を行うために使用されるネイティブWindows APIレベルの機能、そして侵害後のトレードクラフトの継続的な洗練を示す実行パターンを文書化しました。
緩和策
初回実行機会を減らすために、Officeマクロに対する厳しい制御を適用し、メール添付のサニタイズを施行します。業務運営に必要ない環境でのTelegramトラフィックを制限するか、厳重に監視します。エンドポイント上では、疑わしいサービス作成についてアラートを発し、DLL実行チェーンに一致するrundll32の使用を追跡し、既知の悪意のあるファイル名とレジストリベースの永続化パターンをブロックします。DGAのような行動に関連する動的に変化するドメインパターンの検出内容を最新状態に保ち、現在のテレメトリに対して定期的に制御を検証します。
レスポンス
指標が検出された場合、影響を受けたシステムを隔離し、揮発性アーティファクトをキャプチャし、永続化に使用された特定のサービス名とレジストリエントリを探します。スケジュールされたタスクの作成、異常なDLLロードアクティビティ、およびTelegramベースのC2通信の証拠を含む情報の収集を拡大します。確実な修復プレイブックを使用して悪意のあるサービスやステージングファイルを削除し、潜在的に漏洩した認証情報を更新し、隣接するホストへの再侵入や再感染の試みを注意深く監視します。
graph TB %% Class definitions classDef action fill:#99ccff classDef malware fill:#ffcc99 classDef tool fill:#cccccc classDef operator fill:#ff9900 %% Nodes for each step step1[“<b>アクション</b> – <b>T1566.001 スピアフィッシング添付</b><br/>攻撃者はマクロを含む悪意のあるOffice文書を添付した標的型メールを送信する。”] class step1 action step2[“<b>アクション</b> – <b>T1059.005 Visual Basic</b><br/>マクロがVBAコードを実行し、Infy/Foudreペイロードを抽出・実行する。”] class step2 action malware_inf[“<b>マルウェア</b> – <b>名前</b>: Infy/Foudre<br/><b>説明</b>: Officeマクロ経由で配布されるペイロード。”] class malware_inf malware step3[“<b>アクション</b> – <b>T1204.001 悪意のあるリンク</b><br/>被害者がリンクをクリックまたは添付ファイルを開き、マクロが実行される。”] class step3 action step4[“<b>アクション</b> – <b>T1574.010 実行フローの乗っ取り(弱い権限)</b><br/>マルウェアが永続化のために権限を変更したWindowsサービスを作成する。”] class step4 action step5[“<b>アクション</b> – <b>T1027 難読化されたファイルまたは情報</b><br/>ペイロードはカスタム文字列エンコーディングを使用したパスワード保護の自己解凍アーカイブに梱包されている。”] class step5 action step6[“<b>アクション</b> – <b>T1036 偽装</b><br/>悪意のあるファイルは「Cyberlink」や「SnailDriver」などの正規ソフトに見せかけた名前が付けられる。”] class step6 action step7[“<b>アクション</b> – <b>T1056.001 入力キャプチャ(キーロギング)</b><br/>Windows APIフックを使用してユーザーの認証情報を取得する。”] class step7 action step8[“<b>アクション</b> – <b>T1555.003 ブラウザの保存パスワード</b><br/>Chrome、Edge、Firefoxなどからパスワード、Cookie、閲覧履歴を窃取する。”] class step8 action step9[“<b>アクション</b> – <b>T1012 レジストリ照会</b><br/>HKLM\SOFTWARE\Microsoft\Cryptography\MachineGuidを読み取り、システム識別子を取得する。”] class step9 action step10[“<b>アクション</b> – <b>T1518 ソフトウェア探索</b> および <b>T1518.001 セキュリティソフト探索</b><br/>インストール済みアプリケーションを列挙し、アンチウイルスの有無を確認する。”] class step10 action step11[“<b>アクション</b> – <b>T1010 アプリケーションウィンドウ探索</b><br/>セキュリティツールや解析コンソールを検出するために開いているウィンドウを列挙する。”] class step11 action step12[“<b>アクション</b> – <b>T1005 ローカルシステムのデータ</b><br/>ユーザーフォルダから文書、画像、アーカイブを収集する。”] class step12 action op_collect_methods((“AND”)) class op_collect_methods operator step13[“<b>アクション</b> – <b>T1113 画面キャプチャ</b>, <b>T1123 音声キャプチャ</b>, <b>T1125 動画キャプチャ</b>, <b>T1115 クリップボードデータ</b><br/>画面、マイク、ウェブカメラ、クリップボードの内容を記録する。”] class step13 action step14[“<b>アクション</b> – <b>T1074.001 ローカルデータの準備</b><br/>収集したファイルを一時的な場所にZIPまたはRAR形式で圧縮する。”] class step14 action step15[“<b>アクション</b> – <b>T1102.002 Webサービス双方向通信</b><br/>Telegramボットやグループを使用してC2通信と情報流出を行う。”] class step15 action tool_telegram[“<b>ツール</b> – <b>名前</b>: Telegram Bot<br/><b>説明</b>: Telegramを介した双方向C2通信を可能にする。”] class tool_telegram tool step16[“<b>アクション</b> – <b>T1568.002 動的ドメイン生成アルゴリズム</b><br/>時間に基づいた値でC2ドメインを生成する。”] class step16 action step17[“<b>アクション</b> – <b>T1497 仮想化サンドボックス回避</b><br/>Deep Freezeなどの解析ツールを検出し、実行を終了する。”] class step17 action step18[“<b>アクション</b> – <b>T1564 アーティファクト隠蔽</b><br/>検出を回避するために悪意のあるプロセスやファイルを終了・改名する。”] class step18 action %% Connections showing the attack flow step1 –>|leads_to| step2 step2 –>|executes| malware_inf malware_inf –>|triggers| step3 step3 –>|leads_to| step4 step4 –>|establishes| step5 step5 –>|enables| step6 step6 –>|enables| step7 step7 –>|provides| step8 step8 –>|provides| step9 step9 –>|provides| step10 step10 –>|provides| step11 step11 –>|provides| step12 step12 –>|feeds| op_collect_methods op_collect_methods –>|combines| step13 step13 –>|feeds| step14 step14 –>|prepares| step15 step15 –>|uses| tool_telegram tool_telegram –>|supports| step16 step16 –>|supports| step17 step17 –>|supports| step18
攻撃フロー
検出
疑わしいTaskkill実行(cmdline経由)
表示
コマンドラインにブラウザ名を引数として含む疑わしいコマンドライン
表示
通常でないフォルダでのハンズオンまたはスクリプト操作(cmdline経由)
表示
音声録音のための予想されるLame使用(cmdline経由)
表示
コマンドアンドコントロールチャネルとしてのTelegramの悪用の可能性(dns_query経由)
表示
Powershellからの疑わしいWindows API関数の呼び出し(powershell経由)
表示
自己解凍アーカイブが作成された可能性(file_event経由)
表示
Prince of Persia APTの分析を検出するためのIOC(メール):Infy、Foudre、Tonnerreマルウェア
表示
Prince of Persia Foudreマルウェアの実行と回避[Windowsプロセス作成]
表示
Telegramボットと動的ドメイン生成を使用したTonnerreマルウェアの検出[Windowsネットワーク接続]
表示
InfyマルウェアAPIコールの検出[Windows Sysmon]
表示
シミュレーション実行
前提条件: テレメトリとベースラインの事前フライトチェックはパスしている必要があります。
理由: このセクションは、検出ルールをトリガーするように設計された敵の技術(TTP)の正確な実行を詳述しています。コマンドと説明は、特定されたTTPを直接反映し、検出ロジックが期待する正確なテレメトリを生成することを目的としています。
-
攻撃の概要とコマンド:
シミュレートされた攻撃者は、ルールが監視するAPIコールに対応するファイル名を持つ3つのダミー実行ファイルを作成することにより、Infyマルウェアの動作を模倣します。次を使用してCopy-Item, 、notepad.exe(無害で既に存在するバイナリ)を一時ディレクトリにコピーし、各APIコールに一致するようファイル名を変更します。その後、攻撃者は各ダミーバイナリを実行し、Sysmonプロセス作成イベントを生成します。これにより、イメージは次のように終了します。GetFileAttributesA.exe,GetMessageA.exe、そしてDispatchMessageA.exe。ルールの条件は条件1または条件2であるため、イメージフィールドで -
、各起動がルールを満たし、アラートを生成します。
リグレッションテストスクリプト: -
クリーンアップコマンド:
# ------------------------------------------------- # クリーンアップスクリプト – シミュレートされたバイナリを削除 # ------------------------------------------------- $tempDir = "$env:TEMPInfySim" # 残っているダミープロセスを停止 Get-Process -Name "GetFileAttributesA","GetMessageA","DispatchMessageA" -ErrorAction SilentlyContinue | Stop-Process -Force # 一時ディレクトリとその内容を削除 Remove-Item -Path $tempDir -Recurse -Force -ErrorAction SilentlyContinue Write-Host "クリーンアップ完了。"