
Ferramenta em Powershell para automatizar a enumeração do Active Directory.
# adPEAS v2 — Scripts Incríveis de Escalação de Privilégios em Active Directory
<p align="center">
<img src="https://assets.kitploit.com/production/public/readmes/4985/094efb3e3ea9d020e014d57d49df2544da13c1a85d28db14f491e55817bcc68f.jpg" alt="Logotipo do adPEAS" width="800">
</p>
<p align="center">
<strong>Avaliação abrangente de segurança em Active Directory — zero dependências, arquivo único, pronto para usar.</strong>
</p>
---
## O que é o adPEAS?
O adPEAS é uma ferramenta de avaliação de segurança baseada em PowerShell que identifica configurações incorretas, vulnerabilidades e caminhos de escalação de privilégios em ambientes Active Directory. Ele foi projetado para testadores de penetração, auditores de segurança e red teams que precisam de uma ferramenta confiável e autocontida que funcione em qualquer sistema Windows — sem RSAT, sem o módulo ActiveDirectory, sem dependências de terceiros.
O **adPEAS v2** é uma reescrita completa do adPEAS v1. Ele substitui a abordagem legada `DirectoryEntry`/`DirectorySearcher` por uma arquitetura unificada `System.DirectoryServices.Protocols.LdapConnection` e adiciona autenticação Kerberos nativa, relatórios avançados e operações ofensivas — tudo em PowerShell puro.
### Novidades na v2
- **Pilha Kerberos nativa** — AS-REQ/AS-REP, TGS-REQ/TGS-REP, Pass-the-Ticket, PKINIT, tudo em PowerShell puro
- **Múltiplos métodos de autenticação** — Senha, NT-Hash (OPtH), chaves AES (PtK), Certificados (PKINIT e Pass-the-Cert/Schannel), integrada do Windows
- **Mais de 40 verificações de segurança** em 9 categorias com pontuação de severidade
- **Relatórios HTML interativos** com busca, filtragem, pontuações de risco e dicas de ferramentas
- **Exportação JSON** para conversão offline de relatórios, varredura incremental e comparação de varreduras
- **Coletor BloodHound CE** — coleta de dados integrada para análise de caminhos de ataque
- **Operações ofensivas** — Kerberoasting, AS-REP Roasting, Golden/Silver/Diamond Tickets, abuso de RBCD, Shadow Credentials e mais
- **Fluxo de trabalho baseado em sessão** — conecte uma vez, execute várias verificações interativamente
- **Preenchimento automático com Tab** — autocompletar nomes de objetos do AD para exploração interativa
> **Novo no adPEAS?** Consulte o [Guia de Início Rápido](https://github.com/61106960/adpeas/blob/main/docs/02-Quick-Start.md) ou leia a [série de blogs em blog.sekurity.de](https://blog.sekurity.de/blog/adpeas-v2-introduction) para um mergulho profundo em arquitetura, autenticação e funcionamento interno.
---
## Recursos em Resumo
| Categoria | Destaques |
|----------|-----------|
| **Autenticação** | Credenciais, PKINIT, Pass-the-Cert, NT-Hash, chaves AES, autenticação do Windows, Kerberos-first com fallback automático |
| **Verificações de Segurança** | Configuração de domínio, Kerberoast, ASREPRoast, ACLs, DCSync, delegação, caminhos de escalação do AD CS, abuso de GPO, LAPS, chaves de recuperação do BitLocker, sistemas desatualizados |
| **Relatórios** | Console (com código de cores), texto simples, HTML interativo, exportação JSON |
| **Operações Ofensivas** | Kerberoasting, AS-REP Roasting, Golden/Silver/Diamond Tickets, RBCD, Shadow Credentials, Pass-the-Ticket |
| **BloodHound** | Coletor BloodHound CE integrado (exportação ZIP) |
| **Modo OPSEC** | Pular testes ativos (Kerberoast, ASREPRoast, BloodHound) |
| **Implantação** | Arquivo `.ps1` único, sem RSAT, sem módulos externos, funciona offline e em redes isoladas |
---
## Requisitos
- **SO**: Windows 10/11, Windows Server 2016/2019/2022/2025
- **PowerShell**: 5.1+ (Windows PowerShell)
- **.NET Framework**: 4.5+ (incluído no Windows)
- **Rede**: LDAP (389), LDAPS (636), Kerberos (88), SMB (445)
Não é necessário o módulo ActiveDirectory, RSAT ou módulos externos do PowerShell.
---
## Download
### Versões de Lançamento
| Arquivo | Tamanho | Caso de Uso |
|------|------|----------|
| `adPEAS.ps1` | ~4,5 MB | Desenvolvimento, depuração, revisão de código |
| `adPEAS_min.ps1` | ~3-4 MB | Uso regular com menor footprint |
| `adPEAS_ultra.ps1` | ~3 MB | Tamanho mínimo, sem comentários |
| `adPEAS_obf.ps1` | <1 MB | Menor tamanho, ofuscado para transferência |
Todas as quatro versões são funcionalmente idênticas. Escolha com base no seu cenário de implantação.
```powershell
# Clone the repository
git clone https://github.com/61106960/adPEAS.git
cd adPEAS
```
### Compilando a partir do código-fonte
O branch `main` sempre contém uma compilação atual de todas as quatro variantes, recompilada a cada correção e recurso, portanto as URLs brutas acima servem o código mais recente. Essas compilações carregam uma string de versão de desenvolvimento (`2.5.1+20260917-1759`). Cada [GitHub Release](https://github.com/61106960/adPEAS/releases) marcado tem as quatro compilações estáveis anexadas como assets para download, com uma string de versão limpa (`2.5.1`) — use essas se precisar de uma versão conhecida e citável. Para compilar a partir do código-fonte você mesmo:
```powershell
git clone https://github.com/61106960/adPEAS.git
cd adPEAS
.\Build-Release.ps1
```
Isso produz todas as quatro variantes (`adPEAS.ps1`, `adPEAS_min.ps1`, `adPEAS_ultra.ps1`, `adPEAS_obf.ps1`) na raiz do repositório. Requer Windows PowerShell 5.1 e nenhuma dependência adicional.
---
## Início Rápido
```powershell
# 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))
```
### Comando em uma linha (compatível com v1)
```powershell
# 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
```
### Baseado em Sessão (Estilo v2)
```powershell
# 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étodos de Autenticação
```powershell
# 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
```
### Saída e Relatórios
```powershell
# All formats (default) — creates .txt, .html, and .json
Invoke-adPEAS -Domain "contoso.com" -UseWindowsAuth -Outputfile .\report
# HTML only
Invoke-adPEAS -Domain "contoso.com" -UseWindowsAuth -Outputfile .\report -Format HTML
# Offline report conversion from JSON
Convert-adPEASReport -InputJson ".\report.json" -OutputPath ".\new_report"
# Compare two scans (diff report)
Compare-adPEASReport -Baseline ".\scan_q1.json" -Current ".\scan_q2.json" -OutputPath ".\diff"
```
## Módulos de Verificação de Segurança
| Módulo | Descrição |
|--------|-------------|
| `Domain` | Configuração de domínio, relações de confiança, política de senhas, assinatura LDAP, assinatura SMB |
| `Creds` | Kerberoast, ASREPRoast, acesso a chaves de recuperação LAPS e BitLocker, exposição de credenciais no SYSVOL |
| `Rights` | ACLs, DCSync, direitos de redefinição de senha, permissões perigosas em OUs |
| `Delegation` | Delegação irrestrita, restrita e restrita baseada em recursos |
| `ADCS` | Modelos de certificado e CAs: ESC1-ESC5, ESC8, ESC9, ESC13, ESC14, ESC15 (ESC10 via a verificação de GPO). Os caminhos de escalação que exigem acesso administrativo ao host da CA estão fora do escopo - consulte [Security Checks](https://github.com/61106960/adpeas/blob/main/docs/04-Security-Checks.md) |
| `Accounts` | Contas privilegiadas, usuários protegidos, contas de serviço, histórico de SID |
| `GPO` | Permissões de GPO, associação a grupos locais, tarefas agendadas, scripts, configurações de registro perigosas (WDigest, AlwaysInstallElevated, OneLogon/Zerologon, …) e políticas de driver de impressora Point and Print (PrintNightmare) implantadas via GPO |
| `Computer` | LAPS, sistemas desatualizados, servidores de infraestrutura |
| `Application` | Infraestrutura Exchange, SCCM, SCOM |
| `Bloodhound` | Coleta de dados do BloodHound CE |
Executar módulos específicos:
```powershell
Invoke-adPEAS -Domain "contoso.com" -UseWindowsAuth -Module Domain,Creds,ADCS
```
Ou execute tudo, exceto alguns, sem listar o restante:
```powershell
Invoke-adPEAS -Domain "contoso.com" -UseWindowsAuth -ExcludeModule Bloodhound,Computer
```
## Documentação
A documentação completa está disponível no diretório [docs/](https://github.com/61106960/adpeas/blob/main/docs):
| Documento | Tópico |
| ------------------------------------------------------- | --------------------------------------- |
| [Installation](https://github.com/61106960/adpeas/blob/main/docs/01-Installation.md) | Download, configuração, política de execução |
| [Quick-Start](https://github.com/61106960/adpeas/blob/main/docs/02-Quick-Start.md) | Comece em 5 minutos |
| [Authentication](https://github.com/61106960/adpeas/blob/main/docs/03-Authentication-Methods.md) | Todas as opções de autenticação |
| [Security Checks](https://github.com/61106960/adpeas/blob/main/docs/04-Security-Checks.md) | Referência completa de verificações |
| [BloodHound Collector](https://github.com/61106960/adpeas/blob/main/docs/05-BloodHound-Collector.md) | Exportação do BloodHound CE |
| [Core Functions](https://github.com/61106960/adpeas/blob/main/docs/06-Core-Functions.md) | Funções de consulta LDAP |
| [Set- & New-Modules](https://github.com/61106960/adpeas/blob/main/docs/07-Set-Modules.md) | Funções de modificação do AD |
| [Helper Functions](https://github.com/61106960/adpeas/blob/main/docs/08-Helper-Functions.md) | Funções utilitárias |
| [Architecture](https://github.com/61106960/adpeas/blob/main/docs/09-Architecture.md) | Arquitetura técnica |
| [Risk Scoring](https://github.com/61106960/adpeas/blob/main/docs/10-Risk-Scoring-System.md) | Pontuações de severidade e risco |
| [Troubleshooting](https://github.com/61106960/adpeas/blob/main/docs/11-Troubleshooting.md) | Problemas comuns e soluções |
| [FAQ](https://github.com/61106960/adpeas/blob/main/docs/12-FAQ.md) | Perguntas frequentes |
### Série de Blog
Uma série detalhada de blog cobrindo os detalhes internos do adPEAS v2 está publicada em [blog.sekurity.de](https://blog.sekurity.de/blog/adpeas-v2-introduction).
---
## Licença
O adPEAS é **source-available**. Avaliações de segurança internas da sua própria organização são gratuitas. O uso comercial (consultoria, MSP, engajamentos pagos) requer uma licença comercial.
Consulte [LICENSE](https://github.com/61106960/adpeas/blob/main/license/LICENSE.md) para os termos completos, [COMMERCIAL_AGREEMENT](https://github.com/61106960/adpeas/blob/main/license/COMMERCIAL_AGREEMENT.md) para o contrato comercial e [PRICING](https://github.com/61106960/adpeas/blob/main/license/PRICING.md) para as opções de licenciamento.
- **Consultas sobre Licenciamento:** [email protected]
- **Suporte Técnico:** [email protected]
---
## Aviso Legal
O adPEAS destina-se **exclusivamente a testes de segurança autorizados**. Obtenha sempre autorização por escrito antes de testar. Nunca use contra sistemas que você não possui ou para os quais não tem permissão de teste. Os autores não são responsáveis pelo uso indevido desta ferramenta. Cumpra todas as leis e regulamentos aplicáveis.
---
## Autor
**Alexander Sturz** — [SEKurity GmbH](https://sekurity.de)
- GitHub: [@61106960](https://github.com/61106960)
- Blog: [blog.sekurity.de](https://blog.sekurity.de)