
Gere JSON compatível com BloodHound a partir de logs escritos por ldapsearch BOF, pyldapsearch e LDAP Sentinel do Brute Ratel
⛔🚧 Este repositório não é mais mantido. Para enviar um issue, pull request ou obter a versão mais recente, consulte https://github.com/coffeegist/bofhound 🚧⛔
_____________________________ __ __ ______ __ __ __ __ _______
| _ / / __ / | ____/| | | | / __ \ | | | | | \ | | | \
| |_) | | | | | | |__ | |__| | | | | | | | | | | \| | | .--. |
| _ < | | | | | __| | __ | | | | | | | | | | . ` | | | | |
| |_) | | `--' | | | | | | | | `--' | | `--' | | |\ | | '--' |
|______/ \______/ |__| |__| |___\_\________\_\________\|__| \___\|_________\
by Fortalice ✪
BOFHound é um ingestor offline do BloodHound e analisador de resultados LDAP compatível com o ldapsearch BOF da TrustedSec, a adaptação em Python, pyldapsearch e o LDAP Sentinel do Brute Ratel.
Ao analisar os arquivos de log gerados pelas ferramentas mencionadas, o BOFHound permite que operadores utilizem a amada interface do BloodHound enquanto mantêm controle total sobre as consultas LDAP executadas e a velocidade com que são realizadas. Isso deixa margem para o discernimento do operador em relação a possíveis contas honeypot, limites de consultas LDAP dispendiosas e outros mecanismos de detecção projetados pensando nos coletores tradicionais e automatizados do BloodHound.
Blog - Granularize Seu Jogo de Reconhecimento de AD
Blog - Granularize Seu Jogo de Reconhecimento de AD Parte 2
BOFHound pode ser instalado com pip3 install bofhound ou clonando este repositório e executando pip3 install .

Analisar resultados do ldapsearch BOF dos logs do Cobalt Strike (/opt/cobaltstrike/logs por padrão) para /data/
bofhound -o /data/
Analisar logs do pyldapsearch e incluir apenas todas as propriedades (vs apenas propriedades comuns)
bofhound -i ~/.pyldapsearch/logs/ --all-properties
Analisar dados do LDAP Sentinel dos logs do BRc4 (alterará o caminho de entrada padrão para /opt/bruteratel/logs)
bofhound --brute-ratel
Os seguintes atributos são necessários para o funcionamento adequado:
samaccounttype
dn
objectsid
Obter Todos os Dados (Talvez Execute o BloodHound?)
ldapsearch (objectclass=*) *,ntsecuritydescriptor
Recuperar Todas as Informações do Schema
ldapsearch (schemaIDGUID=*) name,schemaidguid -1 "" CN=Schema,CN=Configuration,DC=windomain,DC=local
Recuperar Apenas o schemaIDGUID do ms-Mcs-AdmPwd
ldapsearch (name=ms-mcs-admpwd) name,schemaidguid 1 "" CN=Schema,CN=Configuration,DC=windomain,DC=local
bofhound usa Poetry para gerenciar dependências. Instale a partir do código fonte e configure para desenvolvimento com:
git clone https://github.com/fortalice/bofhound
cd bofhound
poetry install
poetry run bofhound --help