O BloodHound destina-se a hackers nos relacionamentos de confiança do diretório ativo e usa a teoria dos gráficos para revelar os relacionamentos ocultos e muitas vezes não intencionais dentro de um ambiente do Active Directory.

Os atacantes podem usar o BloodHound para identificar facilmente caminhos de ataque altamente complexos que, de outra forma, seriam impossíveis de identificar rapidamente. Os defensores podem usá-lo para identificar e eliminar os mesmos caminhos de ataque. As equipes azuis e vermelhas podem usar o BloodHound para obter facilmente uma compreensão mais profunda dos relacionamentos de privilégios em um ambiente do Active Directory.
É um aplicativo Web JavaScript de página única, construído sobre o Linkurious, compilado com Electron, com um banco de dados Neo4j alimentado por um ingestor do PowerShell.
Opções do Active Directory de hackers do BloodHound
Opções de enumeração
- CollectionMethod – O método de coleção a ser usado. Este parâmetro aceita uma lista de valores separados por vírgula. Possui os seguintes valores potenciais (Padrão: Padrão):
- Padrão – Executa a coleção de membros do grupo, coleção de confiança de domínio, coleção de administrador local e coleção de sessões
- Grupo – Executa coleção de membros do grupo
- LocalAdmin – Executa a coleção de administradores locais
- RDP – Executa a coleção de usuários da área de trabalho remota
- DCOM – Executa a coleção de usuários COM distribuídos
- GPOLocalGroup – Executa a coleção de administradores locais usando objetos de diretiva de grupo
- Sessão – Executa a coleção de sessões
- ComputerOnly – executa administração local, RDP, DCOM e coleta de sessões
- LoggedOn – Executa a coleção de sessões privilegiadas (requer direitos de administrador nos sistemas de destino)
- Relações de confiança – Executa a enumeração de confiança do domínio
- ACL – Executa coleção de ACLs
- Contêiner – Executa a coleção de contêineres
- ObjectProps – Coleta propriedades do objeto como LastLogon e DisplayName
- DcOnly – Executa a coleção usando apenas LDAP. Inclui Grupo, relações de confiança, ACL, ObjectProps, Container e GPOLocalGroup.
- Tudo – Executa todos os métodos de coleta, exceto GPOLocalGroup
- SearchForest – pesquise todos os domínios da floresta em vez de apenas o atual
- Domínio – pesquise um domínio específico. Usa seu domínio atual se nulo (Padrão: nulo)
- Discrição – Executa métodos de coleta furtiva. Todas as opções furtivas são de thread único.
- SkipGCDeconfliction – Ignora a desconflição do Catálogo Global durante a enumeração da sessão. Isso pode acelerar a enumeração, mas resultará em possíveis imprecisões nos dados.
- ExcludeDc – Exclui controladores de domínio da enumeração (evita sinalizadores do Microsoft ATA :))
- ComputerFile – especifique um arquivo para carregar nomes / IPs de computador de
- OU – Especifique qual OU enumerar
Opções de conexão
- DomainController – especifique a qual controlador de domínio se conectar (Padrão: null)
- LdapPort – especifique em que porta o LDAP vive (Padrão: 0)
- SecureLdap – Conecte-se ao AD usando o LDAP seguro em vez do LDAP comum. Conectará à porta 636 por padrão.
- IgnoreLdapCert – ignora o certificado SSL LDAP. Use se houver um certificado autoassinado, por exemplo
- LDAPUser – Nome de usuário para conectar-se ao LDAP. Requer o parâmetro LDAPPass também (Padrão: null)
- LDAPPass – Senha para o usuário se conectar ao LDAP. Requer o parâmetro LDAPUser também (Padrão: null)
- DisableKerbSigning – Desativa a criptografia LDAP. Não recomendado.
Opções de desempenho
- Threads – especifique o número de threads a serem usados (Padrão: 10)
- PingTimeout – especifica o tempo limite para solicitações de ping em milissegundos (padrão: 250)
- SkipPing – Instrui o Sharphound a ignorar solicitações de ping para ver se os sistemas estão funcionando
- LoopDelay – O número de segundos entre os loops de sessão (Padrão: 300)
- MaxLoopTime – a quantidade de tempo para continuar o loop da sessão. O formato é 0d0h0m0s. O valor nulo será repetido por duas horas. (Padrão: 2h)
- Acelerador – Adiciona um atraso após cada solicitação ao computador. O valor está em milissegundos (padrão: 0)
- Tremulação – Adiciona uma variação de porcentagem à aceleração. (Padrão: 0)
Opções de saída
- JSONFolder – Pasta na qual armazenar arquivos JSON (Padrão:.)
- JSONPrefix – Prefixo para adicionar aos seus arquivos JSON (Padrão: “”)
- NoZip – Não comprima arquivos JSON no arquivo zip. Deixa arquivos JSON em disco. (Padrão: false)
- EncryptZip – Adicione uma senha gerada aleatoriamente ao arquivo zip.
- ZipFileName – especifique o nome do arquivo zip
- RandomFilenames – Randomize os nomes dos arquivos de saída
- PrettyJson – gera JSON com recuo em várias linhas para melhorar a legibilidade. O tradeoff aumenta o tamanho do arquivo.
Opções de cache
- CacheFile – Nome do arquivo para o cache Sharphound. (Padrão: BloodHound.bin)
- NoSaveCache – Não salve o arquivo em cache no disco. Sem esse sinalizador, o BloodHound.bin será colocado no disco
- Invalidar – invalida o arquivo de cache e cria um novo cache
Opções diversas
- StatusInterval – Intervalo para exibir o progresso durante a enumeração em milissegundos (Padrão: 30000)
- Detalhado – Ativa a saída detalhada
Você pode baixar o BloodHound aqui:
Linux x64 – BloodHound-linux-x64.zip
Windows x64 – BloodHound-win32-x64.zip
Origem – BloodHound-2.1.0.zip

