
Herramienta de Powershell para automatizar la enumeración de Active Directory.
Evaluación integral de seguridad de Active Directory: cero dependencias, un solo archivo, listo para usar.
adPEAS es una herramienta de evaluación de seguridad basada en PowerShell que identifica malas configuraciones, vulnerabilidades y rutas de escalada de privilegios en entornos de Active Directory. Está diseñada para pentesters, auditores de seguridad y equipos rojos que necesitan una herramienta confiable y autónoma que funcione en cualquier sistema Windows — sin RSAT, sin módulo ActiveDirectory, sin dependencias de terceros.
adPEAS v2 es una reescritura completa de adPEAS v1. Reemplaza el enfoque heredado de DirectoryEntry/DirectorySearcher con una arquitectura unificada de System.DirectoryServices.Protocols.LdapConnection y añade autenticación Kerberos nativa, informes avanzados y operaciones ofensivas — todo en PowerShell puro.
¿Nuevo en adPEAS? Consulta la Guía de inicio rápido o lee la serie de blogs en blog.sekurity.de para una inmersión profunda en arquitectura, autenticación y funcionamiento interno.
| Categoría | Destacados |
|---|---|
| Autenticación | Credenciales, PKINIT, Pass-the-Cert, NT-Hash, claves AES, autenticación de Windows, Kerberos primero con respaldo automático |
| Comprobaciones de seguridad | Configuración de dominio, Kerberoast, ASREPRoast, ACLs, DCSync, delegación, rutas de escalada de AD CS, abuso de GPO, LAPS, claves de recuperación de BitLocker, sistemas desactualizados |
| Informes | Consola (con códigos de color), texto plano, HTML interactivo, exportación JSON |
| Operaciones ofensivas | Kerberoasting, AS-REP Roasting, Golden/Silver/Diamond Tickets, RBCD, Shadow Credentials, Pass-the-Ticket |
| BloodHound | Recolector BloodHound CE integrado (exportación ZIP) |
| Modo OPSEC | Omite pruebas activas (Kerberoast, ASREPRoast, BloodHound) |
| Implementación | Un solo archivo .ps1, sin RSAT, sin módulos externos, funciona sin conexión y en entornos aislados |
No se requiere módulo ActiveDirectory, RSAT ni módulos externos de PowerShell.
| Archivo | Tamaño | Caso de uso |
|---|---|---|
adPEAS.ps1 | ~4.5 MB | Desarrollo, depuración, revisión de código |
adPEAS_min.ps1 | ~3-4 MB | Uso habitual con menor huella |
adPEAS_ultra.ps1 | ~3 MB | Tamaño mínimo, sin comentarios |
adPEAS_obf.ps1 | <1 MB | Tamaño más pequeño, ofuscado para transferencia |
Las cuatro versiones son funcionalmente idénticas. Elige según tu escenario de implementación.
# Clonar el repositorio
git clone https://github.com/61106960/adPEAS.git
cd adPEAS
La rama main contiene solo archivos fuente (src/). Las compilaciones de lanzamiento están adjuntas a cada GitHub Release. Si quieres compilar desde el código fuente más reciente, usa el script de compilación incluido:
git clone https://github.com/61106960/adPEAS.git
cd adPEAS
.\Build-Release.ps1
Esto produce las cuatro variantes (adPEAS.ps1, adPEAS_min.ps1, adPEAS_ultra.ps1, adPEAS_obf.ps1) en la raíz del repositorio. Requiere Windows PowerShell 5.1 y no tiene dependencias adicionales.
# Opción 1: Importar como módulo (recomendado)
Import-Module .\adPEAS.ps1
# Opción 2: Dot-sourcing
. .\adPEAS.ps1
# Opción 3: Leer y ejecutar en memoria
Get-Content -Raw .\adPEAS.ps1 | Invoke-Expression
# Opción 4: Cargar directamente desde GitHub en memoria (sin archivo en disco)
Invoke-Expression (Invoke-WebRequest -Uri "https://raw.githubusercontent.com/61106960/adPEAS/main/adPEAS_obf.ps1" -UseBasicParsing).Content
# Máquina unida al dominio (usuario actual)
Invoke-adPEAS -Domain "contoso.com" -UseWindowsAuth
# Con credenciales
Invoke-adPEAS -Domain "contoso.com" -Username "john.doe" -Password "P@ssw0rd!"
# Modo OPSEC (omite Kerberoast, ASREPRoast, BloodHound)
Invoke-adPEAS -Domain "contoso.com" -UseWindowsAuth -OPSEC
# Conectarse una vez
Connect-adPEAS -Domain "contoso.com" -UseWindowsAuth
# Ejecutar escaneo completo
Invoke-adPEAS
# O ejecutar comprobaciones individuales
Get-KerberoastableAccounts
Get-ADCSVulnerabilities
Get-DangerousACLs
# Desconectarse al terminar
Disconnect-adPEAS
# Credenciales
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 (Certificado)
Connect-adPEAS -Domain "contoso.com" -Certificate "user.pfx"
# Pass-the-Cert / Schannel (LDAPS, sin Kerberos)
Connect-adPEAS -Domain "contoso.com" -Certificate "user.pfx" -PassTheCert
# LDAPS
Connect-adPEAS -Domain "contoso.com" -UseWindowsAuth -UseLDAPS
# Todos los formatos (predeterminado) — crea .txt, .html y .json
Invoke-adPEAS -Domain "contoso.com" -UseWindowsAuth -Outputfile .\report
# Solo HTML
Invoke-adPEAS -Domain "contoso.com" -UseWindowsAuth -Outputfile .\report -Format HTML
# Conversión de informe sin conexión desde JSON
Convert-adPEASReport -InputJson ".\report.json" -OutputPath ".\new_report"
# Comparar dos escaneos (informe de diferencias)
Compare-adPEASReport -Baseline ".\scan_q1.json" -Current ".\scan_q2.json" -OutputPath ".\diff"