
Active Directoryの列挙を自動化するPowershellツール。
包括的な Active Directory セキュリティ評価 — 依存関係ゼロ、単一ファイル、すぐに使用可能。
adPEAS は、Active Directory 環境における設定ミス、脆弱性、権限昇格パスを特定する PowerShell ベースのセキュリティ評価ツールです。ペネトレーションテスター、セキュリティ監査担当者、レッドチーム向けに設計されており、あらゆる Windows システム上で動作する信頼性の高い自己完結型ツールです — RSAT も ActiveDirectory モジュールもサードパーティの依存関係も不要です。
adPEAS v2 は、adPEAS v1 の完全な書き直しです。従来の DirectoryEntry/DirectorySearcher アプローチを、統合された System.DirectoryServices.Protocols.LdapConnection アーキテクチャに置き換え、ネイティブ Kerberos 認証、高度なレポート機能、攻撃的オペレーションを追加しました — すべて純粋な PowerShell で実装されています。
adPEAS は初めてですか? クイックスタートガイドを確認するか、アーキテクチャ、認証、内部構造の詳細についてはblog.sekurity.de のブログシリーズをお読みください。
| カテゴリ | ハイライト |
|---|---|
| 認証 | 資格情報、PKINIT、Pass-the-Cert、NT-Hash、AES キー、Windows 認証、Kerberos 優先で自動フォールバック |
| セキュリティチェック | ドメイン設定、Kerberoast、ASREPRoast、ACL、DCSync、委任、AD CS 権限昇格パス、GPO 悪用、LAPS、BitLocker 回復キー、古いシステム |
| レポート | コンソール (色分け)、プレーンテキスト、インタラクティブ HTML、JSON エクスポート |
| 攻撃的オペレーション | Kerberoasting、AS-REP Roasting、Golden/Silver/Diamond チケット、RBCD、Shadow Credentials、Pass-the-Ticket |
| BloodHound | 内蔵 BloodHound CE コレクター (ZIP エクスポート) |
| OPSEC モード | アクティブテスト (Kerberoast、ASREPRoast、BloodHound) をスキップ |
| デプロイ | 単一の .ps1 ファイル、RSAT 不要、外部モジュール不要、オフラインおよびエアギャップ環境で動作 |
ActiveDirectory モジュール、RSAT、外部 PowerShell モジュールは不要です。
| ファイル | サイズ | 用途 |
|---|---|---|
adPEAS.ps1 | 約 4.5 MB | 開発、デバッグ、コードレビュー |
adPEAS_min.ps1 | 約 3-4 MB | フットプリントを抑えた通常使用 |
adPEAS_ultra.ps1 | 約 3 MB | 最小サイズ、コメントなし |
adPEAS_obf.ps1 | 1 MB 未満 | 最小サイズ、転送用に難読化 |
4 つのバージョンはすべて機能的に同一です。デプロイシナリオに応じて選択してください。
# Clone the repository
git clone https://github.com/61106960/adPEAS.git
cd adPEAS
main ブランチには常に4つのバリアントすべての最新ビルドが含まれており、修正や機能が加えられるたびに再ビルドされるため、上記の raw URL は最新のコードを提供します。これらのビルドには開発バージョン文字列(2.5.1+20260917-1759)が付与されています。タグ付けされた各 GitHub Release には、4つの安定版ビルドがダウンロード可能なアセットとして添付されており、クリーンなバージョン文字列(2.5.1)が付いています。既知の引用可能なバージョンが必要な場合は、こちらを使用してください。ご自身でソースからビルドするには:
git clone https://github.com/61106960/adPEAS.git
cd adPEAS
.\Build-Release.ps1
これにより、リポジトリのルートに4つのバリアント(adPEAS.ps1、adPEAS_min.ps1、adPEAS_ultra.ps1、adPEAS_obf.ps1)が生成されます。Windows PowerShell 5.1が必要で、追加の依存関係はありません。
# Option 1: Import as module (recommended)
Import-Module .\adPEAS.ps1
# Option 2: Dot-sourcing
. .\adPEAS.ps1
# Option 3: Read and execute in memory
Get-Content -Raw .\adPEAS.ps1 | Invoke-Expression
# Option 4: Load directly from GitHub into memory (no file on disk).
# Both variants work; on an older/hardened host that still defaults to TLS 1.0,
# prepend once: [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
# 4a: WebClient - shortest. DownloadString detects and strips the file's UTF-8 BOM
# itself, so nothing extra is needed. WebClient is a legacy API but works everywhere.
Invoke-Expression (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/61106960/adPEAS/main/adPEAS_obf.ps1')
# 4b: Invoke-WebRequest - the modern cmdlet. Its .Content keeps the BOM as a leading
# U+FEFF that Invoke-Expression cannot parse, so TrimStart removes it first.
Invoke-Expression ((Invoke-WebRequest -Uri "https://raw.githubusercontent.com/61106960/adPEAS/main/adPEAS_obf.ps1" -UseBasicParsing).Content.TrimStart([char]0xFEFF))
# Domain-joined machine (current user)
Invoke-adPEAS -Domain "contoso.com" -UseWindowsAuth
# With credentials
Invoke-adPEAS -Domain "contoso.com" -Username "john.doe" -Password "P@ssw0rd!"
# OPSEC mode (skip Kerberoast, ASREPRoast, BloodHound)
Invoke-adPEAS -Domain "contoso.com" -UseWindowsAuth -OPSEC
# Connect once
Connect-adPEAS -Domain "contoso.com" -UseWindowsAuth
# Run full scan
Invoke-adPEAS
# Or run individual checks
Get-KerberoastableAccounts
Get-ADCSVulnerabilities
Get-DangerousACLs
# Disconnect when done
Disconnect-adPEAS
# Credentials
Connect-adPEAS -Domain "contoso.com" -Credential (Get-Credential)
# Overpass-the-Hash (NT-Hash)
Connect-adPEAS -Domain "contoso.com" -Username "admin" -NTHash "32ED87BDB5FDC5E9CBA88547376818D4"
# Pass-the-Key (AES256)
Connect-adPEAS -Domain "contoso.com" -Username "admin" -AES256Key "4a3b2c1d5e6f..."
# PKINIT (Certificate)
Connect-adPEAS -Domain "contoso.com" -Certificate "user.pfx"
# Pass-the-Cert / Schannel (LDAPS, no Kerberos)
Connect-adPEAS -Domain "contoso.com" -Certificate "user.pfx" -PassTheCert
# LDAPS
Connect-adPEAS -Domain "contoso.com" -UseWindowsAuth -UseLDAPS
# All formats (default) — creates .txt, .html, and .json
Invoke-adPEAS -Domain "contoso.com" -UseWindowsAuth -Outputfile .\report
# HTML only
Invoke-adPEAS -Domain "contoso.com" -UseWindowsAuth -Outputfile .\report -Format HTML
# Offline report conversion from JSON
Convert-adPEASReport -InputJson ".\report.json" -OutputPath ".\new_report"
# Compare two scans (diff report)
Compare-adPEASReport -Baseline ".\scan_q1.json" -Current ".\scan_q2.json" -OutputPath ".\diff"
| モジュール | 説明 |
|---|---|
Domain | ドメイン設定、信頼関係、パスワードポリシー、LDAP署名、SMB署名 |
Creds | Kerberoast、ASREPRoast、LAPSおよびBitLocker回復キーへのアクセス、SYSVOL内の認証情報の露出 |
Rights | ACL、DCSync、パスワードリセット権限、危険なOU権限 |
Delegation | 無制約、制約付き、リソースベースの制約付き委任 |
ADCS | 証明書テンプレートとCA: ESC1-ESC5、ESC8、ESC9、ESC13、ESC14、ESC15(ESC10はGPOチェック経由)。CAホストへの管理者アクセスを必要とする昇格パスは対象外です - Security Checksを参照してください |
Accounts | 特権アカウント、保護されたユーザー、サービスアカウント、SID履歴 |
GPO | GPO権限、ローカルグループメンバーシップ、スケジュールされたタスク、スクリプト、危険なレジストリ設定(WDigest、AlwaysInstallElevated、OneLogon/Zerologon、…)、およびGPO経由で展開されるPoint and Printプリンタードライバーポリシー(PrintNightmare) |
Computer | LAPS、古いシステム、インフラストラクチャサーバー |
Application | Exchange、SCCM、SCOMインフラストラクチャ |
Bloodhound | BloodHound CEデータ収集 |
特定のモジュールを実行:
Invoke-adPEAS -Domain "contoso.com" -UseWindowsAuth -Module Domain,Creds,ADCS
または、残りを列挙せずに、いくつかを除くすべてを実行します:
Invoke-adPEAS -Domain "contoso.com" -UseWindowsAuth -ExcludeModule Bloodhound,Computer
完全なドキュメントは docs/ ディレクトリで入手できます: