
adPEAS v2.5.0
PowerShell-Tool zur Automatisierung der Active Directory-Enumeration.
adPEAS v2 — Active Directory Privilege Escalation Awesome Scripts
Umfassende Active-Directory-Sicherheitsbewertung — keine Abhängigkeiten, einzelne Datei, sofort einsatzbereit.
Was ist adPEAS?
adPEAS ist ein PowerShell-basiertes Sicherheitsbewertungstool, das Fehlkonfigurationen, Schwachstellen und Privilegieneskalationspfade in Active-Directory-Umgebungen identifiziert. Es wurde für Penetrationstester, Sicherheitsauditoren und Red Teams entwickelt, die ein zuverlässiges, eigenständiges Tool benötigen, das auf jedem Windows-System funktioniert — kein RSAT, kein ActiveDirectory-Modul, keine Drittanbieter-Abhängigkeiten.
adPEAS v2 ist eine vollständige Neuimplementierung von adPEAS v1. Es ersetzt den veralteten DirectoryEntry/DirectorySearcher-Ansatz durch eine einheitliche System.DirectoryServices.Protocols.LdapConnection-Architektur und fügt native Kerberos-Authentifizierung, erweiterte Berichterstattung und offensive Operationen hinzu — alles in reinem PowerShell.
Was ist neu in v2
- Nativer Kerberos-Stack — AS-REQ/AS-REP, TGS-REQ/TGS-REP, Pass-the-Ticket, PKINIT, alles in reinem PowerShell
- Mehrere Authentifizierungsmethoden — Passwort, NT-Hash (OPtH), AES-Schlüssel (PtK), Zertifikate (PKINIT & Pass-the-Cert/Schannel), Windows-integriert
- Über 40 Sicherheitsprüfungen in 9 Kategorien mit Schweregradbewertung
- Interaktive HTML-Berichte mit Suche, Filterung, Risikobewertungen und Tooltips
- JSON-Export für Offline-Berichtskonvertierung, inkrementelles Scannen und Scan-Vergleich
- BloodHound-CE-Collector — integrierte Datenerfassung für die Analyse von Angriffspfaden
- Offensive Operationen — Kerberoasting, AS-REP Roasting, Golden/Silver/Diamond Tickets, RBCD-Missbrauch, Shadow Credentials und mehr
- Sitzungsbasierter Workflow — einmal verbinden, mehrere Prüfungen interaktiv ausführen
- Tab-Vervollständigung — Autovervollständigung von AD-Objektnamen für die interaktive Erkundung
Neu bei adPEAS? Sieh dir den Quick-Start-Leitfaden an oder lies die Blog-Serie auf blog.sekurity.de für einen tiefen Einblick in Architektur, Authentifizierung und Interna.
Funktionen auf einen Blick
| Kategorie | Highlights |
|---|---|
| Authentifizierung | Anmeldeinformationen, PKINIT, Pass-the-Cert, NT-Hash, AES-Schlüssel, Windows-Authentifizierung, Kerberos-first mit automatischem Fallback |
| Sicherheitsprüfungen | Domänenkonfiguration, Kerberoast, ASREPRoast, ACLs, DCSync, Delegierung, AD-CS-Eskalationspfade, GPO-Missbrauch, LAPS, BitLocker-Wiederherstellungsschlüssel, veraltete Systeme |
| Berichterstattung | Konsole (farbcodiert), Klartext, interaktives HTML, JSON-Export |
| Offensive Ops | Kerberoasting, AS-REP Roasting, Golden/Silver/Diamond Tickets, RBCD, Shadow Credentials, Pass-the-Ticket |
| BloodHound | Integrierter BloodHound-CE-Collector (ZIP-Export) |
| OPSEC-Modus | Aktive Tests überspringen (Kerberoast, ASREPRoast, BloodHound) |
| Bereitstellung | Einzelne .ps1-Datei, kein RSAT, keine externen Module, funktioniert offline und in air-gapped Umgebungen |
Voraussetzungen
- Betriebssystem: Windows 10/11, Windows Server 2016/2019/2022/2025
- PowerShell: 5.1+ (Windows PowerShell)
- .NET Framework: 4.5+ (in Windows enthalten)
- Netzwerk: LDAP (389), LDAPS (636), Kerberos (88), SMB (445)
Kein ActiveDirectory-Modul, RSAT oder externe PowerShell-Module erforderlich.
Download
Release-Versionen
| Datei | Größe | Anwendungsfall |
|---|---|---|
adPEAS.ps1 | ~4,5 MB | Entwicklung, Debugging, Code-Review |
adPEAS_min.ps1 | ~3-4 MB | Reguläre Nutzung mit geringerem Platzbedarf |
adPEAS_ultra.ps1 | ~3 MB | Minimale Größe, keine Kommentare |
adPEAS_obf.ps1 | <1 MB | Kleinste Größe, obfuskiert für die Übertragung |
Alle vier Versionen sind funktional identisch. Wähle die passende für dein Bereitstellungsszenario.
# Clone the repository
git clone https://github.com/61106960/adPEAS.git
cd adPEAS
Aus dem Quellcode erstellen
Der Branch main enthält immer einen aktuellen Build aller vier Varianten, der mit jedem Fix und jeder Funktion neu erstellt wird, sodass die oben genannten Roh-URLs den neuesten Code bereitstellen. Diese Builds tragen eine Entwicklungsversionszeichenfolge (2.5.1+20260917-1759). Jedes mit einem Tag versehene GitHub Release hat die vier stabilen Builds als herunterladbare Assets angehängt, mit einer sauberen Versionszeichenfolge (2.5.1) — verwenden Sie diese, wenn Sie eine bekannte, zitierfähige Version benötigen. Um selbst aus dem Quellcode zu erstellen:
git clone https://github.com/61106960/adPEAS.git
cd adPEAS
.\Build-Release.ps1
Dies erzeugt alle vier Varianten (adPEAS.ps1, adPEAS_min.ps1, adPEAS_ultra.ps1, adPEAS_obf.ps1) im Repository-Stammverzeichnis. Erfordert Windows PowerShell 5.1 und keine zusätzlichen Abhängigkeiten.
Schnellstart
# 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))
Einzeiler (v1-kompatibel)
# 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
Sitzungsbasiert (v2-Stil)
# 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
Authentifizierungsmethoden
# 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
Ausgabe & Berichterstattung
# All formats (default) — creates .txt, .html, and .json
Invoke-adPEAS -Domain "contoso.com" -UseWindowsAuth -Outputfile .\report