BloodHound
Mapeie caminhos de ataque
BloodHound é uma aula grátis de Ethical Hacking Academy no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Ethical Hacking Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Ethical Hacking Academy inclui 4 aulas no total.
O que é o BloodHound?
BloodHound é uma ferramenta que mapeia os relacionamentos no Active Directory como um grafo. Ela revela caminhos de ataque ocultos de um usuário com poucos privilégios até alvos de alto valor, como o Admin do Domínio.
O que os humanos não percebem em emaranhados complexos de permissões, o BloodHound encontra usando a teoria dos grafos.
Nós e arestas
O BloodHound representa o AD como nós (usuários, grupos, computadores, UOs, GPOs) conectados por arestas (relacionamentos).
As arestas representam direitos como MemberOf, AdminTo, HasSession ou GenericAll. Uma cadeia de arestas é um caminho de ataque.
O coletor: SharpHound
SharpHound é o coletor de dados. Executado em um contexto associado ao domínio, ele consulta o LDAP e outras fontes para reunir objetos, associações a grupos, sessões e ACLs.
Ele gera um arquivo JSON compactado, que depois é importado na interface do BloodHound.
SharpHound.exe -c All --zipfilename loot.zipMétodos de coleta
O SharpHound é compatível com vários métodos de coleta por meio de -c:
- Group: associações a grupos.
- Session: quem está conectado e em qual local.
- ACL: permissões de objetos.
- All: tudo (mais ruidoso, porém mais completo).
Uma coleta muito ruidosa aumenta o risco de detecção, portanto os invasores podem distribuí-la ao longo do tempo ou limitar seu escopo.
Python e coleta remota
Se você não puder executar o SharpHound no Windows, o bloodhound-python coletará dados remotamente pelo LDAP usando credenciais do domínio.
Isso é ideal a partir de uma máquina Linux de ataque durante um teste de invasão presumida.
bloodhound-python -u lowuser -p Password1 -d corp.local -ns 10.0.0.10 -c AllImportação de dados
O BloodHound usa um banco de dados de grafos Neo4j como sistema de suporte. Você inicia o Neo4j, entra na GUI do BloodHound e arrasta o arquivo zip coletado para a interface para importá-lo.
Depois da importação, você pode executar consultas predefinidas ou escrever as suas próprias em Cypher.
Consultas de análise predefinidas
O BloodHound inclui consultas predefinidas avançadas, como:
- Caminhos mais curtos até administradores do domínio.
- Encontrar principais com direitos de DCSync.
- Contas suscetíveis a Kerberoasting.
Marcar seu usuário atual como 'Owned' permite que o BloodHound calcule caminhos a partir do que está sob seu controle.
Interpretação dos caminhos de ataque
Um caminho de ataque pode ser descrito assim: seu usuário é MemberOf de um grupo que possui GenericAll sobre outro usuário que é AdminTo de um servidor onde um Admin do Domínio tem uma sessão.
Cada aresta informa a técnica exata necessária para o próximo salto, transformando um grafo em um plano passo a passo.
Arestas de ACL perigosas
Alguns dos direitos mais explorados são baseados em ACLs:
- GenericAll / GenericWrite: controle de escrita total ou amplo sobre um objeto.
- WriteDacl / WriteOwner: assumir o controle das permissões de um objeto.
- ForceChangePassword: redefinir a senha de um alvo.
Esses direitos permitem escalar privilégios sem jamais quebrar um hash.
Consultas Cypher
Para análises personalizadas, você pode escrever em Cypher, a linguagem de consulta do Neo4j. Isso permite procurar condições específicas que as consultas integradas não abrangem.
Por exemplo, encontrar todos os usuários com um caminho até um servidor sensível.
MATCH p=shortestPath((u:User {owned:true})-[*1..]->(g:Group {name:'DOMAIN ADMINS@CORP.LOCAL'})) RETURN pUso defensivo
O BloodHound não é apenas uma ferramenta para invasores. Os defensores o executam para auditar o próprio AD, encontrar caminhos de ataque não intencionais e eliminar permissões perigosas antes que adversários as explorem.
Fortalecer as ACLs, remover direitos de administrador antigos e limitar a exposição de sessões reduzem o grafo que um invasor poderia percorrer.
Verificação rápida
Recapitule a função do SharpHound.
Recapitulação
Agora você entende o BloodHound:
- Ele representa o AD como um grafo de nós e arestas de relacionamento.
- O SharpHound (ou bloodhound-python) coleta os dados em uma GUI apoiada pelo Neo4j.
- Consultas predefinidas e consultas em Cypher revelam os caminhos mais curtos até o Admin do Domínio.
- Arestas de ACL como GenericAll e WriteDacl permitem a escalação sem quebra de hashes.
Você concluiu o curso de Ataques ao Active Directory.
Perguntas Frequentes
A aula “BloodHound” é grátis?
Sim — o texto completo de “BloodHound” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Ethical Hacking Academy, atualize para CoddyKit PRO. O curso de Ethical Hacking Academy inclui 4 aulas no total.
O que vou aprender em “BloodHound”?
Mapeie caminhos de ataque Você pratica Ethical Hacking Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Ethical Hacking Academy?
Nenhuma experiência prévia é necessária. Ethical Hacking Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.
Quanto tempo leva a aula “BloodHound”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Ethical Hacking Academy?
Sim. Cada aula de Ethical Hacking Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.