Introdução ao Bloodhound

Introdução ao Bloodhound

O BloodHound é uma ferramenta para análise de relações do Active Directory (AD) que utiliza teoria dos grafos.
Através dos grafos é possível, por exemplo, identificar rapidamente caminhos que um atacante pode utilizar para tornar-se Domain Admin (DA) em um domínio.
Normalmente a descoberta destes caminhos seriam extremamente difíceis de serem encontrados, sendo necessário muito tempo de análise.

Quem pode se beneficiar com o uso dele?

Tanto equipes de segurança ofensiva (Pentesters e Red Teams) quanto de segurança defensiva (Blue Teams) podem se beneficiar com o uso da ferramenta.

As equipes de ataque a utilizam para identificar caminhos para escalação de privilégios e movimentação lateral de forma rápida.

As equipes de defesa podem melhorar a segurança do Active Directory com base nos resultados apresentados.

Instalação

Instalação do Neo4j

Antes de tudo, o Bloodhound utiliza o Neo4j como base de dados para realizar as análises. Para instalar o neo4j no Kali basta executar o comando abaixo:

sudo apt update; sudo apt install apt-transport-https neo4j

Agora, basta iniciar o neo4j:

sudo neo4j start

Em seguida, aguarde alguns segundos para o neo4j iniciar e, em seguida, acesse http://localhost:7474 em seu browser. Você verá uma tela semelhante a esta:

neo4j instalado

Em seguida, utilize o usuário neo4j e senha neo4j e clique em Connect. Será solicitado que você altere a sua senha. Digite a nova senha e clique em Change Password. Agora seu neo4j já está pronto para uso.

Instalação do Bloodhound

Pré-compilado

Os binários pré-compilados podem ser encontrados Releases Bloodhound .

Via apt no Kali

sudo apt install bloodhound

Gerando dados para input

A fim de gerar os dados, será necessário executar o SharpHound para coletar os objetos do Active Directory. Você pode:

Compilar o SharpHound, o código fonte (C#) encontra-se em: SharpHound Utilizar o binário pré-compilado, disponível em:

Uma vez que tenha o executável do SharpHound, basta executá-lo da seguinte maneira para coletar todos os dados (-c all):

Sharphound.exe -c all

Lembre-se de que o SharpHound  possui diversos métodos de coleta (o all faz a coleta de todos os dados possíveis) e ainda há diversas outras configurações possíveis, incluindo opções para deixar a execução mais furtiva (stealth).

O output será algo semelhante a imagem abaixo.

sharphound execução

Importando dados para o Bloodhound

Primeiramente, garanta que seu neo4j está rodando e inicie o Bloodhound:

sudo neo4j start; bloodhound &

Em seguida,  aparecerá uma tela de login. Insira o usuário neo4j e a senha escolhida anteriormente.

bloodhound login

Logo depois, você pode importar o arquivo .zip gerado pelo SharpHound arrastando-o para a área central do BloodHound:

importar zip bloodhound dados importados bloodhound

Logo após, dependendo de quantos objetos do Active Directory foram mapeados, você poderá interagir com os dados, utilizando a opção Analysis no canto superior esquerdo ou no centro inferior Raw Query para identificar as possíveis fraquezas do(s) domínio(s) envolvidos em sua coleta.

bloodhound kali

No próximo POST veremos algumas queries importantes e como tirar proveito dos dados retornados no BloodHound!

Por fim, agradecemos a leitura e esperamos que este post tenha te ajudado de alguma maneira! Caso tenha alguma dúvida, entre em contato conosco pelo Telegram , Facebook ou Instagram ! Veja mais posts no IronLinux !

Posts relacionados

Burp Suite e Certificado no browser

Burp Suite e Certificado no browser

O Burp Suite é uma ferramenta desenvolvida na linguagem Java pela organização PortSwigger com a finalidade de realizar testes de segurança em aplicações.

Ler post completo