DriveSurgeがClickFixと偽の更新ドライブバイ攻撃を大規模に使用
Detection stack
- AIDR
- Alert
- ETL
- Query
概要
DriveSurgeは、新たに出現した初期アクセスブローカーであり、正当なウェブサイトを侵害し、悪意のあるJavaScriptを注入して、zTDSとして知られるオープンソースのトラフィック分配システムを通じて訪問者を流入させます。その後、偽のブラウザ更新ページやClickFixスタイルのプロンプトを提供し、macOSおよびWindowsユーザーに対し、偽装したダウンロードまたは悪意のあるPowerShellコマンドを通じてマルウェアを届けます。そのインフラストラクチャには、何千もの .icu が含まれており、NiceNICを通じて登録され、弾力性のあるインフラストラクチャにホストされています。このキャンペーンは、広範囲にわたり複数のブラウザやオペレーティングシステムのユーザーを対象としています。
調査
研究者たちは、この作戦に関連する8つの異なる技術的指紋を特定しました。これには、 t.js, t..js、 ext-b..jsのような特徴的なJavaScriptファイル名や nginx や特定のJARMハッシュなどのサーバーの特質が含まれています。インフラストラクチャのマッピングは、ドメインサーチ、WHOISメールピボット、 jclforwarding.comを含む侵害されたウェブサイトの分析に基づいて行われました。チームは、ペイロード配信URL、コマンド&コントロールサーバー、特にmacOSの被害者を狙ったクリップボードハイジャックの行動を文書化しました。
緩和策
組織は、文書化されたJavaScript注入パターン、 jsrepo といったzTDS関連ファイルの存在を監視し、既知の弾力性のあるホスティングIPアドレスへの外部接続を監視するべきです。防御者は、検出されたフィンガープリントに一致するNiceNICを通じて登録された疑わしい rnd parameter, and outbound connections to known bulletproof hosting IP addresses. Defenders should block suspicious .icu ドメインをブロックし、インターネットに面したウェブ資産に厳格なコンテンツセキュリティポリシーを適用するべきです。エンドポイント保護は、配信に使用されるBase64でエンコードされたPowerShellとBashコマンドチェーンの検出も可能でなければなりません。
対応
DriveSurgeの活動が検出された場合、影響を受けたウェブ資産は即座に隔離され、悪意のあるJavaScriptは除去され、侵害されたドメイン登録はレビューまたは取り消されるべきです。識別されたドメインとIPアドレスはネットワークの境界でブロックされるべきです。セキュリティチームは、悪意のあるダウンロードコマンドを実行したシステムのフォレンジック分析も実施し、さらされた資格情報をリセットすべきです。関連するインディケータは、業界のISACや信頼できるパートナーと共有されるべきです。
graph TB %% クラス定義 classDef action fill:#99ccff classDef tool fill:#cccccc classDef malware fill:#ffcc99 classDef process fill:#ff9966 classDef operator fill:#ff9900 %% ノード node_initial_access[“<b>アクション</b> – <b>T1189 ドライブバイ侵害</b><br/><b>説明</b>: 高信頼性サイトを侵害し、悪性JavaScriptを注入する。<br/><b>結果</b>: 被害者のブラウザが悪性コードを読み込む。”] class node_initial_access action node_content_injection[“<b>アクション</b> – <b>T1659 コンテンツインジェクション</b><br/><b>説明</b>: 注入されたスクリプト(t.js, ext-b, jsrepo)がzTDS配信システムを読み込む。<br/><b>スクリプト</b>: t.js, ext-b, jsrepo。”] class node_content_injection action tool_ztds[“<b>ツール</b> – zTDS トラフィック配信システム<br/><b>目的</b>: 侵害されたブラウザへ悪性JavaScriptを配信する。”] class tool_ztds tool malware_jsrepo[“<b>マルウェア</b> – jsrepo<br/><b>役割</b>: ペイロードURLを配信する難読化ローダースクリプト。”] class malware_jsrepo malware node_obfuscation[“<b>アクション</b> – コマンド難読化<br/><b>技術</b>: T1027.010 / T1027.007 / T1027.018<br/><b>説明</b>: Base64エンコード、atob、連結処理、不可視UnicodeでURLを隠蔽する。”] class node_obfuscation action node_fake_updates[“<b>アクション</b> – <b>T1554 偽アップデート</b><br/><b>説明</b>: 偽の更新ページでマルウェアバイナリをダウンロードさせる。<br/><b>関連</b>: T1204.004 ユーザ実行。”] class node_fake_updates action node_copy_paste[“<b>アクション</b> – <b>T1204.004 悪意あるコピー&ペースト</b><br/><b>説明</b>: ユーザが偽ページのコマンドをコピーしターミナルで実行する。”] class node_copy_paste action node_clickfix[“<b>アクション</b> – <b>T1684 ClickFix ソーシャルエンジニアリング</b><br/><b>説明</b>: 偽エラーによりクリップボードをBase64コマンドに置き換える。<br/><b>関連</b>: T1115 クリップボードハイジャック。”] class node_clickfix action node_clipboard_hijack[“<b>アクション</b> – <b>T1115 クリップボードハイジャック</b><br/><b>説明</b>: 攻撃者がクリップボードを悪性コマンドで上書きする。”] class node_clipboard_hijack action node_browser_hijack[“<b>アクション</b> – <b>T1185 ブラウザセッションハイジャック</b><br/><b>説明</b>: 侵害サイトがzTDSを通じて攻撃者制御ドメインへリダイレクトする。”] class node_browser_hijack action node_payload_delivery[“<b>アクション</b> – <b>T1133 外部リモートサービス / T1105 ツール転送</b><br/><b>説明</b>: curl/wgetを使用してmacOS向け二次ペイロードをダウンロードする。”] class node_payload_delivery action tool_curl[“<b>ツール</b> – curl<br/><b>目的</b>: 攻撃者サーバからファイル転送を行う。”] class tool_curl tool tool_wget[“<b>ツール</b> – wget<br/><b>目的</b>: 攻撃者サーバからファイル転送を行う。”] class tool_wget tool process_download[“<b>プロセス</b> – ダウンロードスクリプト<br/><b>動作</b>: curl/wgetを実行してmacOSバイナリを取得する。”] class process_download process node_c2[“<b>アクション</b> – <b>T1102.002 双方向Web通信</b><br/><b>説明</b>: HTTPSおよびコンテンツインジェクションを使用してC2通信を行う。”] class node_c2 action node_ad_distribution[“<b>アクション</b> – <b>T1596.004 広告配信システムの利用</b><br/><b>説明</b>: 悪性広告およびCDNがペイロードを配信する。”] class node_ad_distribution action %% 接続 node_initial_access –>|使用| node_content_injection node_content_injection –>|読み込み| tool_ztds node_content_injection –>|配信| malware_jsrepo malware_jsrepo –>|実行| node_obfuscation node_obfuscation –>|有効化| node_fake_updates node_fake_updates –>|トリガー| node_copy_paste node_copy_paste –>|遷移| node_clickfix node_clickfix –>|使用| node_clipboard_hijack node_clipboard_hijack –>|遷移| node_browser_hijack node_browser_hijack –>|リダイレクト| node_payload_delivery node_payload_delivery –>|使用| tool_curl node_payload_delivery –>|使用| tool_wget node_payload_delivery –>|配信| process_download process_download –>|実行| node_c2 node_c2 –>|通信| node_ad_distribution
攻撃フロー
検出
Powershellを介したダウンロードまたはアップロード (cmdline経由)
表示
Powershellからの疑わしいWindows API関数呼び出し (powershell経由)
表示
Base64エンコードされた文字列の操作の可能性 [MacOS] (cmdline経由)
表示
疑わしいCurl実行の試み [MacOS] (cmdline経由)
表示
IOC(HashSha256)を検出する: DriveSurgeに出会う:ClickFixと偽の更新ドライブバイ攻撃を使用する新たな脅威アクターとしての登場
表示
IOC(出力IP)を検出する: DriveSurgeに出会う:ClickFixと偽の更新ドライブバイ攻撃を使用する新たな脅威アクターとしての登場
表示
IOC(宛先IP)を検出する: DriveSurgeに出会う:ClickFixと偽の更新ドライブバイ攻撃を使用する新たな脅威アクターとしての登場
表示
悪意のあるClickFixコマンド実行を検出する [Windows Powershell]
表示
DriveSurgeの悪意のあるJavaScript注入の検出 [ウェブサーバー]
表示
シミュレーション実行
前提条件: テレメトリおよびベースライン事前フライトチェックが合格している必要があります。
理論: このセクションは、検出ルールをトリガーするように設計された敵のテクニック(TTP)の正確な実行を詳細に説明します。コマンドとナラティブは識別されたTTPを直接反映し、検出ロジックによって期待される正確なテレメトリを生成することを目的としています。
-
攻撃のナラティブとコマンド
-
ステージ1 – 悪意のあるペイロードのデプロイ:
攻撃者は、”t.js(またはハッシュベースの名前)のJavaScriptファイルを侵害されたウェブサーバーにアップロードします。ファイルにはDriveSurge HTMLスモーグリングスニペットが含まれ、静かに追加のペイロードを取得します。 -
ステージ2 – 被害者のリクエスト:
被害者のブラウザ(”curl“を使ってシミュレート)を使用して悪意のあるファイルをリクエストし、リクエストURIがSigmaの正規表現に一致するログエントリーを生成します。 -
ステージ3 – アラート生成:
SIEMがアクセスログラインをインジェストし、Sigmaルールが”ファイル名“フィールドを評価し、アラートが発せられます。
-
-
回帰テストスクリプト
#!/usr/bin/env bash set -euo pipefail # --- 変数 ------------------------------------------------- WEB_ROOT="/var/www/html" MALICIOUS_NAME="t.js" MALICIOUS_PATH="${WEB_ROOT}/${MALICIOUS_NAME}" MALICIOUS_CONTENT='console.log("DriveSurgeペイロードが実行されました");' # --- 悪意のあるJavaScriptのデプロイ -------------------------------- echo "${MALICIOUS_CONTENT}" | sudo tee "${MALICIOUS_PATH}" > /dev/null sudo chown www-data:www-data "${MALICIOUS_PATH}" sudo chmod 644 "${MALICIOUS_PATH}" # --- Apacheが新しいファイルを認識するまでの待機 --------------- sleep 2 # --- 被害者リクエストのシミュレーション(テレメトリを生成) ------------ curl -s -o /dev/null "http://localhost/${MALICIOUS_NAME}" # --- オプション: 手動レビューのためのログの行を出力 ------- echo "=== 検証のための最近のApacheログエントリー ===" sudo tail -n 5 /var/log/apache2/access.log | grep "${MALICIOUS_NAME}" || echo "ログエントリーが見つかりません" -
クリーンアップコマンド
#!/usr/bin/env bash set -euo pipefail WEB_ROOT="/var/www/html" MALICIOUS_NAME="t.js" MALICIOUS_PATH="${WEB_ROOT}/${MALICIOUS_NAME}" # 悪意のあるファイルを削除 sudo rm -f "${MALICIOUS_PATH}" echo "${MALICIOUS_PATH}をクリーンアップしました"