
Outil PowerShell pour automatiser l'énumération d'Active Directory.
Évaluation complète de la sécurité Active Directory — zéro dépendance, fichier unique, prêt à l'emploi.
adPEAS est un outil d'évaluation de la sécurité basé sur PowerShell qui identifie les mauvaises configurations, les vulnérabilités et les chemins d'élévation de privilèges dans les environnements Active Directory. Il est conçu pour les testeurs d'intrusion, les auditeurs de sécurité et les équipes rouges 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.
Nouveau sur adPEAS ? Consultez le Guide de démarrage rapide ou lisez la série d'articles de blog sur blog.sekurity.de pour une analyse approfondie de l'architecture, de l'authentification et des mécanismes internes.
| Catégorie | Points forts |
|---|---|
| Authentification | Identifiants, PKINIT, Pass-the-Cert, NT-Hash, clés AES, authentification Windows, Kerberos en premier avec repli automatique |
| Contrôles de sécurité | Configuration du domaine, Kerberoast, ASREPRoast, ACL, DCSync, délégation, chemins d'escalade AD CS, abus GPO, LAPS, clés de récupération BitLocker, systèmes obsolètes |
| Rapports | Console (codage 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é |
Aucun module ActiveDirectory, RSAT ou module PowerShell externe requis.
| Fichier | Taille | Cas d'utilisation |
|---|---|---|
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 réduite, obfusqué pour le transfert |
Les quatre versions sont fonctionnellement identiques. Choisissez en fonction de votre scénario de déploiement.
# Cloner le dépôt
git clone https://github.com/61106960/adPEAS.git
cd adPEAS
La branche main ne contient que les fichiers sources (src/). Les versions compilées sont jointes à chaque version GitHub. Si vous souhaitez compiler à partir des dernières sources, utilisez le script de compilation inclus :
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.
# Option 1 : Importer en tant que module (recommandé)
Import-Module .\adPEAS.ps1
# Option 2 : Dot-sourcing
. .\adPEAS.ps1
# Option 3 : Lire et exécuter en mémoire
Get-Content -Raw .\adPEAS.ps1 | Invoke-Expression
# Option 4 : Charger directement depuis GitHub en mémoire (aucun fichier sur disque)
Invoke-Expression (Invoke-WebRequest -Uri "https://raw.githubusercontent.com/61106960/adPEAS/main/adPEAS_obf.ps1" -UseBasicParsing).Content
# Machine jointe au domaine (utilisateur courant)
Invoke-adPEAS -Domain "contoso.com" -UseWindowsAuth
# Avec identifiants
Invoke-adPEAS -Domain "contoso.com" -Username "john.doe" -Password "P@ssw0rd!"
# Mode OPSEC (ignorer Kerberoast, ASREPRoast, BloodHound)
Invoke-adPEAS -Domain "contoso.com" -UseWindowsAuth -OPSEC
# Se connecter une fois
Connect-adPEAS -Domain "contoso.com" -UseWindowsAuth
# Exécuter une analyse complète
Invoke-adPEAS
# Ou exécuter des contrôles individuels
Get-KerberoastableAccounts
Get-ADCSVulnerabilities
Get-DangerousACLs
# Se déconnecter une fois terminé
Disconnect-adPEAS
# Identifiants
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 (Certificat)
Connect-adPEAS -Domain "contoso.com" -Certificate "user.pfx"
# Pass-the-Cert / Schannel (LDAPS, sans Kerberos)
Connect-adPEAS -Domain "contoso.com" -Certificate "user.pfx" -PassTheCert
# LDAPS
Connect-adPEAS -Domain "contoso.com" -UseWindowsAuth -UseLDAPS
# Tous les formats (par défaut) — crée .txt, .html et .json
Invoke-adPEAS -Domain "contoso.com" -UseWindowsAuth -Outputfile .\report
# HTML uniquement
Invoke-adPEAS -Domain "contoso.com" -UseWindowsAuth -Outputfile .\report -Format HTML
# Conversion de rapport hors ligne à partir de JSON
Convert-adPEASReport -InputJson ".\report.json" -OutputPath ".\new_report"
# Comparer deux analyses (rapport de différences)
Compare-adPEASReport -Baseline ".\scan_q1.json" -Current ".\scan_q2.json" -OutputPath ".\diff"