CaptiveCrunch:ミッドナイト・ブリザードがホテルWi-Fiキャプティブポータルを利用してMicrosoft 365の資格情報を盗む
Detection stack
- AIDR
- Alert
- ETL
- Query
概要
Midnight BlizzardのサブクラスターであるStorm-2945は、CaptiveCrunchとして追跡される資格情報窃盗キャンペーンを実施しています。攻撃者は、ホスピタリティ施設で妥協されたキャプティブポータルネットワーク上のDNSおよびHTTPトラフィックを操作し、ユーザーをフィッシングインフラストラクチャにリダイレクトします。これらのサイトは、Microsoft 365資格情報を収集し、デバイスコードフィッシングを実施し、CornFlakeやChocoShellマルウェアを配信するために使用されます。
調査
Microsoft Threat IntelligenceとReliaQuestは、米国のいくつかの都市、インド、サウジアラビアで妥協されたキャプティブポータルゲートウェイを特定しました。この調査は、CornFlakeというGoベースのRATと、ChocoShellというPowerShellスティーラーを含むAI支援マルウェア開発を明らかにしました。証拠は、この攻撃者が個々のホスピタリティ施設を妥協するのではなく、共有キャプティブポータルサービスをターゲットにしていることを示しています。
緩和策
組織はZscalerクライアントコネクタを完全トンネルモードで設定し、ローカルプロキシの使用を無効化して不正プロキシ注入のリスクを減らすべきです。DNSセキュリティと厳格なアウトバウンドDNSフィルタリングを有効にして、クエリが毒されたリゾルバに到達しないようにする必要があります。SSLインスペクションと高度なマルウェア保護も強制して、フィッシングページや悪意のあるペイロードを検出するようにします。
対応策
CaptiveCrunch活動が検出された場合、影響を受けたデバイスを隔離し、Microsoft 365セッショントークンとOAuth許可を取り消すべきです。ネットワークログを見直し、不正なDNSまたはHTTPリダイレクションや最近のキャプティブポータル接続を確認します。セキュリティチームはまた、CornFlakeの永続化メカニズムを検索し、新しく作成されたサービスやスケジュールされたタスクを含めて調査します。
攻撃フロー
検出
システムプロセスを模倣する疑わしいプロセスが実行されました (cmdline経由)
Wi-Fiパスワード発見の可能性 (cmdline経由)
IOCs (HashSha256) 検出対象: CaptiveCrunch: Midnight BlizzardはホテルWi-Fiキャプティブポータルを利用してMicrosoft 365資格情報を盗みます
IOCs (SourceIP) 検出対象: CaptiveCrunch: Midnight BlizzardはホテルWi-Fiキャプティブポータルを利用してMicrosoft 365資格情報を盗みます
IOCs (DestinationIP) 検出対象: CaptiveCrunch: Midnight BlizzardはホテルWi-Fiキャプティブポータルを利用してMicrosoft 365資格情報を盗みます
CornFlakeとChocoShellマルウェア活動の検出 [Windowsプロセス作成]
シミュレーション実行
前提条件: テレメトリとベースラインの事前チェックをパスしている必要があります。
根拠: このセクションは、検出ルールをトリガーするために設計された敵対者技術 (TTP) の正確な実行を詳述します。コマンドとナラティブは、検出ロジックによって期待される正確なテレメトリを生成することを目的とし、TTPと直接関連している必要があります。抽象的または無関係な例は誤診を招くでしょう。
-
攻撃ナラティブとコマンド: 敵対者が初期アクセスを取得し、CornFlake RATをデプロイして永続的なアクセスと資格情報の収集を試みています。基本的なシグネチャベースのツールによって検出されないよう、彼らは特定のファイル名を使用することがよくありますが、このシミュレーションでは「大声」でのデプロイメントを模倣し、この脅威活動を対象としたSOCの主要検出が機能していることを確認するためにマルウェアをその名前にちなんで直接起動します。CornFlake RATを模倣するプロセスとChocoShellスティーラーを模倣するプロセスの2つの独立したプロセスを開始します。
-
回帰テストスクリプト:
# CornFlakeおよびChocoShell検出ルールをトリガーするシミュレーションスクリプト。 # これはマルウェアに使用されるコマンドライン引数を模倣します。 Write-Host "[+] マルウェアシミュレーションを開始しています..." -ForegroundColor Cyan # CornFlake RAT実行のシミュレーション Write-Host "[+] CornFlakeシミュレーションを実行しています..." -ForegroundColor Yellow Start-Process "cmd.exe" -ArgumentList "/c echo Simulating CornFlake malware execution" -WindowStyle Hidden # ChocoShellスティーラー実行のシミュレーション Write-Host "[+] ChocoShellシミュレーションを実行しています..." -ForegroundColor Yellow Start-Process "powershell.exe" -ArgumentList "-Command `"Write-Output 'Running ChocoShell stealer module';`"" -WindowStyle Hidden Write-Host "[+] シミュレーションコマンドが送信されました。" -ForegroundColor Green -
クリーンアップコマンド:
# 永続的なファイルは作成されませんでしたが、生成されたcmd/powershellインスタンスが終了していることを確認します。 Stop-Process -Name "cmd" -ErrorAction SilentlyContinue Stop-Process -Name "powershell" -ErrorAction SilentlyContinue Write-Host "[+] クリーンアップ完了。" -ForegroundColor Cyan