
Genera JSON compatible con BloodHound a partir de registros escritos por ldapsearch BOF, pyldapsearch y LDAP Sentinel de Brute Ratel.
⛔🚧 Este repo ya no tiene mantenimiento. Para enviar un issue, pull request, u obtener la versión más reciente, dirígete a https://github.com/coffeegist/bofhound 🚧⛔
_____________________________ __ __ ______ __ __ __ __ _______
| _ / / __ / | ____/| | | | / __ \ | | | | | \ | | | \
| |_) | | | | | | |__ | |__| | | | | | | | | | | \| | | .--. |
| _ < | | | | | __| | __ | | | | | | | | | | . ` | | | | |
| |_) | | `--' | | | | | | | | `--' | | `--' | | |\ | | '--' |
|______/ \______/ |__| |__| |___\_\________\_\________\|__| \___\|_________\
por Fortalice ✪
BOFHound es un ingestor offline de BloodHound y analizador de resultados LDAP compatible con el ldapsearch BOF de TrustedSec, la adaptación en Python, pyldapsearch y LDAP Sentinel de Brute Ratel.
Al analizar los archivos de registro generados por las herramientas mencionadas, BOFHound permite a los operadores utilizar la querida interfaz de BloodHound mientras mantienen el control total sobre las consultas LDAP que se ejecutan y la velocidad a la que se realizan. Esto deja espacio para la discreción del operador para tener en cuenta posibles cuentas honeypot, umbrales de consultas LDAP costosas y otros mecanismos de detección diseñados teniendo en cuenta los recolectores tradicionales y automatizados de BloodHound.
Blog - Granulariza tu Juego de Reconocimiento de AD
Blog - Granulariza tu Juego de Reconocimiento de AD Parte 2
BOFHound se puede instalar con pip3 install bofhound o clonando este repositorio y ejecutando pip3 install .

Analiza los resultados ldapsearch BOF de los registros de Cobalt Strike (/opt/cobaltstrike/logs por defecto) a /data/
bofhound -o /data/
Analiza los registros de pyldapsearch e incluye todas las propiedades (en lugar de solo las comunes)
bofhound -i ~/.pyldapsearch/logs/ --all-properties
Analiza datos de LDAP Sentinel de registros BRc4 (cambiará la ruta de entrada predeterminada a /opt/bruteratel/logs)
bofhound --brute-ratel
Los siguientes atributos son necesarios para el correcto funcionamiento:
samaccounttype
dn
objectsid
Obtener todos los datos (¿Quizás ejecutar BloodHound en su lugar?)
ldapsearch (objectclass=*) *,ntsecuritydescriptor
Recuperar toda la información del esquema
ldapsearch (schemaIDGUID=*) name,schemaidguid -1 "" CN=Schema,CN=Configuration,DC=windomain,DC=local
Recuperar solo el schemaIDGUID de ms-Mcs-AdmPwd
ldapsearch (name=ms-mcs-admpwd) name,schemaidguid 1 "" CN=Schema,CN=Configuration,DC=windomain,DC=local
bofhound usa Poetry para gestionar dependencias. Instala desde el código fuente y configura para desarrollo con:
git clone https://github.com/fortalice/bofhound
cd bofhound
poetry install
poetry run bofhound --help