ドラゴンボス、25,000以上のエンドポイントを露出させる
Detection stack
- AIDR
- Alert
- ETL
- Query
概要
Dragon Boss Solutions によって署名された潜在的な不要アプリケーションは、合法的なアップデートワークフローを悪用して、MSI と PowerShell ペイロードを静かにダウンロードして実行し、アンチウイルス保護を無効にし、WMI イベント購読やタスクスケジューリングを通じて持続性を確保しました。アップデーターが誰でも取得可能な未登録ドメインと通信していたため、このソフトウェアは事実上、任意のコード配送のためのサプライチェーンの機会を生み出しました。研究者たちは2万5千以上のエンドポイントがこのインフラへアクセスしていたことを観察しており、その中にはいくつかの高価値セクターに属するシステムも含まれています。
調査
Huntress は WMI ベースの持続性のあるアーティファクトやタスクスケジュールの作成スパイクを発見し、その活動を RaceCarTwo.exe という名前の署名された実行可能ファイルに遡りました。このファイルが MSI インストーラーを起動し、 ClockRemoval.ps1という PowerShell スクリプトを抽出しました。このスクリプトは、アンチウイルスプロセスを終了し、AV アップデートドメインへのアクセスをブロックし、Microsoft Defender の除外を追加し、足場を維持するために繰り返し再インストールするものです。調査官たちはまた、 chromsterabrowser.comなどの未登録ドメインが主要なアップデートソースとして使用されていたことを発見し、これにより外部の誰かがこれらのドメインを登録し、自身のペイロードを配信できることを意味します。
緩和策
更なる悪用を防ぐために、研究チームは公開されたドメインを登録し、それらをスィンクホール化して悪意あるアップデート経路を実質的に遮断しました。また、関連する WMI イベント購読、タスクスケジューリング、レジストリの変更を文書化し、守勢側が影響を受けたコンポーネントを特定して除去できるようにしました。組織は、知られているドメインをブロックし、このキャンペーンに関連する特定のタスク名と WMI コンシューマー活動を監視すべきです。これにより、継続的な妥協のリスクが軽減されます。
対応
セキュリティチームは、 ClockSetupWmiAtBoot, DisableClockServicesFirst, DisableClockAtStartup, RemoveClockAtLogonと RemoveClockPeriodicのようなスケジューリングされたタスクの作成を検出すべきです。WMI イベント購読には、 MbRemoval or MbSetupを含むアラートをトリガーする必要があります。守勢側は Dragon Boss Solutions によって署名された実行ファイルを監視し、WMILoad ディレクトリ内の存在を確認し、アンチウイルスベンダードメインをブロックするホストファイルのエントリーを確認し、影響を受けたシステム全体で予期しない Windows Defender の除外を調査するべきです。 ClockRemoval.ps1 in WMILoad directories, review hosts files for entries that block antivirus vendor domains, and investigate unexpected Windows Defender exclusions across impacted systems.
攻撃フロー
検出
疑わしいタスクキルの実行 (cmdline 経由)
表示
不審なディレクトリでファイルを実行して、バイパス実行ポリシーを使用する PowerShell (cmdline 経由)
表示
LOLBAS Schtasks (cmdline 経由)
表示
LOLBAS MsiExec スポーンシェル (cmdline 経由)
表示
IOC (HashSha256) を検出する: PUP が牙を生むとき: Dragon Boss Solutions が 25,000 以上のエンドポイントに空いたドアを残した
表示
Dragon Boss Solutions PowerShell 実行ポリシーの変更 [Windows Powershell]
表示
Dragon Boss Solutions LLC による悪意のある実行の検出 [Windows プロセス作成]
表示
シミュレーション実行
前提条件: テレメトリ & ベースライン事前フライトチェックに合格している必要があります。
根拠: このセクションでは、検出ルールをトリガーするために設計された敵の技術 (TTP) の正確な実行について詳述します。コマンドおよび物語は、特定された TTP を直接反映し、検出ロジックによって期待される正確なテレメトリを生成することを目的としなければなりません。
-
攻撃の物語 & コマンド:
敵は、Dragon Boss Solutions LLC によって正当に署名された RaceCarTwo.exe を取得しました。このバイナリの信頼されたステータスを活用して、アプリケーションホワイトリストを回避します。まず、悪意のある MSI (Setup.msi) をデプロイし、それに特権サービスを配置し、T1546.016 を達成するためのスケジュールされたタスクをインストールします。次に、PowerShell スクリプト ( T1546.016. Next, they execute a PowerShell script (ClockRemoval.ps1) を実行してエンドポイントの AV 製品を無効またはアンインストールし、T1059.001 を反映します。どちらのアクションも同じプロセスから実行され、検出ルールが正確なコマンドラインパターンを確認することを確実にします。 T1059.001. Both actions are performed from the same process, ensuring the detection rule sees the exact command‑line patterns.-
悪意のある MSI の展開:
Start-Process -FilePath "C:Program FilesDragonBossRaceCarTwo.exe" ` -ArgumentList "Setup.msi" ` -Wait -
AV 無効化 PowerShell スクリプトの実行:
Start-Process -FilePath "C:Program FilesDragonBossRaceCarTwo.exe" ` -ArgumentList "ClockRemoval.ps1" ` -Wait
-
-
回帰テストスクリプト:
以下のスクリプトは、Sigma ルールが予期する正確なテレメトリを再現するために、1 回の実行で 2 つのステップを自動化します。# ------------------------------------------------- # DragonBoss 悪意のある実行チェーンのシミュレーション # ------------------------------------------------- $binaryPath = "C:Program FilesDragonBossRaceCarTwo.exe" # 1. 悪意のある MSI をインストール Write-Host "[*] 悪意のある MSI (Setup.msi) を展開中…" Start-Process -FilePath $binaryPath -ArgumentList "Setup.msi" -Wait # 2. AV 無効化 PowerShell スクリプトを実行 Write-Host "[*] 同じバイナリで ClockRemoval.ps1 を実行中…" Start-Process -FilePath $binaryPath -ArgumentList "ClockRemoval.ps1" -Wait Write-Host "[+] シミュレーション完了。SIEM でアラートを確認してください。" -
クリーンアップコマンド:
シミュレーション中に作成されたアーティファクトを削除して、ホストを事前テスト状態に戻します。# ------------------------------------------------- # DragonBoss シミュレーション用のクリーンアップ # ------------------------------------------------- # インストールされた MSI 製品を削除する (実際の GUID に ProductCode を置き換える) $productCode = "{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}" try { Write-Host "[*] 悪意のある MSI をアンインストール中…" msiexec /x $productCode /quiet /norestart } catch { Write-Warning "MSI アンインストールに失敗したか、製品が存在しません。" } # MSI によってディスクに書き込まれた場合、PowerShell スクリプトを削除 $scriptPath = "$env:ProgramDataClockRemoval.ps1" if (Test-Path $scriptPath) { Write-Host "[*] ClockRemoval.ps1 を削除中…" Remove-Item $scriptPath -Force } Write-Host "[+] クリーンアップ完了。"