
読み取り専用のActive DirectoryおよびMicrosoft Entra ID衛生監査ツール(純粋なPowerShell製)。一度収集し、オフラインで分析:決定論的な検出事項、攻撃パス、NIS2/ISO 27001/DORA/GDPRマッピング、HTML/CSV/JSONLレポート、オプションのAI分析
.
/ V\
/ ` /
<< | IDWolf
/ | Active Directory / Entra hygiene
/ |
/ |
/ \ \ /
( ) | |
________| _/_ | |
<__________\______)\__)

使い捨てのラボドメインから取得した実際のレポート。スコア、グラフ、検出結果をドメイン侵害へと連鎖させる可能性についての判定を含むAIサマリー、最近の攻撃で見られた攻撃ベクター、攻撃パスマップ、Tier 0メンバー、そして検出結果が含まれています。
IDWolfは合成データだけでなく、実際のActive Directoryラボでテストされています。
ドメインにはVulnerable-ADと、プロジェクト自身のtests/lab/内のスクリプトが投入されており、ACLチェーン、委任、その他の設定不備を仕込んでいます。
IDWolfは、プレーンなPowerShellで書かれたActive DirectoryおよびMicrosoft Entra ID向けのハイジーン監査ツールです。ネイティブのActiveDirectoryモジュールだけを使ってディレクトリの読み取り専用スナップショットを取得し、そのスナップショットをオフラインで分析して、HTMLレポート、検出結果CSV、そして必要であればSIEM向けのJSON Linesを提供します。
AD側では169個のチェックを実行します。Kerberos、特権アクセス、アカウントハイジーン、ドメイン設定、アクセス許可、DNS、AD CS (ESC1-5、9、10、13、15)、運用状態 (レプリケーション、DHCP、バックアップ)、GPOから読み取るホスト堅牢化 (SMBおよびLDAP署名、NTLM、LMハッシュ、ユーザー権利)、パスワード品質などで、いずれもパスワードハッシュを一切扱いません。別のコレクターがMicrosoft Entra IDを90個のチェックでカバーし、CIS Microsoft 365ベンチマークにマッピングしています。
必要であれば、Geminiのステップがエグゼクティブサマリーと修復計画を作成できます。検出結果自体は常にあなたのマシン上で計算され、送信前にすべてのディレクトリ名がトークンに置き換えられます。
レポートは単一の自己完結型HTMLファイルで、監査を実行した人だけでなく、それに基づいて行動する必要がある人々が読めるように作られています。ダッシュボードタブにはスコアとグレード、SVGで描かれた攻撃パスマップと信頼マップ、Tier 0メンバー、NIS2 / ISO 27001 / DORA / GDPRのカード、カテゴリ、上位リスク、グラフが表示されます。詳細タブには、すべての検出結果とその修正方法が表示されます。外部ライブラリもCDNもなく、インターネットから何も読み込みません。オフラインで開くことができ、そのままメールで送信できます。
GitHubはHTMLファイルをプレーンテキストとして表示するため、サンプルをダウンロードしてブラウザで開いてください:
examples/lab_report.htmlはGIFに写っているレポートです。ラボドメイン (Vulnerable-ADとtests/lab/のスクリプトで投入) から取得したもので、オプションのGeminiサマリーを含みます。examples/demo_report.htmlは架空のドメインを基に構築されており、詳細な収集とパスワード品質を含みます。その検出結果CSVとJSON Linesも同じ場所にあります。examples/entra_report.htmlは架空のEntraテナントのレポートです。| スクリプト | 実行環境 | 必要なもの | 生成物 |
|---|---|---|---|
Start-IDWolf.ps1 (またはStart-IDWolf.cmd) | どこでも | なし | 以下すべてのメニュー |
Collect-ADSnapshot.ps1 | ドメイン参加済みマシン | ActiveDirectoryモジュール (RSAT)、ドメインアカウント | ADスナップショットJSON |
Collect-EntraSnapshot.ps1 | 任意のマシン | Microsoft Graph SDK、Global Reader | EntraスナップショットJSON |
Export-PasswordQuality.ps1 | PDCに到達できる任意のマシン (信頼された管理ホストまたはDC)、またはオフラインのNTDS.dit | DSInternals、DCSync権限 | パスワード品質JSON (ハッシュなし) |
IDWolf.ps1 | どこでも | なし | HTML + CSV + JSONLレポート |
Export-BloodHound.ps1 | どこでも | なし | BloodHound CE zip (ベータ) |
Invoke-IDWolfScheduled.ps1 | スケジュールタスク | コレクターと同じもの | プロンプトなしで収集+分析、SIEMフィード |
IDWolf.ps1にスナップショットがADかEntraかを伝える必要はありません。自動的に判別します。
| 領域 | チェック数 | 内容 |
|---|---|---|
| Kerberos | 14 | Kerberoasting、AS-REP roasting、RC4/DES、委任(非制約委任、制約委任、RBCD、SPNジャッキングに開かれた孤立ターゲット)、krbtgtの経過期間、Protected Users |
| 特権アクセス | 18 | ネストおよびプライマリグループを通じたSIDによるTier 0メンバーシップ、休眠 / 外部 / コンピュータ管理者、オペレータグループ、DnsAdmins、RID 500、サイロ、全員をローカル管理者にするGPO、RODCのパスワードレプリケーションポリシーとRODCにキャッシュされたTier 0資格情報 |
| アカウント衛生 | 19 | 非アクティブおよび未使用のアカウント、パスワード不要 / 無期限 / 説明欄に記載されたパスワード、sIDHistory、LAPSの展開とローテーション、サポート終了OS |
| ドメイン構成 | 28 | パスワードポリシーとFGPP、機能レベル、Recycle Bin、匿名LDAP、信頼関係、DNSゾーンとWPADレコード、DC衛生 |
| アクセス許可 | 17 | DCSync権限、Tier 0上の危険なACE(または-Deep指定時は任意の場所:ログオンスクリプト、プロファイルパス、証明書マッピング、アカウントフラグ、アカウント制限、RBCD属性への書き込みアクセスを含む)、所有者、機密属性のDirSyncリーダー(SyncLAPSPassword)、GPPパスワード、スクリプトのシークレット、gMSAおよびLAPSリーダー、Shadow Credentials、dMSA作成権限(BadSuccessor)、SCCM System Managementコンテナへの書き込みアクセス、GPO乗っ取り、共有から実行されるGPOスクリプトとタスク |
| 証明書サービス | 19 | ESC1-5、9、10、13、15、17(HTTPS経由のWSUS)、弱いCAキー、有効期限切れのCA;ESC6、7、8、11、16はCA自体で読み取り(CAホスト上の管理者権限)、読み取れなかったCAには手動確認の注記付き |
| ホスト堅牢化(GPO) | 40 | SMB/LDAP署名とチャネルバインディング、NTLM/LM、WDigest、LSA保護、監査ポリシー、ログ記録、ZeroLogon、LLMNR、mDNS、NBT-NS(DC上でライブ)、nullセッション、Spooler、WebClient(GPOおよびDC上でライブ)、noPacパッチレベルと強制インターフェース(DC上でライブ)、Point and Print(PrintNightmare)、キャッシュされたログオン、AlwaysInstallElevated、GPO内の自動ログオンパスワード、HTTP経由のWSUS、RDP(NLA、Restricted Admin)、Credential Guard、アプリケーション制御、IPv6 / mitm6、WPAD自動検出、Windows Script Host、強制ログオフ |
| パスワード品質 | 5 | 重複、空、デフォルト、漏洩、可逆パスワードを、ハッシュを一切扱うことなく検出 |
| 運用状態 | 9 | レプリケーション、バックアップ、DC上のDHCP、FSMO保持者、到達不能なDC、DC間のクロックスキュー、DC上のディスク容量と停止中のサービス |
| Entra ID | 90 | MFA(登録、強度、Authenticator設定)、条件付きアクセス(レガシ認証、デバイスコード、リスク、マネージドデバイス、場所、トークン保護、セッション制限)、PIM(常時アクセス、承認、アクティベーションと割り当ての設定、グループのPIM所有者)、管理者(クラウド専用、ライセンス、非アクティブ、緊急アクセス)、デバイス(参加、ローカル管理者、LAPS、BitLocker)、ゲスト、アプリ(同意、アクセス許可、資格情報ポリシー)、パスワード設定、リスクの高いアプリ同意、アプリ所有者、条件付きアクセスの除外と管理者ロールの背後にあるグループ、Entra Connectアプリ、類似名アプリ、Microsoftアプリ上の資格情報、同期の状態、フェデレーション、B2B直接接続、アクセスパッケージとそのカタログ上のロール、廃止されたAzure AD Graph上に残るアプリ、ワークロードIDの条件付きアクセス、デバイス上でコードを実行できるIntuneロールとデバイスワイプおよびスクリプトに対するMulti Admin Approval(実際のテナントでは未検証);Graphが読み取れるすべてのCIS Microsoft 365 v7コントロール |
チェックの完全なリストはさらに下にあります。CIS、PingCastle、
InfosecMatter Top 16、および一般的な攻撃手法への対応関係はCOVERAGE.mdに記載されています。
2023〜2026年に最も引用されたインシデントと研究の背後にある攻撃ベクトルと、それぞれが必要とする条件を探すチェック。カバーされていないもの(Microsoft側の欠陥、構成ではなく検出に関するもの)を含む完全な表は
COVERAGE.mdにあります。
| 攻撃 | 時期 | チェック |
|---|---|---|
| BadSuccessor(Windows Server 2025上のdMSA、CVE-2025-53779) | 2025 | badsuccessor_dmsa_create |
| Golden dMSA / Golden gMSA | 2025 | kds_root_key_readable(-Deep) |
| 強制認証 + LDAPまたはAD CSへのNTLMリレー(CVE-2025-24054) | 2025-26 | coercion_unfiltered_dc、adcs_esc8、adcs_esc11、ldap_signing_not_required、ldap_channel_binding_off、webclient_on_dc |
| SMB経由のNTLMリフレクション(CVE-2025-33073) | 2025 | smb_signing_not_required、smb_client_signing_not_required(緩和策) |
| AD CS ESC15(EKUwu)およびESC16 | 2024-25 | adcs_esc15、adcs_esc16 |
| AD CS ESC17: 誰でも要求できる証明書を用いたHTTPS経由のWSUS | 2026 | adcs_esc17、wsus_http |
| SCCM / MECM: ADに公開された不正な管理ポイント | 2023-26 | sccm_system_management_writable |
| ランサムウェア侵入におけるKerberoasting | 2026 | kerberoastable_user、privileged_kerberoastable、spn_account_rc4 |
| Entra ConnectとSyncJacking | 2025-26 | entra_admin_synced_from_onprem、entra_connect_app_extra_credentials、dcsync_rights(部分的) |
| パスワードスプレー(クラウドへの初期アクセスの99%以上、Microsoft 2026) | 2025-26 | entra_smart_lockout_weak、entra_banned_passwords_off、entra_legacy_auth_allowed、entra_admins_without_mfa |
| デバイスコードフィッシング | 2025-26 | entra_device_code_flow_allowed |
| 中間者攻撃とトークン窃取 | 継続中 | entra_no_phishing_resistant_admins、entra_token_protection_off、entra_admin_sign_in_frequency |
| OAuth同意フィッシング、過剰権限アプリ(Midnight Blizzard) | 2024-26 | entra_users_can_consent、entra_risky_delegated_grant、entra_app_high_privilege |
| サービスプリンシパルの所有権を通じた昇格(Entra Agent ID) | 2026 | entra_privileged_app_sp_owner、entra_privileged_app_owner |
| 侵害されたIntune管理者によるデバイスの一括ワイプ(Stryker、報告済み) | 2026 | entra_intune_no_multi_admin_approval、entra_intune_role_weak_group(実際のテナントでは未検証) |
| Azure AD Graphを依然使用しているアプリ(Actorトークン欠陥、CVE-2025-55241) | 2025 | entra_app_azure_ad_graph |
すべてのチェックは、証拠を提供するコントロールにマッピングされています。対象は 4つのフレームワークです:
| フレームワーク | コントロール |
|---|---|
| NIS2、指令 (EU) 2022/2555(イタリアでは、立法令138/2024の第24条) | 第21条(2)(b)、(c)、(e)、(g)、(h)、(i)、(j) |
| ISO/IEC 27001:2022、附属書A | A.5.15-A.5.18、A.8.2、A.8.5、A.8.8、A.8.9、A.8.13-A.8.16、A.8.20、A.8.24 |
| DORA、規則 (EU) 2022/2554 | 第9条(2)、9(4)(b)、(c)、(d)、(f)、10(1)、12(1) |
| GDPR、規則 (EU) 2016/679 | 第32条(1)(a)、(b)、(c) |