This post is also available in: English (英語)

概要

本稿は 2024 年 3 月から 4 月にかけて発生した DarkGate マルウェア キャンペーンについて振り返ります。このキャンペーンでは、Microsoft Excel ファイルを使って、公開されている SMB ファイル共有から悪意のあるソフトウェア パッケージがダウンロードされていました。これは比較的短期間のキャンペーンでしたが、脅威アクターがいかに合法ツールやサービスを巧みに悪用してマルウェアを配布しているかを示すものでした。

DarkGate は 2018 年に初めて報告され、マルウェア・アズ・ア・サービス (MaaS) の提供へと進化しました。2023 年 8 月に Qakbot のインフラが崩壊した後、DarkGate のアクティビティは急増しました。

パロアルトネットワークスのお客様は、Advanced WildFireAdvanced URL FilteringAdvanced Threat Prevention などの Cloud-Delivered Security Services (クラウド配信型セキュリティサービス) を有効にした次世代ファイアウォール (NGFW) により、DarkGate やそのほかのマルウェア ファミリーからより強力に保護されています。Cortex XDR は悪意のあるサンプルをブロックできます。Prisma Cloud Defender Agent は Advanced WildFire 製品が生成したシグネチャを使って、本稿で言及したマルウェア ファイルを検出し、クラウドベースの VM を保護できます。

侵害の懸念があり弊社にインシデントレスポンスに関するご相談をなさりたい場合は、こちらの問い合わせフォームからご連絡いただくか、infojapan@paloaltonetworks.com まで電子メールにてお問い合わせください (ご相談は弊社製品のお客さまには限定されません)。

関連する Unit 42 のトピック DarkGate, Sandbox

DarkGate の背景

DarkGate マルウェア ファミリーは、2018 年に enSilo によって最初に文書化されました。当時のこの脅威は、C2 サーバーに接続してきた新規感染マシンからの通知に対し、配置された人間のオペレーターが対応するような、高度なコマンド & コントロール (C2) インフラを使って運用されていました。

DarkGate はその後 MaaS サービスへと進化し、顧客数を厳密に管理するようになりました。DarkGate は、隠ぺいされた仮想ネットワーク コンピューティング (hVNC) やリモート コードの実行、暗号通貨のマイニング、リバース シェルなど、さまざまな機能を謳っています。

RastaFarEye というアカウントが DarkGate に関する最新情報やプロジェクト情報を Exploit.IN フォーラムXSS.is フォーラム などの地下サイバー犯罪マーケット上に投稿しています。下の図 1 は、RastaFarEye が DarkGate バージョン 5 の修正と機能を発表した 2023 年 10 月の投稿を示しています。

これはソフトウェアに関連するさまざまな技術的な更新とバグ修正について議論している、ユーザー RastaFarEye による「UPDATE」というタイトルのフォーラム投稿のスクリーンショットです。この投稿には、ファイルのダウンロードとスキャナーのリンク、製品サブスクリプションの割引に関するお知らせが含まれています。
図 1. DarkGate 開発者 RastaFarEye による 2023 年 10 月 の Exploit.IN フォーラムへの投稿 (出典: Trellix)

DarkGate は 2021 年までは比較的目立たない存在でした。弊社のテレメトリーからは、DarkGate の急増が 2023 年 9 月から始まったことが明らかになっています (図 2 参照)。これは、 2023 年 8 月の複数の政府による Qakbot のインフラの崩壊とテイクダウンからまもなくのことでした。

横軸に 2023 年 8 月 1 日から 2024 年 3 月 1 日までの日付、縦軸に 0 から 15 までのカウントを取り、一定期間のデータを表示する棒グラフ。棒グラフは変動する値を示しており、2023 年 11 月頃にピークがある。
図 2. 弊社テレメトリー内で見つかった DarkGate マルウェア サンプルのヒット件数

これらのキャンペーンでは、AutoItAutoHotkey スクリプトを使って被害者を DarkGate に感染させていました。弊社のテレメトリーによると、このアクティビティは北米やヨーロッパのほか、アジアのかなりの部分に広がっています。

早くも 2024 年 1 月の時点で DarkGate は 6 番目のメジャー バージョンをリリースしており、これは Spamhaus によってバージョン 6.1.6 の更新サンプルであることが特定されています。

2023 年 8 月以降、次のようなさまざまな方法を使って DarkGate マルウェアを配布するキャンペーンが確認されています。

2024 年 3 月からは、公開された Samba ファイル共有を実行するサーバーを使い、そこにホストしたファイルを使って DarkGate に感染させるキャンペーンが観察されました。本稿の分析は この 2024 年 3 月から 4 月にかけて実行されたキャンペーンを中心に取り上げます。

2024 年 3 月~ 4 月のキャンペーンの分析

2024 年 3 月、DarkGate の背後にいる攻撃者は Microsoft Excel (.xlsx) ファイルを使う新たなキャンペーンを開始しました。このキャンペーンは当初は北米を主なターゲットにしていましたが、徐々にヨーロッパやアジアの一部にも広がりました。弊社のテレメトリーはアクティビティのピークを複数示しています。とくに目立っていたのが 2024 年 4 月 9 日で、その日だけで約 2,000 個のサンプルが記録されていました (下図 3 参照)。

この画像は、2024 年 3 月 3 日から 2024 年 4 月 28 日までのデータを追跡した棒グラフを示しています。2024 年 4 月 9 日にピークがあります。
図 3. テレメトリーから取得した DarkGate マルウェア サンプル (2024 年 3 月〜 4 月)

初期はすべてのファイルに似通った名前がつけられていて、それが不審を抱かせる一因となっていました。元の URL はまったく似ておらず、アクセス元の企業もやはり違っていました。

よく見られた名前は次のとおりです。

  • paper<NUM>-<DD>-march-2024.xlsx
  • march-D<NUM>-2024.xlsx
  • ACH-<NUM>-<DD>March.xlsx
  • attach#<NUM>-<DATE>.xlsx
  • 01 CT John Doe.xlsx (この「John Doe」の部分は一般的な英語圏の名前に置き換わりうる)
  • april2024-<NUM>.xlsx
  • statapril2024-<NUM>.xlsx

こうした名前は、これがある種の正式なあるいは重要な書類であることをを匂わせるよう計算されています。

ユーザーが .xlsx ファイルを Excel で開くと、下の図 4 に示すような、[Open (開く)] というボタンのリンク オブジェクトを含むテンプレートが表示されます。

クラウドからのファイルに関するメッセージと、編集を可能にする [Open (開く)] ボタンを表示する Excel Online インターフェイスのスクリーンショット。
図 4. DarkGate キャンペーンで使われた .xlsx ファイルのテンプレート
ここでユーザーがスプレッドシート上の [Open (開ける)] ボタンのハイパーリンク オブジェクトをクリックすると、このスプレッドシート アーカイブの drawing.xml.rels ファイル内にある URL からコンテンツが取得・実行されます。この URL はある Samba/SMB 共有を指していますが、これは一般アクセス可能な Samba 共有で、ここに VBS ファイルがホストされています。例を以下に示します。

  • file:///\\167.99.115[.]33\share\EXCEL_OPEN_DOCUMENT.vbs

攻撃が進化するにつれ、攻撃者はこれらの Samba 共有上で JS ファイルも共有し始めました。

  • file:///\\5.180.24[.]155\azure\EXCEL_DOCUMENT_OPEN.JS..........

URL 内には Microsoft Azure クラウド サービス プラットフォーム (CSP) という名前が記載されていますが、このマルウェアと同 Azure CSP の間にはなんら既知のつながりはありません。こうした名前を記載することで、脅威アクターは URL にある種の正当性を匂わせて、検出を避けたり、分かりづらいようにしている可能性があります。

EXCEL_OPEN_DOCUMENT.vbs ファイルにはプリンター ドライバーに関連する大量のジャンク コードが含まれていますが、フォローアップ用 PowerShell スクリプトを取得・実行している重要なスクリプト部分を以下の図 5 に強調表示しました。

IDE 内でコンピューター コードの一部を表示しているスクリーンショット。このコードにはあるプログラミング言語のエラー処理用の構造が含まれており、「if」、「echo」、「set」、「end if」などのキーワードがハイライト表示されています。論理構造を示すため、いくつかの行はインデントされています。この画像は、エラー メッセージの生成と処理に重点を置いていることを示しています。ユーザー テキストとシステム説明用のプレースホルダーがあります。いくつかの行が薄い紫色で強調表示されています。
図 5. EXCEL_OPEN_DOCUMENT.vbs からのコード (一部)。次の段階の PowerShell スクリプトを要求・実行するコードを薄い紫色で強調表示してある

Excelファイルの埋め込みオブジェクトに .vbs ファイルではなく .js ファイルへの Samba リンクが使われている場合でも、その JavaScript はフォローアップ用 PowerShell スクリプトを取得・実行するという似た機能を呈します。図 6 はこの同等の機能を実行する 11042024_1545_EXCEL_DOCUMENT_OPEN.js という名前のファイルです。

図 6. .js ファイルからのコード (一部)。次の段階の PowerShell スクリプトを実行する

.vbs ファイルや .js ファイルのコードは PowerShell スクリプトをダウンロードして実行します。この PowerShell スクリプトは 3 つのファイルをダウンロードし、それらを使って AutoHotKey をベースとした DarkGate パッケージを起動します。その一例を図 7 に示します。

ディレクトリー変更、Invoke-WebRequest を使ったファイル ダウンロード、スクリプト実行、ファイル属性変更を行うコマンドを含む PowerShell スクリプトを表示しているスクリーンショット。このスクリプトには、「a.bin」、「script.ahk」、「test.txt」などの URL やファイル名が含まれています。
図 7. AutoHotKey ベースの DarkGate パッケージをダウンロードして実行する PowerShell スクリプト

こうした PowerShell スクリプトはときおり興味深い回避戦術を試みます。図 8 は C:/ProgramData/Kaspersky Lab ディレクトリーの存在を検出し、Kaspersky アンチマルウェア ソフトウェアのインストール有無を確認している PowerShell スクリプトのサンプルです。このディレクトリーが存在する場合、PowerShell スクリプトは正当な AutoHotKey.exe をダウンロードします。これはおそらく Kaspersky のマルウェア対策が起動しないようにとの回避戦術であろうと思われます。

C:/ProgramData/Kaspersky Lab が存在しない場合、この PowerShell スクリプトは AutoHotKey.exe 用の 16 進コードを表す ASCII テキストをダウンロードして a.bin の名前で結果を保存し、-decodehex パラメーターを指定した certutil.exe を使ってこの a.binAutoHotKey.exe バイナリーにデコードします。図 8 にこのスクリプトの詳細を示します。

スクリプトを表示しているスクリーンショット。このスクリプトには、Web リクエスト、ファイル処理、AutoHotkey スクリプトの実行に重点を置いた PowerShell のさまざまなコマンド ラインが含まれています。テキスト エディター上に薄い紫色の背景色とシンタックス ハイライトを設定してある部分があり、そのなかのコマンドやパラメーター、文字列をほかから区別しています。薄紫色で強調表示された範囲は大きいです。
図 8. DarkGate をインストールする PowerShell スクリプト。Kaspersky マルウェア対策ソフトウェアのチェックをしている (薄紫色で強調表示)

私たちは DarkGate パッケージ内の AutoHotKey スクリプト (.ahk) や AutoIt3 スクリプト (.au3.a3x) でも同様のチェックや回避技術を確認しています。

図 7 と図 8 の PowerShellスクリプトはどちらも test.txt というファイル名を示しています。このファイルは DarkGate の最終段階のシェルコードですが難読化されています。正規の AutoHotKey.exe が悪意のある AutoHotKey スクリプトの script.ahk を実行します。次に script.ahktest.txt の難読化を解除してメモリーにロードし、DarkGate の実行可能ファイルとして実行します。

script.ahk ファイルにはランダムな英単語を含むコメント行がいくつかあり、ファイル サイズを 50 KB 以上に膨らませています。有効に機能する AutoHotKey スクリプトのコードはわずか 13 行です。下の図 9 に機能する部分のスクリプトのサンプルを示します。

図 9. script.ahk からコメント行を削除したサンプル

DarkGate マルウェアの詳細

test.txt から難読化を解除され、システム メモリーから実行されたこの最終段階の DarkGate バイナリーは、検出・マルウェア分析回避のための複雑なメカニズムを備えていることで知られています。シェルコードを分析してその機能への理解を深めれば、同マルウェアの分析対策技術に対抗する方法を突き止められます。

分析対策技術としての CPU 情報チェック

DarkGate が採用している分析対策技術の 1 つは標的システムの CPU 識別です。CPU 情報をチェックすれば自分が仮想環境で実行されているのか物理ホスト上で実行されているかが分かるので、動作を止めて制御環境下での分析を避けられます。

図 10 は最終段階の DarkGate 実行ファイルをデバッガーで分析したさいのもので、DarkGate による標的システムの CPU チェック用ルーチンを示しています。

図 10. CPU をチェックする DarkGate のルーチンをデバッガーで表示したところ

複数のマルウェア対策プログラムの検出

DarkGate マルウェアは CPU の情報チェックのほかに、標的システム上のほかのマルウェア対策プログラムも複数スキャンします。DarkGate はインストールされているマルウェア対策ソフトウェアを識別して対象検出メカニズムのトリガーを回避するほか、それらを無効化して分析をさらに回避することすらあります。

表 1 はマルウェア対策プログラムとそれに対応するディレクトリー パスやファイル名を表すリストで、DarkGate はこのリストを使ってシステム上のマルウェア対策プログラムの存在を検出しています。

マルウェア対策製品のブランド名 チェックされる場所 (ディレクトリー) または実行中のプロセス (ファイル名)
Bitdefender C:\ProgramData\BitdefenderC:\Program Files\Bitdefender
SentinelOne C:\Program Files\SentinelOne
Avast C:\ProgramData\AVASTC:\Program Files\AVAST Software
AVG C:\ProgramData\AVG
C:\Program Files\AVG
Kaspersky C:\ProgramData\Kaspersky Lab
C:\Program Files (x86)\Kaspersky Lab
Eset-Nod32 C:\ProgramData\ESET
egui.exe  (ESET GUI)
Avira C:\Program Files (x86)\Avira
Norton ns.exe
nis.exe
nortonsecurity.exe
Symantec smc.exe
Trend Micro uiseagnt.exe
McAfee mcuicnt.exe
SUPERAntiSpyware superantispyware.exe
Comodo vkise.exe
cis.exe
Malwarebytes C:\Program Files\Malwarebytes
mbam.exe
ByteFence bytefence.exe
Search & Destroy sdscan.exe
360Total Security  qhsafetray.exe
Total AV totalav.exe
IObit Malware Fighter C:\Program Files (x86)\IObit
Panda Security psuaservice.exe
Emsisoft C:\ProgramData\Emsisoft
Quick Heal C:\Program Files\Quick Heal
F-Secure C:\Program Files (x86)\F-Secure
Sophos C:\ProgramData\Sophos
G DATA C:\ProgramData\G DATA
Windows Defender C:\Program Files (x86)\Windows Defender

表 1. マルウェア対策プログラムとそのディレクトリー パス

DarkGate の進化とともに、その開発者は Windows Defender や SentinelOne などの新しいマルウェア対策製品に対するチェックを組み込む更新を実装してきました。ここからは、同マルウェアが最新のセキュリティ対策を回避するべく継続的に進化・適応しているさまがうかがえます。

マルウェア分析の識別と VM 対策ツール

DarkGate マルウェアは CPU 情報やマルウェア対策プログラムのチェックのほかに標的ホスト上で実行中のプロセスもスキャンします。このスキャンでは、通常の Windows プロセスが実行されていることを確認するほか、マルウェア分析に使用できるプロセスや、仮想マシン (VM) 環境であることを示すプロセスが実行されていないことを確認しています。

好ましくないとされるプロセスには、一般的なリバース エンジニアリング ツールやデバッガー、仮想化ソフトウェアなどが含まれることがあります。これらのプロセスを識別し、適切なアクションを取ることで、DarkGate はマルウェア検出を回避したり分析を妨害したりします。

図 11 はデバッガーで DarkGate サンプルを分析した結果を示しています。ここでは実行中のプロセスのなかから DarkGate が VM 関連のプログラムやマルウェア分析ツールをチェックしています。 通常の Windows プロセスや VM 環境、マルウェア分析ツールに関連した文字列を複数確認できます。DarkGate は、感染行為を進める前に、感染ホスト上でこれらをチェックします。

16 進コードと対応する ASCII テキストで埋め尽くされた画面に「svchost.exe」や「smsvchost.exe」などのさまざまなシステム プロセスが表示されています。
図 11. デバッガーからの出力内容。ここからは DarkGate サンプルが識別したさまざまなプロセス名が確認できる

DarkGate サンプルがチェックしていた実行中のプログラムやプロセスのリスト (図 11 にも記載) を以下に示します。

  • system
  • smss.exe
  • csrss.exe
  • wininit.exe
  • winlogon.exe
  • services.exe
  • lsass.exe
  • svchost.exe
  • dwm.exe
  • spoolsv.exe
  • VGAuthService.exe
  • Vm3dservice.exe (ビデオ レンダリングを行う VMware のプロセス)
  • Vmtoolsd.exe (VMware Tools 用の VMware のプロセス)
  • MsMpEng.exe
  • dllhost.exe
  • WmiPrvSE.exe
  • sihost.exe
  • GoogleUpdate.exe
  • taskhostw.exe
  • RuntimeBroker.exe
  • explorer.exe
  • msdtc.exe
  • SearchIndexer.exe
  • ShellExperienceHost.exe
  • NisSrv.exe
  • OneDrive.exe
  • sedsvc.exe
  • X32dbg.exe (デバッグ用ソフトウェア)
  • Ida.exe (IDA のバイナリー コード 分析ツール)
  • ProcessHacker.exe (Process Hacker 分析ツール)
  • notepad++.exe
  • OutputPE.exe
  • SearchUI.exe
  • audiodg.exe

構成データの復号

DarkGate マルウェアは標的システムのハードウェアやマルウェア対策プログラム、実行中のプロセスに関する情報を収集した後、このデータを構成復号ルーチンに組み込みます。この構成は複数のフィールドから構成され、それぞれのフィールドには検出の回避に使う特定の情報が含まれています。この情報を使ってマルウェアは自身の挙動を適応させます。収集したデータに基づいて挙動を変えれば、分析を回避し、感染システム上で隠れつづけることができます。

DarkGate 最新バージョンの構成復号用関数は、暗号化されたバッファー、バッファー サイズ、ハードコードされた XOR キーを入力として受け取ります。次に提供されたキーを使って新たな復号キーを作成し、構成バッファーの復号に進みます (図 12、図 13)。

図 12 は、2024 年 3 月 14 日が初認の DarkGate サンプルの構成データを復号後に得られたデバッガーの出力です。

この画像はデバッガーの出力結果で、情報量が密な 16 進数のコードが示されています。なかには ASCII 文字が散在しています。このテキストには、URL やデータ参照、さまざまな技術用語が含まれています。
図 12. 2024 年 3 月 14 日初認の DarkGate サンプルから抽出した構成データ

図 13 は、2024 年 4 月 16 日が初認の DarkGate サンプルの構成データを復号後に得られたデバッガーの出力です。

この画面は 16 進数値と散在する ASCII 文字で埋まっています。
図 13. 2024 年 4 月 16 日初認の DarkGate サンプルから抽出した構成データ

私たちは最近、さまざまなキャンペーンから得た DarkGate マルウェア サンプルの構成を分析しました。フィールドは説明なしの数字として示されますが、追加で調査した結果、これらのフィールドの一部をマルウェア サンプルの機能や値と関連付けることができました。

例えば、生の構成データを見ると 25=admin888 という項目が 図 12 と 13 から見つかります。これをさらに分析すると、この admin888 というのは、これらマルウェア サンプルのキャンペーン ID であることが示されました。

ただし、意味がよくわからないフィールドもあります。例えば図 12 と図 13 の両方に 14=Yes というラベルのついた項目がありますが、この項目の具体的な機能や値はまだ確認されていません。

わかっていないフィールド値もありますが、構成データは DarkGate サンプルの興味深い詳細を明かしてくれます。例えば、同じキャンペーン ID を使用したサンプルから、いくつかの異なるハードコードされた XOR キーが見つかりました。また、異なる XOR キーを持つ一部のサンプルでは、キャンペーン ID が同じであるだけでなく、C2 サーバーの値も同じでした。

構成の特徴が似たサンプル間でも XOR キーが異なっているのは、DarkGate サンプルによる分析妨害の試みという可能性もあります。

XOR キーが顕著に違っている構成データのサンプルをいくつか確認してみましょう。これらの値は JSON 形式で表示しているため、不明なフィールドの数値の前には文字列 flag_ をつけて示してあります。例えば、生の構成データでの 14=Yes は、JSON 形式では "flag_14": "Yes" のように表示しています。

同じキャンペーン ID、異なる XOR キー

表 2 は 2024 年 5 月の 2 つのサンプルからの構成内容を JSON 形式に復号して比較したものです。2 つのサンプルは campaign_id 値が同じですが xor_key 値は異なっています。

2024 年 5 月 7 日時点で確認されていた DarkGate サンプルの構成  2024 年 5 月 20 日時点で確認されていた DarkGate サンプルの構成 
"C2": "updateleft.com",  
"check_ram": false,  
"crypter_rawstub": "DarkGate",  
"crypter_dll": "R0ijS0qCVITtS0e6xeZ",  
"crypter_au3": 6,  
"flag_14": true,  
"port": 80,  
"startup_persistence": true,  
"flag_32": false,  
"anti_vm": true,  
"min_disk": false,  
"min_disk_size": 100,  
"anti_analysis": true,  
"min_ram": false,  
"min_ram_size": 4096,  
"check_disk": false,  
"flag_21": false,  
"flag_22": false,  
"flag_23": true,  
"flag_31": false,  
"flag_24": ".newtarget",  
"campaign_id": "admin888",
"flag_26": false,  
"xor_key": "SbCjRKFB",  
"flag_28": false,  
"flag_29": 2 
"C2":"wear626.com",  
"flag_8": "No",  
"crypter_rawstub": "DarkGate",  
"crypter_dll": "R0ijS0qCVITtS0e6xeZ",  
"crypter_au3": "6",  
"flag_14": "Yes",  
"port": "80",  
"startup_persistence": "No",  
"flag_32": "No",  
"check_display": "Yes",  
"check_disk": "No",  
"min_disk_size": "100",  
"check_ram": "No",  
"min_ram_size": "4096",  
"check_xeon": "No",  
"flag_21": "Yes",  
"flag_22": "No",  
"flag_23": "No",  
"flag_31": "No",  
"flag_24": "traf",  
"campaign_id": "admin888",  
"flag_26": "No",  
"xor_key": "TNduHZgm",  
"flag_28": "No",  
"flag_29": "2",  
"flag_34": "No"

表 2. 2 つの DarkGate サンプルの構成比較。キャンペーン ID は同じだがハードコードされた XOR キーは異なっている

同じキャンペーン ID と C2 サーバー、異なる XOR キー

表 3 は 2024 年 4 月の 2 つのサンプルからの構成内容を JSON 形式に復号して比較したものです。2 つのサンプルは C2 と campaign_id の値が同じですが xor_key 値は異なっています。

2024 年 4 月 10 日時点で確認されていた DarkGate サンプルの構成 2024 年 4 月 27 日時点で確認されていた DarkGate サンプルの構成 
"C2":"78.142.18.222",  
"flag_8": "No",  
"crypter_rawstub": "DarkGate",  
"crypter_dll": "R0ijS0qCVITtS0e6xeZ",  
"crypter_au3": "6",  
"flag_14": "Yes",  
"port": "80",  
"startup_persistence": "No",  
"flag_32": "No",  
"check_display": "No",  
"check_disk": "No",  
"min_disk_size": "100",  
"check_ram": "No",  
"min_ram_size": "4096",  
"check_xeon": "No",  
"flag_21": "Yes",  
"flag_22": "No",  
"flag_23": "No",  
"flag_31": "No",  
"campaign_id": "tompang,  
"flag_26": "No",  
"xor_key": "ClUqWMEv",
"flag_28": "No",  
"flag_29": "6",  
"flag_33": "No" 
"C2":"78.142.18.222",  
"flag_8": "No",  
"crypter_rawstub": "DarkGate",  
"crypter_dll": "R0ijS0qCVITtS0e6xeZ",  
"crypter_au3": "6",  
"flag_14": "Yes",  
"port": "80",  
"startup_persistence": "No",  
"flag_32": "No",  
"check_display": "No",  
"check_disk": "No",  
"min_disk_size": "100",  
"check_ram": "No",  
"min_ram_size": "4096",  
"check_xeon": "No",  
"flag_21": "Yes",  
"flag_22": "No",  
"flag_23": "No",  
"flag_31": "No",  
"campaign_id": "tompang",  
"flag_26": "No",  
"xor_key": "VzJaSPos",  
"flag_28": "No",  
"flag_29": "2"

表 3. 2 つの DarkGate サンプルの構成比較。C2 とキャンペーン ID は同じだがハードコードされた XOR キーは異なっている

DarkGate C2 トラフィック

DarkGate C2 トラフィックは暗号化されていない HTTP リクエストを使いますが、データは難読化されており、Base64 でエンコードされたテキストとして表示されます。図 14 は 2024 年 3 月 14 日の DarkGate 感染から発生した C2 に対する最初の HTTP POST リクエストのトラフィックです。

Wireshark ソフトウェアのスクリーンショット。HTTP ストリームを表示し、さまざまなヘッダーと 16 進数値を含む詳細なネットワーク パケット データをキャプチャしたものを表示しています。
図 14. 2024 年 3 月 14 日の DarkGate 感染で生じた最初の HTTP POST リクエストを HTTP ストリームとして表示したところ

この Base64 でエンコードされたテキストはデコードできますが、結果はさらに難読化されています。こちらの研究により、このデータの難読化を完全に解除する方法が明らかになっています。

2024 年 3 月 14 日に行った感染検証では、データの漏出と思われるものが確認されています (図 15)。ここでは 5 つの HTTP POST リクエストで約 218 KB のデータが送信されていました。

この画像は、Wireshark からのネットワーク トラフィック ログを表形式で表示したスクリーンショットです。列には、左から右に、Time (時間)、Dst (宛先)、Port (ポート番号)、Host (ホスト名)、Content-Length (コンテンツ サイズ)、Info (情報) というラベルが付けられています。各行にはネットワーク内で行われたさまざまな情報のやりとりが並んでいます。タイムスタンプが「YYYY-MM-DD hh:mm:ss」形式で表示されていて、Dst (宛先) にはさまざまな IP アドレスが、Port (ポート番号) にはポート番号が、Host (ホスト) にはドメイン「nextroundstr.com」が表示されています。すべてのトラフィックのリクエストは、「Info (情報)」列の下に表示されているように POST リクエストです。一部の行には右向きの黒い矢印があり、ログ内で強調表示されている特定のエントリーを示しています。
図 15. Wireshark でフィルタリングされた DarkGate C2 トラフィックの HTTP POST リクエスト。データ漏出の可能性があることがわかる

このトラフィックの HTTP ストリームを確認すると、このデータ漏出と思われる内容は、HTTP POST リクエストを経由して Base64 エンコードされたテキストとして送信されていることがわかります。図 16 は 2024 年 3 月 14 日に発生した感染からのサンプルの 1 つを示しています。

Wireshark ソフトウェアのスクリーンショット。HTTP ストリームを表示し、さまざまなヘッダーと 16 進数値を含む詳細なネットワーク パケット データをキャプチャしたものを表示しています。
図 16. 約 218 KB の情報を送信する HTTP POST の HTTP ストリーム。データ漏洩の可能性がある

私たちは DarkGate の C2トラフィックからデータ漏出を思わせる兆候を確認しましたが、ほかのソースは Danabot のような DarkGate の後継マルウェアについて報告しています。さらに、DarkGate MaaS を使っているとされている脅威アクターは、以前ランサムウェア アクティビティに関与していました

結論

DarkGate マルウェアはサイバー犯罪エコシステムにおける重大かつ適応性の高い脅威です。2023 年 8 月以降に Qakbot の解体で生じた空白はこのマルウェアが埋める可能性があります。多面的な攻撃ベクトルと本格的な MaaS サービスへの進化により、DarkGate は高度な複雑性、持続性を備えています。

このマルウェアを使用するキャンペーンの感染技術は高度で、フィッシング戦略にくわえ、公開 Samba 共有の悪用などのアプローチも活用されています。DarkGate は侵入手法や分析対策手法の進化と改善を続けていることから、強力で事前対応的なサイバーセキュリティ防御の必要性を強く喚起する存在となっています。

製品による保護

パロアルトネットワークスのお客様は、以下の製品を通じて、本稿で取り上げた脅威からさらに強力に保護されています。

  • Cortex XDR は本稿で言及した DarkGate サンプルのほか、さまざまなステージやペイロードもブロックし、クラウドベースの静的・動的分析機能を通じた広範な保護を提供します。
  • Advanced WildFireAdvanced URL FilteringAdvanced Threat Prevention を含むCloud-Delivered Security Services (クラウド配信型セキュリティ サービス) を Next-Generation Firewall でご利用の場合、これらのドメインや C2 URL は「悪意のあるもの (malicious)」と識別されます。またこれらの製品は、攻撃チェーン全体を記録し、悪意のある振る舞いやサンドボックス回避を特定することもできます。シグネチャの例は次のとおりです。
    • Virus/Win32.WGeneric.efigim
    • Virus/Win32.WGeneric.efypas
    • Virus/Win32.WGeneric.efhzig
  • 次世代ファイアウォールで Advanced Threat Prevention セキュリティ サブスクリプションを有効にしている場合、Threat Prevention のシグネチャー 86902 を通じたベスト プラクティスが攻撃防止に役立ちます。
  • Prisma Cloud Defender Agent は Advanced WildFire 製品が生成したシグネチャを使って、本稿で言及したマルウェア ファイルを検出し、クラウドベースの VM を保護できます。

侵害の懸念があり弊社にインシデントレスポンスに関するご相談をなさりたい場合は、infojapan@paloaltonetworks.com までメールにてご連絡いただくか、下記の電話番号までお問い合わせください(ご相談は弊社製品のお客さまには限定されません)。

  • 北米フリーダイヤル: 866.486.4842 (866.4.UNIT42)
  • EMEA: +31.20.299.3130
  • APAC: +65.6983.8730
  • 日本: (+81) 50-1790-0200

パロアルトネットワークスは、これらの調査結果を Cyber Threat Alliance (CTA: サイバー脅威アライアンス) のメンバーと共有しました。CTA のメンバーはこのインテリジェンスを使って、お客さまに保護を迅速に提供し、悪意のあるサイバー攻撃者を体系的に阻害できます。詳細は Cyber Threat Alliance にてご確認ください。

IoC (侵害指標)

2024 年 3 月から 4 月にかけて DarkGate マルウェアを配布するキャンペーンで使われた初期ルアーの SHA256 ハッシュ:

SHA256 ハッシュ ファイルについての説明
378b000edf3bfe114e1b7ba8045371080a256825f25faaea364cf57fa6d898d7 埋め込みオブジェクトを含む XLSX ファイルで、JS ファイルをホストする SMB URL を指しているもの
ba8f84fdc1678e133ad265e357e99dba7031872371d444e84d6a47a022914de9 埋め込みオブジェクトを含む XLSX ファイルで、VBS ファイルをホストする SMB URL を指しているもの
a01672db8b14a2018f760258cf3ba80cda6a19febbff8db29555f46592aedea6 埋め込みオブジェクトを含む XLSX ファイルで、VBS ファイルをホストする SMB URL を指しているもの
02acf78048776cd52064a0adf3f7a061afb7418b3da21b793960de8a258faf29 埋め込みオブジェクトを含む XLSX ファイルで、VBS ファイルをホストする SMB URL を指しているもの
2384abde79fae57568039ae33014184626a54409e38dee3cfb97c58c7f159e32  埋め込みオブジェクトを含む XLSX ファイルで、VBS ファイルをホストする SMB URL を指しているもの
4b45b01bedd0140ced78e879d1c9081cecc4dd124dcf10ffcd3e015454501503  埋め込みオブジェクトを含む XLSX ファイルで、VBS ファイルをホストする SMB URL を指しているもの
08d606e87da9ec45d257fcfc1b5ea169b582d79376626672813b964574709cba  埋め込みオブジェクトを含む XLSX ファイルで、VBS ファイルをホストする SMB URL を指しているもの
4b45b01bedd0140ced78e879d1c9081cecc4dd124dcf10ffcd3e015454501503  埋め込みオブジェクトを含む XLSX ファイルで、VBS ファイルをホストする SMB URL を指しているもの
08d606e87da9ec45d257fcfc1b5ea169b582d79376626672813b964574709cba  埋め込みオブジェクトを含む XLSX ファイルで、VBS ファイルをホストする SMB URL を指しているもの
585e52757fe9d54a97ec67f4b2d82d81a547ec1bd402d609749ba10a24c9af53  埋め込みオブジェクトを含む XLSX ファイルで、JS ファイルをホストする SMB URL を指しているもの
51f1d5d41e5f5f17084d390e026551bc4e9a001aeb04995aff1c3a8dbf2d2ff3  埋め込みオブジェクトを含む XLSX ファイルで、JS ファイルをホストする SMB URL を指しているもの
44a54797ca1ee9c896ce95d78b24d6b710c2d4bcb6f0bcdc80cd79ab95f1f096  埋め込みオブジェクトを含む XLSX ファイルで、JS ファイルをホストする SMB URL を指しているもの
b28473a7e5281f63fd25b3cb75f4e3346112af6ae5de44e978d6cf2aac1538c1  埋め込みオブジェクトを含む XLSX ファイルで、JS ファイルをホストする SMB URL を指しているもの

DarkGate への感染に使われる JS または VBS ファイルの SHA256 ハッシュ サンプル:

  • 96e22fa78d6f5124722fe20850c63e9d1c1f38c658146715b4fb071112c7db13
  • f9d8b85fac10f088ebbccb7fe49274a263ca120486bceab6e6009ea072cb99c0
  • 2e34908f60502ead6ad08af1554c305b88741d09e36b2c24d85fd9bac4a11d2f

DarkGate への感染に使われる PowerShell スクリプトの SHA256 ハッシュ サンプル:

  • 9b2be97c2950391d9c16497d4362e0feb5e88bfe4994f6d31b4fda7769b1c780
  • 9a2a855b4ce30678d06a97f7e9f4edbd607f286d2a6ea1dde0a1c55a4512bb29
  • 51ab25a9a403547ec6ac5c095d904d6bc91856557049b5739457367d17e831a7
  • b4156c2cd85285a2cb12dd208fcecb5d88820816b6371501e53cb47b4fe376fd

これらの感染に使われた AutoHotKey EXE (悪意のないもの) の SHA256 ハッシュ :

  • 897b0d0e64cf87ac7086241c86f757f3c94d6826f949a1f0fec9c40892c0cecb

DarkGate マルウェアが AutoHotKey パッケージの取得・実行に使う URL のサンプル:

2024 年 3 月 12 日:

  • hxxp://adfhjadfbjadbfjkhad44jka[.]com/aa
  • hxxp://adfhjadfbjadbfjkhad44jka[.]com/xxhhodrq
  • hxxp://adfhjadfbjadbfjkhad44jka[.]com/zanmjtvh

2024 年 3 月 13 日:

  • hxxp://nextroundst[.]com/aa
  • hxxp://nextroundst[.]com/ffcxlohx
  • hxxp://nextroundst[.]com/nlcsphze

2024 年 3 月 15 日:

  • hxxp://diveupdown[.]com/aa
  • hxxp://diveupdown[.]com/aaa
  • hxxp://diveupdown[.]com/hlsxaifp
  • hxxp://diveupdown[.]com/yhmrmmgc

追加リソース

Enlarged Image