
Mapeamento de caminhos de ataque para Active Directory, ADCS, SCCM e MSSQL usando BloodHound CE + dados OpenGraph.
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
| Á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 |
neo4j://localhost:7687.git clone https://github.com/NetSPI/AD-PathFinder.git
cd AD-PathFinder
python3 -m venv .venv
source .venv/bin/activate
pip install -e .
adpathfinder --setup-bloodhound-api
Isto armazena as definições da API do BloodHound CE usadas para operações de importação e eliminação.
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
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.
adpathfinder --ad
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.
adpathfinder --ad --pwd Contoso,ContosoIT --ntds ntds.txt -p hashcat.potfile --diagnostics
| 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 |
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.
Os relatórios são escritos em report_<domain>/, por exemplo report_training.local/.