Operation Poseidon: Spear-Phishing Attacks Abusing Google Ads Redirection Mechanisms
Detection stack
- AIDR
- Alert
- ETL
- Query
概要
Operation Poseidonは、Konni APTに帰属するスピアフィッシングキャンペーンであり、GoogleとNaverの広告クリック追跡/リダイレクトURLを武器化して悪意のあるLNKショートカットファイルを配信します。開くと、LNKはAutoItローダーをトリガーし、主にメモリ内でEndRATを実行します。この作戦は、ペイロードホスティングとコマンド・アンド・コントロール(C2)サービスに妥協されたWordPressサイトに依存しています。
調査
Geniansセキュリティセンターは、フィッシングメールの誘導、埋め込まれた追跡ビーコン、LNKショートカットの起動からAutoItのステージングロジック、メモリ内のEndRAT展開まで、エンドツーエンドの実行フローをレビューしました。アナリストはまた、ドメインjlrandsons.co.ukやビルドパスD:3_Attack WeaponAutoitBuild__Poseidon – Attackclient3.3.14.a3xなどのインフラストラクチャと開発アーティファクトの再利用にも注目しました。
緩和策
ZIPアーカイブ内に配信されたLNKファイルの実行を防ぎ、Google/Naver追跡ドメインからの広告クリックリダイレクトチェーンを精査します。AutoItの活動や不審なプロセス生成(特に異常なPowerShellやcmd.exeの起動)に対する厳格なEDRカバレッジを施行します。インフラストラクチャの悪用を減少させるため、WordPressインスタンスを強化し、定期的にパッチを適用して、マルウェア配布ポイントとしての利用を制限します。
対応策
初期のLNK実行イベントにアラートを出し、ユーザーインタラクションによって開始されたAutoIt.exeの実行をフラグし、識別されたC2ドメインとIPへのアウトバウンド接続を監視します。疑われるエンドポイントを隔離し、AutoItスクリプト、LNKメタデータ、回収されたEndRATコンポーネントなどの法医学的アーティファクトを収集して、スコープと根絶をサポートします。
“graph TB %% クラス定義 classDef action fill:#99ccff %% ノード定義 node_phishing[“<b>アクション</b> – <b>T1566.001 スピアフィッシング添付ファイル</b><br/><b>説明</b>: 悪意のあるZIPファイルを含むスピアフィッシングメールを送信します。ファイルにはLNKショートカットが含まれます。”] class node_phishing action node_user_execution[“<b>アクション</b> – <b>T1204.001 ユーザー実行の悪意のあるリンク</b><br/><b>説明</b>: 被害者がリダイレクトURL(ad.doubleclick.net)をクリックし、悪意のあるダウンロードに誘導されます。”] class node_user_execution action node_lnk_smuggling[“<b>アクション</b> – <b>T1027.012 LNKアイコン密輸</b><br/><b>説明</b>: LNKショートカットが、悪意のあるペイロードを無害なアイコンの背後に隠し、AutoItスクリプトを起動します。”] class node_lnk_smuggling action node_autohotkey_autoit[“<b>アクション</b> – <b>T1059.010 コマンドとスクリプトインタープリタAutoHotKeyとAutoIT</b><br/><b>説明</b>: PDFとして偽装されたAutoItスクリプトは、メモリ内で直接EndRATペイロードをロードします。”] class node_autohotkey_autoit action node_masquerade[“<b>アクション</b> – <b>T1036.008 ファイルタイプ偽装</b><br/><b>説明</b>: 悪意のあるスクリプトが、.pdf拡張子を持って合法に見えるように提示されます。”] class node_masquerade action node_web_service[“<b>アクション</b> – <b>T1102 ウェブサービス</b><br/><b>説明</b>: 妥協されたWordPressサイトがペイロードのホスティングとコマンド・アンド・コントロールサーバーとの通信に使用されます。”] class node_web_service action %% 接続 node_phishing u002du002d>|leads_to| node_user_execution node_user_execution u002du002d>|leads_to| node_lnk_smuggling node_lnk_smuggling u002du002d>|leads_to| node_autohotkey_autoit node_autohotkey_autoit u002du002d>|leads_to| node_masquerade node_autohotkey_autoit u002du002d>|leads_to| node_web_service “
アタックフロー
検出
複数拡張子を持つ可能性のある悪意のLNKファイル(cmdline経由)
表示
AutoITバイナリは異常な場所から実行されました(process_creation経由)
表示
IOC(DestinationIP)を検出する: Operation Poseidon: Google広告リダイレクションメカニズムを悪用したスピアフィッシング攻撃
表示
IOC(Emails)を検出する: Operation Poseidon: Google広告リダイレクションメカニズムを悪用したスピアフィッシング攻撃
表示
IOC(SourceIP)を検出する: Operation Poseidon: Google広告リダイレクションメカニズムを悪用したスピアフィッシング攻撃
表示
IOC(HashMd5)を検出する: Operation Poseidon: Google広告リダイレクションメカニズムを悪用したスピアフィッシング攻撃
表示
C2通信用の異常な外部接続試行(Windows Powershell経由)
表示
LNKファイル実行後の悪意のプロセスの実行(Windowsプロセス作成)
表示
シミュレーション実行
前提条件: テレメトリ & ベースラインの事前チェックが合格していることが必要です。
理由: このセクションは、検出ルールをトリガーするように設計された敵対者テクニック(TTP)の正確な実行を詳述しています。コマンドと説明はTTPsを直接反映し、検出ロジックによって期待される正確なテレメトリを生成することを目指します。
-
攻撃ナラティブ&コマンド:
攻撃者は悪意のショートカット(
malicious.lnk)を作成し、powershell.exeにエンコードされたコマンドを指示してペイロードをダウンロードおよび実行します。このショートカットはスピアフィッシングメールを介して配信されます。ダブルクリックすると、Windows Explorerは.lnkを解決し、powershell.exeをLNKプロセスの子として生成します。この特定の親子関係はSigmaルールのexecution_after_LNK条件を満たします。 -
回帰テストスクリプト:
# ------------------------------------------------------------- # エンコードされたコマンドでPowerShellを起動する悪意のあるLNKを作成 # ------------------------------------------------------------- $WshShell = New-Object -ComObject WScript.Shell # デスクトップにLNKを作成するパス $lnkPath = "$Env:UserProfileDesktopmalicious.lnk" # ターゲット実行ファイル $target = "$Env:SystemRootSystem32WindowsPowerShellv1.0powershell.exe" # 例のエンコードされたコマンド(無害なインジケータとしてテキストファイルを作成) $plainCmd = "New-Item -Path $Env:Tempposeidon_test.txt -ItemType File -Force" $bytes = [System.Text.Encoding]::Unicode.GetBytes($plainCmd) $encoded = [Convert]::ToBase64String($bytes) $arguments = "-EncodedCommand $encoded" $shortcut = $WshShell.CreateShortcut($lnkPath) $shortcut.TargetPath = $target $shortcut.Arguments = $arguments $shortcut.Save() Write-Host "LNK created at $lnkPath" # ------------------------------------------------------------- # LNKを実行して検出ルールをトリガー # ------------------------------------------------------------- Start-Process -FilePath $lnkPath # ------------------------------------------------------------- # オプション: SIEMの取り込みを許可するために一時停止 # ------------------------------------------------------------- Start-Sleep -Seconds 10 # ------------------------------------------------------------- # クリーンアップ(インジケータファイル、LNK、およびインジケータを削除) # ------------------------------------------------------------- Remove-Item -Path "$Env:Tempposeidon_test.txt" -ErrorAction SilentlyContinue Remove-Item -Path $lnkPath -ErrorAction SilentlyContinue Write-Host "Cleanup completed." -
クリーンアップコマンド: (上記のスクリプトが使用されない場合)
# テスト中に作成されたインジケータファイルを削除 Remove-Item -Path "$Env:Tempposeidon_test.txt" -ErrorAction SilentlyContinue # 悪意のあるショートカットを削除 $lnkPath = "$Env:UserProfileDesktopmalicious.lnk" Remove-Item -Path $lnkPath -ErrorAction SilentlyContinue Write-Host "テストアーティファクトが削除されました。"