インペリアルキトゥンAPTプロフィール:TTP、マルウェア、攻撃シミュレーション
Detection stack
- AIDR
- Alert
- ETL
- Query
概要
Imperial Kittenは、IRGCと結びついているイランの国家支援APTで、航空宇宙および防衛組織を標的にしていることで知られています。このグループは、特定の標的型スピアフィッシングキャンペーンや資格認証を検証されたポータルを介してカスタムマルウェアを配信します。ツールキットには、TWOSTROKEやMINIBIKEといった複数のバックドアが含まれ、C2通信にはMicrosoft Azureインフラストラクチャを頻繁に利用しています。
調査
このレポートは、2017年から2026年にかけてのImperial Kittenの発展を追跡し、サプライチェーン作戦から高度なソーシャルメディアキャットフィッシングや特定のフィッシングポータルへのシフトを強調しています。分析では、ステルス性を維持し、検出を複雑化するために使用されるカスタムLLVMスタイルの難読化技術やDLLサイドローディング手法も検証しています。
緩和策
組織は、類似ドメインを識別し、正当な認証フローを検証するために、メールセキュリティを強化するべきです。エンドポイント防御をDLLサイドローディングに対して強化し、Runキーでの無許可のレジストリ変更を厳重に監視するべきです。承認されたクラウドサービスへ出入するトラフィックを制限することも、Azureインフラストラクチャを介したC2通信のリスクを減少させます。
対応策
Imperial Kittenの活動が検出された場合、RDPやSSHトンネルを介した横方向への移動を防ぐために、妥協されたホストを隔離してください。法医学的分析を実施 %LOCALAPPDATA% して疑わしいDLLを確認し、持続メカニズムについてレジストリキーを点検してください。特定されたC2ドメインやツールに関連する異常なパターンについて、Azureに関連するネットワークトラフィックをレビューします。
攻撃の流れ
検出
可能性のある持続ポイント [ASEPs – ソフトウェア/NTUSER ハイブ] (via registry_event)
疑わしいSSHポートフォワーディング [Windows] (via cmdline)
アカウントまたはグループの列挙/操作の可能性 (via cmdline)
レジストリ RDP 固有アーティファクト削除試行の可能性 (via cmdline)
トンネリングツール使用の可能性 [Windows] (via cmdline)
代替リモートアクセス/管理ソフトウェア (via process_creation)
Dxgiサイドローディング試行の可能性 (via image_load)
VGAuth.dllサイドローディング試行の可能性 (via image_load)
パブリックユーザープロファイル内の疑わしいファイル (via file_event)
珍しいプロセスによって連絡された可能性のあるAzurewebsitesドメイン (via dns_query)
IOC (SourceIP) を検出する: Imperial Kitten (Tortoiseshell) APT: TTP、マルウェア、および攻撃シミュレーション
IOC (DestinationIP) を検出する: Imperial Kitten (Tortoiseshell) APT: TTP、マルウェア、および攻撃シミュレーション
Imperial Kittenの持続性とステルスレジストリ変更 [Windowsレジストリエベント]
AzureインフラストラクチャでImperial Kitten C2サーバーを検出する [Azure活動ログ]
シミュレーション実行
-
攻撃の物語 & コマンド: 敵対者は初期アクセスをうまく取得しました。再起動後にもシステムに残るために、Current UserのRunレジストリキーに「MigAutoPlay」エントリを追加するローダーを展開します。これによりImperial Kittenのマルウェアプロファイルを模倣します。持続性を確立した後、敵対者はRDPを介して横方向の移動を行います。検出を回避し、法医学的調査官の追跡を隠すために、接続履歴を保存しているレジストリキーを直ちに削除します。
-
回帰テストスクリプト:
# --- パート1: 持続性シミュレーション --- Write-Host "[+] MigAutoPlayを介した持続性のシミュレーションを行っています..." $PersistencePath = "HKCU:SoftwareMicrosoftWindowsCurrentVersionRun" New-ItemProperty -Path $PersistencePath -Name "MigAutoPlay" -Value "C:UsersPublicloader.dll" -PropertyType String -Force # --- パート2: 反法医学 (RDPクリーンアップ) シミュレーション --- Write-Host "[+] RDP履歴クリーンアップをシミュレーションしています..." $RDPPath1 = "HKCU:SoftwareMicrosoftTerminal Server ClientDefault" $RDPPath2 = "HKCU:SoftwareMicrosoftTerminal Server ClientServers" # クリーンアップをシミュレーションするためにキーを削除します if (Test-Path $RDPPath1) { Remove-Item -Path $RDPPath1 -Recurse -Force } if (Test-Path $RDPPath2) { Remove-Item -Path $RDPPath2 -Recurse -Force } Write-Host "[!] シミュレーションが完了しました。" -
クリーンアップコマンド:
# シミュレーション中に作成された持続キーをクリーンアップする Remove-ItemProperty -Path "HKCU:SoftwareMicrosoftWindowsCurrentVersionRun" -Name "MigAutoPlay" -ErrorAction SilentlyContinue # 注: RDPキーはシステム管理されているため、スクリプトを介して'削除された'履歴を簡単に復元することはできませんが、必要に応じて空の構造を再作成できます。 New-Item -Path "HKCU:SoftwareMicrosoftTerminal Server ClientDefault" -Force | Out-Null New-Item -Path "HKCU:SoftwareMicrosoftTerminal Server ClientServers" -Force | Out-Null