Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
Find-WSUS — CVE-2025-59287 を受けて、防御側が WSUS 構成を特定するのに役立ちます | Kitploit
ツール/GitHubGitHub/mubix/find-wsus
防御ツール脆弱性分析構成監査情報収集サプライチェーンセキュリティ
GitHubmubix/find-wsus

Find-WSUS

CVE-2025-59287 を受けて、防御側が WSUS 構成を特定するのに役立ちます

リポジトリを見る
463310ヶ月前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

🧭 Find-WSUS

GPO(グループポリシーオブジェクト)全体でWSUSサーバー構成を発見します。隠れたグループポリシー基本設定(GPP)も含みます。

Find-WSUS は、セキュリティ専門家とシステム管理者向けのPowerShellスクリプトで、GPOを介して構成されたすべてのWSUS(Windows Server Update Services)サーバーURLを特定します。以下の両方から構成を検出します:

  • 管理用テンプレートポリシー(HKLM\Software\Policies)
  • グループポリシー基本設定(GPP) のレジストリ設定(XMLレポートに隠されている)

⚠️ なぜ重要か

WSUSサーバーは価値の高いインフラ資産です。侵害された場合、攻撃者は悪意のある「更新プログラム」をすべてのドメイン参加システムに展開でき、ドメイン全体の侵害につながります。

🧨 CVE-2025-59287 のような脆弱性は、単一のWSUSエクスプロイトで攻撃者にドメイン全体の制御を許し得ることを示しています。

Find-WSUS は、組織が攻撃者よりも先にすべてのWSUS構成ソースを見つけるのに役立ちます。


🔍 「隠れたWSUS」問題

ほとんどのスキャンは次の場所のみを確認します:

root@kitploit:~
HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate

しかし、多くの組織はグループポリシー基本設定(GPP) を通じてWSUS構成を展開しています。GPPはレジストリキーを直接変更します。これらの設定は標準のGPMCレポートには表示されません。

✅ Find-WSUS は標準とGPPベースの両方の構成を検出し、環境全体を完全に可視化します。


🧩 前提条件


⚙️ 使用方法

1. スクリプトのインポート

スクリプトをPowerShellセッションに読み込みます:

root@kitploit:~
. .\Find-WSUS.ps1

2. スキャンの実行

インポート後、Find-WSUS 関数が使用可能になります。

例1: 現在のドメインをスキャン

root@kitploit:~
Find-WSUS | Format-Table -AutoSize

例2: 詳細出力

スキャン中の詳細な進行状況メッセージを表示:

root@kitploit:~
Find-WSUS -Verbose

例3: 別のドメインをスキャン

root@kitploit:~
Find-WSUS -Domain "child.mydomain.com" | Format-Table -AutoSize

例4: 名前でGPOをフィルタリング

root@kitploit:~
Find-WSUS -Name "*Server*" -Verbose

例5: WSUSホストの一意のリストを取得

root@kitploit:~
$results = Find-WSUS -Domain "mydomain.com"
$results.Hostname | Where-Object { $_ } | Sort-Object -Unique

📦 パラメーター


🧠 動作の仕組み

1. 環境検証

  • PowerShellが64ビットであることを確認します。
  • GroupPolicy モジュールがインストールされていることを確認します。
  • 指定されたドメインでGPOにアクセスできることを確認します。

2. ポリシースキャン(STA実行空間)

  • STA実行空間で Get-GPRegistryValue を使用して、COMスレッドエラーを回避します。

  • 次の場所で WUServer および WUStatusServer 値をスキャンします:

    root@kitploit:~
    HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate
    

3. 基本設定スキャン(GPP XML)

  • Get-GPOReport -ReportType Xml からのXML出力を解析します。
  • 名前空間付き(q2:Registry)およびフォールバック(*[local-name()='Registry'])ノード内の隠れたWSUS URLを検出します。
  • HKLM 配下、特に ...\Windows\WindowsUpdate キーに書き込まれた値を取得します。

4. 結果の集約

  • すべての検出結果を単一のデータセットに統合します。
  • URLからホスト名を抽出して重複排除を容易にします。
  • クリーンで並べ替えられたオブジェクトを返します。

🧾 出力例(実際の形式)

これは Find-WSUS の実際の Format-Table -AutoSize レイアウトとヘッダーを再現しています。ただし、ホスト名/URLとGPO名/GUIDは現実的なサンプルです。

root@kitploit:~
PS C:\Users\Administrator\Documents> Find-WSUS | Format-Table -AutoSize
[OK] Environment check passed: 64-bit PowerShell, GroupPolicy module loaded, GPOs accessible.


GPOName               Scope                 Key                                                    ValueName      Value                                    Hostname              GPOGuid                              
-------               -----                 ---                                                    ---------      -----                                    --------              -------                              
Default Domain Policy Policy (Computer)     HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate WUServer       https://wsus.corp.contoso.com:8531       wsus.corp.contoso.com 31b2f340-016d-11d2-945f-00c04fb984f9
Default Domain Policy Policy (Computer)     HKLM\Software\Policies\Microsoft\Windows\Windows\Update WUStatusServer https://wsus.corp.contoso.com:8531       wsus.corp.contoso.com 31b2f340-016d-11d2-945f-00c04fb984f9
Corporate WSUS Baseline Policy (Computer)   HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate WUServer       http://wsus01.contoso.com:8530           wsus01.contoso.com    57f2e3da-33c5-4a35-abce-c12a0b7f9823
Corporate WSUS Baseline Policy (Computer)   HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate WUStatusServer https://wsus01.contoso.com:8531          wsus01.contoso.com    57f2e3da-33c5-4a35-abce-c12a0b7f9823
Workstations - Windows Update (GPP) Preference (Registry) HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate WUStatusServer https://wsus-west.contoso.com:8531   wsus-west.contoso.com a1cde8b2-7f45-43f2-9db4-9c1e93a0e5c1

注: 実際の環境では、:8531 のSSLと :8530 のレガシーHTTPがよく見られます。上のホスト名は例です。実際のインベントリに置き換えてください。


🚫 制限事項

[!WARNING] このスクリプトは発見ツールであり、完全なインベントリシステムではありません。

GPOを介して定義されたWSUSサーバーのみを検出します。 以下は検出されません:

  • ドメイン非参加クライアントや手動構成のレジストリ
  • GPOとの関連がない不正なWSUSサーバー
  • Intune または SCCM ポリシーで管理されているシステム

✅ 推奨される次のステップ

  1. フォレスト内のすべてのドメインで Find-WSUS を実行します。
  2. 出力を中央インベントリに統合します。
  3. WSUSService を実行しているマシンについて、EDRまたはアセットスキャナーと比較します。
  4. 一致しない、または予期しないWSUSホストを調査します。

🧑‍💻 作者とクレジット

隠れたWSUS構成を明らかにし、パッチインフラストラクチャの可視性を向上させるために、セキュリティエンジニアによって開発されました。

📘 コントリビューション歓迎! 互換性を向上させたり、新しい発見方法を追加するために、プルリクエストやIssueを送信してください。

ツールをダウンロード
要件説明
64ビットPowerShellCOM互換性のために必要です。32ビットPowerShellで実行するとスクリプトは自動終了します。
RSAT: グループポリシー管理ツールGroupPolicy モジュールに必要です。

Windows 10/11: 設定 → オプション機能 → 機能の追加 → RSAT: グループポリシー管理ツール
Windows Server: サーバーマネージャー → 役割と機能の追加 → 機能 → グループポリシー管理
アクセス許可スキャン対象ドメイン内のすべてのGPOに対する読み取りアクセス権。
任意: 管理者権限一部のレジストリポリシークエリは、昇格なしでは失敗する場合があります。
ParameterDescriptionDefault
-Nameワイルドカードを使用してGPOを表示名でフィルタリングします。* の場合は -All を使用します。* (すべてのGPO)
-Domainクエリするドメインを指定します(マルチドメインフォレストで便利)。現在のユーザーのドメイン
-Verbose詳細なスキャンの進行状況と結果を表示します。オフ