
AD-PathFinder v1.2.0
Mapeamento de caminhos de ataque para Active Directory, ADCS, SCCM e MSSQL usando BloodHound CE + dados OpenGraph.
ADPathFinder
ADPathFinder é uma ferramenta de mapeamento de ataques para pentesters e red teamers. Ela analisa dados do SharpHound e os unifica com plugins OpenGraph para revelar caminhos de ataque a alvos de alto valor, como Administradores de Domínio e Controladores de Domínio, partindo de utilizadores e computadores de baixos privilégios. O MSSQLHound e o ConfigManBearPig são suportados nativamente, estendendo a cobertura através de AD, ADCS, SCCM e MSSQL.
Blog: Mapeamento de caminhos de ataque OpenGraph no BloodHound CE
Saltar para: Quickstart · Cobertura · Como funciona · Relatórios · Configuração · Contribuidores
Cobertura
| Área | Exemplos |
|---|---|
| AD principal | Caminhos de escalada, delegação, direitos de administrador, BadSuccessor, sessões de alto valor expostas |
| Palavras-passe | Palavras-passe fracas, palavras-passe em branco, reutilização, semelhança de nomes de utilizador, uso de hash LM, exposição Kerberoast e AS-REP combinadas com palavras-passe fracas |
| ADCS | Riscos de modelos de certificado e CA do tipo ESC |
| MSSQL (dados OpenGraph do MSSQLHound) | Logins, servidores ligados, impersonação, relay e caminhos de escalada de privilégios |
| SCCM (dados OpenGraph do ConfigManBearPig) | Caminhos de takeover e relay, pontos de distribuição com PXE ativado e recuperação de políticas de ponto de gestão |
| Através de domínios | Confianças, palavras-passe partilhadas e caminhos de escalada entre domínios |
Requisitos
- Python 3.9 ou posterior.
- BloodHound CE e Neo4j disponíveis localmente por predefinição em
neo4j://localhost:7687. - Credenciais API do BloodHound CE para operações de importação e eliminação.
- Um zip do BloodHound CE / SharpHound para cobertura de auditoria AD.
- Zips opcionais de plugins OpenGraph do MSSQLHound e ConfigManBearPig para cobertura MSSQL e SCCM.
- Dump de hash NTDS e ficheiro potfile do hashcat opcionais para auditorias de palavras-passe.
Quickstart
Instalar a partir da fonte
git clone https://github.com/NetSPI/AD-PathFinder.git
cd AD-PathFinder
python3 -m venv .venv
source .venv/bin/activate
pip install -e .
Configurar acesso à API do BloodHound
adpathfinder --setup-bloodhound-api
Isto armazena as definições da API do BloodHound CE usadas para operações de importação e eliminação.
Importar dados do SharpHound
adpathfinder --import SharpHound.zip
Vários ficheiros zip do SharpHound e de plugins OpenGraph podem ser importados num único comando:
adpathfinder --import SharpHound.zip MSSQLHound.zip ConfigManBearPig.zip
Importar dados e executar uma auditoria completa
adpathfinder -i SharpHound.zip MSSQLHound.zip ConfigManBearPig.zip --ad --pwd Contoso,ContosoIT --ntds ntds.txt -p hashcat.potfile
Use apenas os ficheiros zip que tem. O valor --pwd não é o domínio AD; é uma lista separada por vírgulas de termos de empresa, marca ou organização para sinalizar em palavras-passe quebradas.
Executar uma auditoria de domínio
adpathfinder --ad
Executar uma auditoria de palavras-passe
adpathfinder --ad --pwd Contoso,ContosoIT --ntds ntds.txt -p hashcat.potfile
Use --unsafe-report apenas quando os relatórios devem incluir palavras-passe em texto claro.
Escrever diagnósticos
adpathfinder --ad --pwd Contoso,ContosoIT --ntds ntds.txt -p hashcat.potfile --diagnostics
Como funciona
| Etapa | O que acontece |
|---|---|
| Ingestão | Combina zips do SharpHound e OpenGraph suportados num único grafo. Dados do MSSQLHound e ConfigManBearPig são suportados diretamente |
| Mapeamento | Encontra os caminhos mais curtos de utilizadores e computadores para alvos de alto valor. Pode configurar o conjunto de arestas para remover arestas ruidosas como HasSession |
| Agrupamento | Agrupa contas que partilham um caminho, de modo a que caminhos repetidos sejam reportados como um único achado em vez de muitos quase duplicados |
| Emparelhamento | Compara hashes NTDS e ficheiros potfile do hashcat com dados do grafo para mostrar quais caminhos são utilizáveis durante a avaliação |
| Camada | Reporta achados independentes, como SMB signing desativado ou grupos privilegiados predefinidos, e aumenta a gravidade quando o mesmo anfitrião ou grupo também está num caminho para alvos de alto valor |
| Renderização | Escreve relatórios HTML com gráficos de caminhos SVG, notas de mitigação, passos de validação PowerShell e estado de remediação rastreado, além de saídas de texto, JSON e diagnósticos |
Relatório HTML AD
Relatório HTML de Auditoria de Palavras-passe
Configuração
O ADPathFinder lê o config.ini do diretório de trabalho. Os valores também podem ser definidos com variáveis de ambiente ADPF_*.
Execute isto para configurar o acesso à API do BloodHound CE para importações e eliminações:
adpathfinder --setup-bloodhound-api
Consulte Configuração na wiki para todas as opções, definições de conexão Neo4j, permissões de ficheiros e exemplos de configuração. Consulte Relações excluídas para filtrar a saída de caminhos de ataque.
Saídas
Os relatórios são escritos em report_<domain>/, por exemplo report_training.local/.