ミッドナイト・ブリザードが大規模スパイ活動に関連
Detection stack
- AIDR
- Alert
- ETL
- Query
概要
ReversingLabsはロシアの脅威グループMidnight Blizzardに関連する大規模な諜報活動を特定しました。この作戦はChocoShellとして知られるPowerShellスタージャーと、CornFlakeというGoベースのバックドアを使用して、資格情報を盗み持続性を維持します。脅威アクターはClaude AIを活用してソフトウェアのインプラントを再構築・再配置し、検出を回避しようとしています。
調査
研究者はテレメトリアナリシスを通じて初期の2つのマルウェアハッシュを拡大し、ステージングサーバー、5つの追加のスタージャーバリアント、誘導文書、および関連するフィッシングインフラを発見しました。調査により、マルウェアハッシュはAI支援の再構築に伴い頻繁に変更される一方で、コアの動作とC2通信パターンはサンプル間で大部分が一貫していることが判明しました。
緩和策
組織は、Microsoft Entra IDのサインインアクティビティを確認し、疑わしいデバイスコード認証試行を調査するべきです。運用上可能であれば、条件付きアクセスを通じたデバイスコードフローのブロックを推奨します。セキュリティチームはまた、キャンペーンに関連するC2 IPアドレスと悪意のある類似ドメインに対するネットワークレベルのブロッキングを実施するべきです。
対応
悪意のある活動が検出された場合、対応者はMicrosoft 365トークンの盗難やデバイスコードフィッシングの試みを調査するべきです。無許可で作成されたサービスやLocalAppDataから実行された疑わしいプロセスをチェックします。PowerShellスクリプトブロックをレビューし、生のIPアドレス、通常でないコマンド、および観察された攻撃チェーンに関連する特定のステージラベルを確認します。
攻撃フロー
この部分はまだ更新中です。
検出
可能性のある持続性ポイント [ASEPs – Software/NTUSER Hive] (via registry_event)
システムプロセスを模倣する疑わしいプロセスが実行されました (via cmdline)
短いスクリプト名を使用した可能な実行 (via cmdline)
疑わしいPowerShell文字列 (via powershell)
疑わしいスケジュールされたタスク (via audit)
検出するためのIOC (HashSha256): RLがMidnight Blizzardに関連するキャンペーンを2つのハッシュからどのようにマッピングしたか
検出するためのIOC (HashSha1): RLがMidnight Blizzardに関連するキャンペーンを2つのハッシュからどのようにマッピングしたか
検出するためのIOC (HashMd5): RLがMidnight Blizzardに関連するキャンペーンを2つのハッシュからどのようにマッピングしたか
検出するためのIOC (SourceIP): RLがMidnight Blizzardに関連するキャンペーンを2つのハッシュからどのようにマッピングしたか
検出するためのIOC (DestinationIP): RLがMidnight Blizzardに関連するキャンペーンを2つのハッシュからどのようにマッピングしたか
Midnight Blizzard攻撃におけるGoバックドアに関連する実行可能ファイル [Windowsプロセス作成]
PowerShellスタージャーのHTTPSリクエスト – ピクセルビーコンとステージラベル [Windows PowerShell]
シミュレーション実行
-
攻撃ナラティブ & コマンド: 敵対者は、正規のWindowsサービスコンポーネントに偽装することで持続性を確立し、検出を回避しようとします。攻撃者はディレクトリ構造を作成し
AppDataLocalMicrosoftsvchost32という名前の悪意のあるバイナリをドロップしますsvchost32.exe。正規のsvchost.exeと似た名前を使用することで、攻撃者は忙しいシステムの雑音に紛れ込むことを期待しています。配置されたら、バイナリはGoベースのバックドア活動を模倣するために実行されます。 -
回帰テストスクリプト:
# Midnight Blizzard svchost32.exe 検出用シミュレーションスクリプト $targetDir = "$env:LOCALAPPDATAMicrosoftsvchost32" $executableName = "svchost32.exe" $executablePath = Join-Path $targetDir $executableName # 1. ディレクトリ構造の作成 if (!(Test-Path $targetDir)) { New-Item -Path $targetDir -ItemType Directory -Force | Out-Null Write-Host "[+] ディレクトリを作成しました: $targetDir" } # 2. マルウェアを表すダミーファイルを作成する (ファイル名/パスを模倣) # 実際のシナリオでは、これは実際のGoバックドアバイナリとなります New-Item -Path $executablePath -ItemType File -Force | Out-Null Write-Host "[+] ダミー実行可能ファイルを作成しました: $executablePath" # 3. "マルウェア"を実行してSysmonイベントID 1をトリガー Write-Host "[!] シミュレートされたバックドアを実行中..." Start-Process -FilePath $executablePath -ArgumentList "/silent" -ErrorAction SilentlyContinue Write-Host "[+] 実行完了。SIEMで検出を確認します。" -
クリーンアップコマンド:
# シミュレートされたアーティファクトを削除するクリーンアップスクリプト $targetDir = "$env:LOCALAPPDATAMicrosoftsvchost32" if (Test-Path $targetDir) { Remove-Item -Path $targetDir -Recurse -Force Write-Host "[+] シミュレーションディレクトリとファイルを削除しました: $targetDir" } else { Write-Host "[-] ディレクトリが見つかりませんでした。クリーンするものはありません。" }