ESTO AHORA ESTÁ OBSOLETO EN FAVOR DE SHARPHOUND. LOS DATOS RECOPILADOS CON ESTE MÉTODO NO FUNCIONARÁN CON BLOODHOUND 4.1+
SharpHound - Reescritura en C# del Ingestor de BloodHound
Obtener SharpHound
La última compilación de SharpHound siempre estará en el repositorio de BloodHound aquí
Instrucciones de Compilación
SharpHound está escrito usando características de C# 9.0. Para compilar fácilmente este proyecto, use Visual Studio 2019.
Si desea compilar en versiones anteriores de Visual Studio, puede instalar el paquete nuget Microsoft.Net.Compilers.
La compilación del proyecto generará un ejecutable así como un script de PowerShell que encapsula el ejecutable. Todas las dependencias están integradas en el binario.
Requisitos
SharpHound está diseñado para .Net 4.5. Sharphound debe ejecutarse desde el contexto de un usuario de dominio, ya sea directamente a través de un inicio de sesión o mediante otro método como RUNAS.
Uso
Opciones de Enumeración
- CollectionMethod - El método de recolección a utilizar. Este parámetro acepta una lista de valores separados por comas. Tiene los siguientes valores potenciales (Default: Default):
- Default - Realiza la recolección de membresía de grupos, recolección de confianzas de dominio, recolección de grupos locales, recolección de sesiones, recolección de ACL, recolección de propiedades de objetos y recolección de objetivos SPN
- Group - Realiza la recolección de membresía de grupos
- LocalAdmin - Realiza la recolección de administradores locales
- RDP - Realiza la recolección de Usuarios de Escritorio Remoto
- DCOM - Realiza la recolección de Usuarios de COM Distribuido
- PSRemote - Realiza la recolección de Usuarios de Administración Remota
- GPOLocalGroup - Realiza la recolección de administradores locales usando Objetos de directiva de grupo
- Session - Realiza la recolección de sesiones
- ComputerOnly - Realiza la recolección de administradores locales, RDP, DCOM y sesiones
- LoggedOn - Realiza la recolección de sesiones privilegiadas (requiere derechos de administrador en los sistemas de destino)
- Trusts - Realiza la enumeración de confianzas de dominio
- ACL - Realiza la recolección de ACL
- Container - Realiza la recolección de Contenedores
- DcOnly - Realiza la recolección usando solo LDAP. Incluye Group, Trusts, ACL, ObjectProps, Container y GPOLocalGroup.
- ObjectProps - Realiza la recolección de Propiedades de Objetos para propiedades como LastLogon o PwdLastSet
- All - Realiza todos los Métodos de Recolección excepto GPOLocalGroup
- Domain - Busca un dominio en particular. Usa tu dominio actual si es nulo (Default: null)
- Stealth - Realiza métodos de recolección sigilosos. Todas las opciones sigilosas son de un solo hilo.
- ExcludeDomainControllers - Excluye los controladores de dominio de la enumeración (evita las banderas de Microsoft ATA :) )
- ComputerFile - Especifica un archivo del cual cargar nombres/IPS de computadoras
- LdapFilter - Filtro LDAP para agregar a la búsqueda
- OverrideUserName - Sobrescribe el nombre de usuario para la enumeración de sesiones (avanzado)
Opciones de Bucle
- Loop - Bucle de recolecciones de computadoras
- LoopDuration - Cuánto tiempo hacer el bucle
- LoopInterval - Duración de espera entre bucles
Opciones de Conexión
- DomainController - Especifica a qué Controlador de Dominio conectarse (Default: null)
- LdapPort - Especifica en qué puerto reside LDAP (Default: 0)
- SecureLdap - Conectarse a AD usando LDAP seguro en lugar de LDAP normal. Se conectará al puerto 636 por defecto.
- LdapUsername - Nombre de usuario para conectarse a LDAP. Requiere también el parámetro LDAPPassword (Default: null)
- LdapPassword - Contraseña del usuario para conectarse a LDAP. Requiere también el parámetro LDAPUser (Default: null)
- DisableKerberosSigning - Desactiva el cifrado LDAP. No recomendado.
Opciones de Rendimiento
- PortScanTimeout - Especifica el tiempo de espera para solicitudes de ping en milisegundos (Default: 2000)
- SkipPortScan - Instruye a Sharphound a omitir las solicitudes de ping para ver si los sistemas están activos
- Throttle - Agrega un retraso después de cada solicitud a una computadora. El valor está en milisegundos (Default: 0)
- Jitter - Agrega un jitter porcentual al throttle. (Default: 0)
Opciones de Salida
- OutputDirectory - Carpeta en la que se almacenarán los archivos JSON (Default: .)
- OutputPrefix - Prefijo para agregar a sus archivos JSON (Default: "")
- NoZip - No comprimir los archivos JSON en el archivo zip. Deja los archivos JSON en el disco. (Default: false)
- EncryptZip - Agregar una contraseña generada aleatoriamente al archivo zip.
- ZipFileName - Especificar el nombre del archivo zip
- RandomizeFilenames - Aleatorizar los nombres de archivos de salida
- PrettyJson - Genera JSON con sangría en múltiples líneas para mejorar la legibilidad. La compensación es un mayor tamaño de archivo.
- DumpComputerStatus - Vuelca códigos de error de la conexión a computadoras
Opciones de Caché
- CacheFileName - Nombre de archivo para el caché de Sharphound. (Default: .bin)
- NoSaveCache - No guardar el archivo de caché en el disco. Sin esta bandera, .bin se descargará al disco
- InvalidateCache - Invalidar el archivo de caché y construir un nuevo caché
Opciones Varias
- StatusInterval - Intervalo para mostrar el progreso durante la enumeración en milisegundos (Default: 30000)