
Strumento Powershell per automatizzare l'enumerazione di Active Directory.
Valutazione completa della sicurezza di Active Directory — zero dipendenze, file singolo, pronto all'uso.
adPEAS è uno strumento di valutazione della sicurezza basato su PowerShell che identifica configurazioni errate, vulnerabilità e percorsi di escalation dei privilegi in ambienti Active Directory. È progettato per penetration tester, auditor di sicurezza e red team che necessitano di uno strumento affidabile e autonomo che funzioni su qualsiasi sistema Windows — senza RSAT, senza modulo ActiveDirectory, senza dipendenze di terze parti.
adPEAS v2 è una riscrittura completa di adPEAS v1. Sostituisce il vecchio approccio DirectoryEntry/DirectorySearcher con un'architettura unificata System.DirectoryServices.Protocols.LdapConnection e aggiunge autenticazione Kerberos nativa, reportistica avanzata e operazioni offensive — tutto in puro PowerShell.
Nuovo su adPEAS? Consulta la Guida di Avvio Rapido o leggi la serie di articoli su blog.sekurity.de per un approfondimento su architettura, autenticazione e dettagli interni.
| Categoria | Punti Salienti |
|---|---|
| Autenticazione | Credenziali, PKINIT, Pass-the-Cert, NT-Hash, chiavi AES, autenticazione Windows, Kerberos-first con fallback automatico |
| Controlli di Sicurezza | Configurazione dominio, Kerberoast, ASREPRoast, ACL, DCSync, delega, percorsi di escalation AD CS, abuso GPO, LAPS, chiavi di recupero BitLocker, sistemi obsoleti |
| Reportistica | Console (codificata a colori), testo semplice, HTML interattivo, esportazione JSON |
| Operazioni Offensive | Kerberoasting, AS-REP Roasting, Golden/Silver/Diamond Tickets, RBCD, Shadow Credentials, Pass-the-Ticket |
| BloodHound | Collector BloodHound CE integrato (esportazione ZIP) |
| Modalità OPSEC | Salta i test attivi (Kerberoast, ASREPRoast, BloodHound) |
| Distribuzione | File singolo .ps1, senza RSAT, senza moduli esterni, funziona offline e in ambienti air-gapped |
Nessun modulo ActiveDirectory, RSAT o moduli PowerShell esterni richiesti.
| File | Dimensioni | Caso d'Uso |
|---|---|---|
adPEAS.ps1 | ~4.5 MB | Sviluppo, debug, revisione del codice |
adPEAS_min.ps1 | ~3-4 MB | Uso regolare con footprint ridotto |
adPEAS_ultra.ps1 | ~3 MB | Dimensioni minime, senza commenti |
adPEAS_obf.ps1 | <1 MB | Dimensioni minime, offuscato per il trasferimento |
Tutte e quattro le versioni sono funzionalmente identiche. Scegli in base allo scenario di distribuzione.
# Clona il repository
git clone https://github.com/61106960/adPEAS.git
cd adPEAS
Il branch main contiene solo i file sorgente (src/). Le build di rilascio sono allegate a ciascuna Release GitHub. Se vuoi compilare dall'ultimo codice sorgente, usa lo script di build incluso:
git clone https://github.com/61106960/adPEAS.git
cd adPEAS
.\Build-Release.ps1
Questo produce tutte e quattro le varianti (adPEAS.ps1, adPEAS_min.ps1, adPEAS_ultra.ps1, adPEAS_obf.ps1) nella radice del repository. Richiede Windows PowerShell 5.1 e nessuna dipendenza aggiuntiva.
# Opzione 1: Importa come modulo (consigliato)
Import-Module .\adPEAS.ps1
# Opzione 2: Dot-sourcing
. .\adPEAS.ps1
# Opzione 3: Leggi ed esegui in memoria
Get-Content -Raw .\adPEAS.ps1 | Invoke-Expression
# Opzione 4: Carica direttamente da GitHub in memoria (nessun file su disco)
Invoke-Expression (Invoke-WebRequest -Uri "https://raw.githubusercontent.com/61106960/adPEAS/main/adPEAS_obf.ps1" -UseBasicParsing).Content
# Macchina appartenente al dominio (utente corrente)
Invoke-adPEAS -Domain "contoso.com" -UseWindowsAuth
# Con credenziali
Invoke-adPEAS -Domain "contoso.com" -Username "john.doe" -Password "P@ssw0rd!"
# Modalità OPSEC (salta Kerberoast, ASREPRoast, BloodHound)
Invoke-adPEAS -Domain "contoso.com" -UseWindowsAuth -OPSEC
# Connettiti una volta
Connect-adPEAS -Domain "contoso.com" -UseWindowsAuth
# Esegui scansione completa
Invoke-adPEAS
# Oppure esegui controlli individuali
Get-KerberoastableAccounts
Get-ADCSVulnerabilities
Get-DangerousACLs
# Disconnettiti quando hai finito
Disconnect-adPEAS
# Credenziali
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 (Certificato)
Connect-adPEAS -Domain "contoso.com" -Certificate "user.pfx"
# Pass-the-Cert / Schannel (LDAPS, senza Kerberos)
Connect-adPEAS -Domain "contoso.com" -Certificate "user.pfx" -PassTheCert
# LDAPS
Connect-adPEAS -Domain "contoso.com" -UseWindowsAuth -UseLDAPS
# Tutti i formati (predefinito) — crea .txt, .html e .json
Invoke-adPEAS -Domain "contoso.com" -UseWindowsAuth -Outputfile .\report
# Solo HTML
Invoke-adPEAS -Domain "contoso.com" -UseWindowsAuth -Outputfile .\report -Format HTML
# Conversione report offline da JSON
Convert-adPEASReport -InputJson ".\report.json" -OutputPath ".\new_report"
# Confronta due scansioni (report diff)
Compare-adPEASReport -Baseline ".\scan_q1.json" -Current ".\scan_q2.json" -OutputPath ".\diff"