
A Python based ingestor for BloodHound
BloodHound.py es un ingestor basado en Python para BloodHound, basado en Impacket.
El código en esta rama es solo compatible con BloodHound 4.2 y 4.3. Para BloodHound CE, consulta la rama bloodhound-ce
Existen diferentes métodos de instalación para BloodHound Community Edition (CE) y BloodHound legado. Solo puedes tener una de las dos herramientas instaladas a la vez, a menos que uses un entorno virtual para ambas herramientas, o un gestor de paquetes como pipx que los configura automáticamente.
Los siguientes métodos de instalación están disponibles:
pip install bloodhoundpipx install bloodhoundgit clone https://github.com/dirkjanm/BloodHound.py y ejecutando pip install . desde el directorio del proyecto.La instalación Legacy de BloodHound.py añadirá una herramienta de línea de comandos bloodhound-python a tu PATH.
Los siguientes métodos de instalación están disponibles:
pip install bloodhound-cepipx install bloodhound-cegit clone https://github.com/dirkjanm/BloodHound.py, cambiando a la rama CE git checkout bloodhound-ce y ejecutando pip install . desde el directorio del proyecto.El ingestor CE de BloodHound.py añadirá una herramienta de línea de comandos bloodhound-ce-python a tu PATH.
Para usar el ingestor, como mínimo necesitarás credenciales del dominio al que te estás conectando. Las credenciales pueden especificarse como usuario + contraseña, hash NT o claves AES, o un TGT de Kerberos en un archivo ccache.
Deberás especificar la opción -u con un nombre de usuario de este dominio (o usuario@dominio para un usuario en un dominio de confianza). Si tienes tu DNS configurado correctamente y el dominio AD está en tu lista de búsqueda DNS, entonces BloodHound.py detectará automáticamente el dominio por ti. Si no, tendrás que especificarlo manualmente con la opción -d.
Por defecto, BloodHound.py consultará LDAP y los equipos individuales del dominio para enumerar usuarios, equipos, grupos, confianzas, sesiones y administradores locales.
Si quieres restringir la recopilación, especifica el parámetro --collectionmethod, que admite las siguientes opciones (similar a SharpHound):
Los múltiples métodos de recopilación deben separarse con una coma, por ejemplo: -c Group,LocalAdmin
Puedes anular algunas de las opciones de detección automática, como el nombre de host del Controlador de Dominio principal si quieres usar un Controlador de Dominio diferente con -dc, o especificar tu propio Catálogo Global con -gc.
BloodHound.py actualmente tiene las siguientes limitaciones:
docker build -t bloodhound .docker run -v ${PWD}:/bloodhound-data -it bloodhoundbloodhound-python dentro del contenedor; todos los datos se almacenarán en la ruta desde la que inicies el contenedor.BloodHound.py fue escrito originalmente por Dirk-jan Mollema, Edwin van Vliet y Matthijs Gielen de Fox-IT (NCC Group). BloodHound.py es mantenido actualmente por Dirk-jan Mollema de Outsider Security. La implementación y el modelo de datos están basados en la herramienta original de SpecterOps. Muchas gracias a todos los que contribuyeron probando, enviando incidencias y solicitudes de extracción a lo largo de los años.