
adPEAS v2.5.0
Outil PowerShell pour automatiser l'énumération d'Active Directory.
adPEAS v2 — Scripts Awesome d'Escalade de Privilèges Active Directory
Évaluation complète de la sécurité Active Directory — zéro dépendance, fichier unique, prêt à l'emploi.
Qu'est-ce que adPEAS ?
adPEAS est un outil d'évaluation de sécurité basé sur PowerShell qui identifie les mauvaises configurations, les vulnérabilités et les chemins d'escalade de privilèges dans les environnements Active Directory. Il est conçu pour les testeurs d'intrusion, les auditeurs de sécurité et les red teams qui ont besoin d'un outil fiable et autonome fonctionnant sur n'importe quel système Windows — sans RSAT, sans module ActiveDirectory, sans dépendances tierces.
adPEAS v2 est une réécriture complète d'adPEAS v1. Il remplace l'approche héritée DirectoryEntry/DirectorySearcher par une architecture unifiée System.DirectoryServices.Protocols.LdapConnection et ajoute l'authentification Kerberos native, des rapports avancés et des opérations offensives — le tout en PowerShell pur.
Nouveautés de la v2
- Pile Kerberos native — AS-REQ/AS-REP, TGS-REQ/TGS-REP, Pass-the-Ticket, PKINIT, le tout en PowerShell pur
- Méthodes d'authentification multiples — Mot de passe, NT-Hash (OPtH), clés AES (PtK), certificats (PKINIT & Pass-the-Cert/Schannel), Windows intégré
- Plus de 40 contrôles de sécurité répartis en 9 catégories avec notation de gravité
- Rapports HTML interactifs avec recherche, filtrage, scores de risque et infobulles
- Export JSON pour la conversion hors ligne des rapports, l'analyse incrémentielle et la comparaison de scans
- Collecteur BloodHound CE — collecte de données intégrée pour l'analyse des chemins d'attaque
- Opérations offensives — Kerberoasting, AS-REP Roasting, Golden/Silver/Diamond Tickets, abus de RBCD, Shadow Credentials, et plus encore
- Flux de travail basé sur des sessions — connexion unique, exécution interactive de plusieurs contrôles
- Complétion par tabulation — autocomplétion des noms d'objets AD pour l'exploration interactive
Nouveau sur adPEAS ? Consultez le Guide de démarrage rapide ou lisez la série d'articles sur blog.sekurity.de pour une plongée approfondie dans l'architecture, l'authentification et les mécanismes internes.
Fonctionnalités en un coup d'œil
| Catégorie | Points forts |
|---|---|
| Authentification | Identifiants, PKINIT, Pass-the-Cert, NT-Hash, clés AES, authentification Windows, Kerberos en priorité avec repli automatique |
| Contrôles de sécurité | Configuration du domaine, Kerberoast, ASREPRoast, ACLs, DCSync, délégation, chemins d'escalade AD CS, abus de GPO, LAPS, clés de récupération BitLocker, systèmes obsolètes |
| Rapports | Console (code couleur), texte brut, HTML interactif, export JSON |
| Opérations offensives | Kerberoasting, AS-REP Roasting, Golden/Silver/Diamond Tickets, RBCD, Shadow Credentials, Pass-the-Ticket |
| BloodHound | Collecteur BloodHound CE intégré (export ZIP) |
| Mode OPSEC | Ignorer les tests actifs (Kerberoast, ASREPRoast, BloodHound) |
| Déploiement | Fichier .ps1 unique, sans RSAT, sans modules externes, fonctionne hors ligne et en environnement isolé |
Prérequis
- OS : Windows 10/11, Windows Server 2016/2019/2022/2025
- PowerShell : 5.1+ (Windows PowerShell)
- .NET Framework : 4.5+ (inclus dans Windows)
- Réseau : LDAP (389), LDAPS (636), Kerberos (88), SMB (445)
Aucun module ActiveDirectory, RSAT ou module PowerShell externe requis.
Téléchargement
Versions de publication
| Fichier | Taille | Cas d'usage |
|---|---|---|
adPEAS.ps1 | ~4,5 Mo | Développement, débogage, revue de code |
adPEAS_min.ps1 | ~3-4 Mo | Utilisation régulière avec une empreinte réduite |
adPEAS_ultra.ps1 | ~3 Mo | Taille minimale, sans commentaires |
adPEAS_obf.ps1 | <1 Mo | Taille la plus petite, obfusqué pour le transfert |
Les quatre versions sont fonctionnellement identiques. Choisissez selon votre scénario de déploiement.
# Clone the repository
git clone https://github.com/61106960/adPEAS.git
cd adPEAS
Compilation depuis les sources
La branche main contient toujours une compilation à jour des quatre variantes, reconstruite à chaque correctif et fonctionnalité, de sorte que les URL brutes ci-dessus servent le code le plus récent. Ces compilations portent une chaîne de version de développement (2.5.1+20260917-1759). Chaque GitHub Release étiquetée dispose des quatre compilations stables jointes en tant qu'assets téléchargeables, avec une chaîne de version propre (2.5.1) — utilisez celles-ci si vous avez besoin d'une version connue et citable. Pour compiler vous-même depuis les sources :
git clone https://github.com/61106960/adPEAS.git
cd adPEAS
.\Build-Release.ps1
Cela produit les quatre variantes (adPEAS.ps1, adPEAS_min.ps1, adPEAS_ultra.ps1, adPEAS_obf.ps1) à la racine du dépôt. Nécessite Windows PowerShell 5.1 et aucune dépendance supplémentaire.
Démarrage rapide
# 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))
En une ligne (compatible v1)
# 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
Basé sur les sessions (style v2)
# 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
Méthodes d'authentification
# 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