偽の購買注文メールを利用したマルウェアフィッシング攻撃
Detection stack
- AIDR
- Alert
- ETL
- Query
概要
脅威アクターは、購入注文を装った悪意のあるDOCX添付ファイルを含むフィッシングメールを配布しています。これらの文書は、悪意のあるRTFファイルを読み込むためにaltChunk要素を悪用し、VBScriptを実行するためのEquation Editorの脆弱性を利用しています。最終的なペイロードは、SnakeKeyloggerという情報窃取ツールで、資格情報を盗み、キーストロークを記録し、他の機密情報を収集するように設計されています。
調査
AhnLab Security Intelligence Center (ASEC)は、悪意のあるDOCX添付ファイルから始まる感染チェーンを分析しました。研究者は、RTFファイル、VBScript、PowerShell、およびPythonベースのローダーを含む多段階の実行シーケンスを特定しました。最終的に、特定の復号技術に依存して埋め込まれたシェルコードを実行するSnakeKeyloggerが展開されます。
軽減策
ユーザーは送信者のメールドメインを確認し、予期しない添付ファイルやリンクを受け取った際には注意を払うべきです。組織は、altChunk要素を含む疑わしい.docxファイルを検出するためにメールフィルタリングを設定し、pythonw.exeやcscript.exeの不正な実行を監視すべきです。また、Microsoft Officeやその他のソフトウェアも既知の脆弱性に対してパッチを適用する必要があります。
対応策
悪意のある活動が検出された場合、さらなるデータ漏洩を防ぐために影響を受けたシステムを隔離します。妥協の範囲を特定し、Registry Runキーを通じて永続性を判断するためにフォレンジック分析を実施します。特にブラウザ、メール、および金融サービスの資格情報を、感染したホストからアクセスされたアカウントのためにリセットします。
攻撃フロー
この部分はまだ更新中です。
検出
疑わしいMSOffice子プロセス(cmdline経由)
疑わしいフォルダからのPython実行(cmdline経由)
LOLBAS WScript / CScript(process_creation経由)
検出するためのIOCs(HashMd5):購入注文として装ったフィッシングメールのマルウェアフィッシング/詐欺
Base64デコードのための非表示モードでのPowerShell実行を検出 [Windows Powershell]
フィッシング攻撃における悪意のあるVBSとPythonスクリプトの実行 [Windowsプロセス作成]
購入注文として装ったフィッシングメール内の悪意のあるファイルの検出 [Windowsファイルイベント]
シミュレーション実行
-
攻撃の流れとコマンド: 加害者は、DOCX形式の偽の「購入注文」を含むスピアフィッシングメールを送信します。被害者が文書を開くと、マクロまたはエクスプロイトによって、
832734.Vbsという悪意のあるペイロードがテンポラリディレクトリ内に抽出されます。攻撃者はその後、wscript.exeを介してこのスクリプトを実行します。この操作は、初期の足がかりを確立し、SnakeKeylogger情報窃取ツールを使用して資格情報の収集を開始することを目的としています。検出ルールは、ファイル名が832734.Vbsプロセス作成コマンドラインに存在しているため、実行をキャッチすることを期待しています。 -
回帰テストスクリプト:
# SnakeKeyloggerファイル名ベースの実行を再現するためのシミュレーションスクリプト $tempPath = $env:TEMP $maliciousFile = Join-Path $tempPath "832734.Vbs" # ペイロードをシミュレートするダミーのVBSファイルを作成 "WScript.Echo 'SnakeKeyloggerペイロードのシミュレーション'" | Out-File -FilePath $maliciousFile -Encoding ascii # 検出ルールをトリガーするためにwscript.exeを介してファイルを実行 Start-Process "wscript.exe" -ArgumentList "`"$maliciousFile`"" Write-Host "シミュレーション完了。832734.Vbsを含むプロセス作成のセキュリティログを確認してください" -
クリーンアップコマンド:
# クリーンアップ:シミュレートされた悪意のあるファイルを削除 $tempPath = $env:TEMP $maliciousFile = Join-Path $tempPath "832734.Vbs" if (Test-Path $maliciousFile) { Remove-Item $maliciousFile -Force Write-Host "クリーンアップ成功:$maliciousFile が削除されました。" }