O BloodHound é ferramenta poderosa e que pode ser utilizada para realizar a escalação de privilégio durante um PenTest. Por um outro lado você também pode se antecipar e evitar que uma exploração seja realizada identificando a relação dos objetos do Active Directory.
Projeto : github.com/BloodHoundAD/BloodHound
Realize a instalação do BloodHound executando o comando :
Linuxapt-get install bloodhound
Para configurar o banco de dados Neo4J execute o comando abaixo e em seguida acesse: http://localhost:7474.
Linuxneo4j console
Após acessar a url: http://localhost:7474 insira o usuário e senha, em seguida clique em Connect.
Username: neo4j
Password: neo4j
Realize a alteração da senha do banco de dados e clique em Change password.
Role até o fim da página para certificar que a conexão foi estabelecida com sucesso.
Para iniciar o BloodHound execute:
Linuxbloodhound
Informe o usuário neo4j e a senha que foi definida no 04 - Passo.
Observe que o banco de dados está vazio.
Agora vamos executar o SharpHound para extrair as informações e popular o banco de dados Neo4j.
Para este exemplo e coloquei a pasta BloodHound no C:
Importe o Módulo executando o comando:
Windowsdir Import-module .\SharpHound.ps1
Em seguida digite o comando abaixo para coletar todas as informações do domínio desejado, neste exemplo: 100SECURITY.
WindowsInvoke-BloodHound -collectionmethod all -domain 100SECURITY
Observação :
O tempo de execução deste script pode variar de acordo com a quantidade de objetos existentes no Active Directory.
Após a execução será gerado um arquivo .BIN e um arquivo .ZIP contendo todas as informações coletadas.
Realize o Upload deste arquivo .ZIP para dentro do BloodHound.
Observe que o banco de dados já armazena as informações coletadas do Active Directory.
Clique na aba Queries para iniciar as consultas.