Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
Herramientas/GitHubGitHub/jfjallid/go-secdump
Descifrado de ContraseñasHerramientas de Cifrado/DescifradoMovimiento LateralPost-ExplotaciónPruebas de PenetraciónAutenticaciónRed Teaming
GitHubjfjallid/go-secdump

go-secdump

Herramienta para volcar secretos de forma remota desde el registro de Windows.

Ver Repositorio
5346057hace 2 mesesRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

go-secdump

Descripción

El paquete go-secdump es una herramienta diseñada para extraer de forma remota hashes del hive del registro SAM, así como secretos LSA y hashes en caché del hive SECURITY, sin necesidad de un agente remoto y sin tocar el disco.

La herramienta está construida sobre la biblioteca go-smb y la utiliza para comunicarse con el Registro Remoto de Windows para recuperar claves de registro directamente desde la memoria.

Fue creada como una experiencia de aprendizaje y como una prueba de concepto de que debería ser posible recuperar de forma remota los hashes NT del hive SAM, los secretos LSA y las credenciales en caché del dominio sin tener que guardar primero los hives del registro en disco y luego analizarlos localmente.

El principal problema a superar era que los hives SAM y SECURITY solo son legibles por NT AUTHORITY\SYSTEM. Sin embargo, noté que los administradores del grupo local tenían permiso WriteDACL en los hives del registro y, por lo tanto, podían usarse para otorgar temporalmente acceso de lectura a sí mismos para recuperar los secretos y luego restaurar los permisos originales.

Sin embargo, se descubrió un enfoque mejor (febrero de 2025) por Julien Egloff de Synacktiv. La solicitud BaseRegOpenKey utilizada para abrir manejadores de claves de registro tiene una opción para afirmar el SeBackupPrivilege, lo que nos permite abrir las claves de registro sin cambiar primero las DACL. La herramienta se ha actualizado para preferir este nuevo enfoque y solo cambiar las DACL si se solicita explícitamente.

Créditos

Gran parte del código de este proyecto está inspirado/tomado de secdump de Impacket, pero convertido para acceder al registro de Windows de forma remota y solo acceder a las claves de registro necesarias.

Algunas de las otras fuentes que han sido útiles para comprender la estructura del registro y los métodos de cifrado se enumeran a continuación:

https://www.passcape.com/index.php?section=docsys&cmd=details&id=23

http://www.beginningtoseethelight.org/ntsecurity/index.htm

https://social.technet.microsoft.com/Forums/en-US/6e3c4486-f3a1-4d4e-9f5c-bdacdb245cfd/how-are-ntlm-hashes-stored-under-the-v-key-in-the-sam?forum=win10itprogeneral

La idea de usar SeBackupPrivilege provino de Synacktiv: https://www.synacktiv.com/publications/lsa-secrets-revisiting-secretsdump

Uso

Uso: ./go-secdump [opciones]

opciones:
      --host <objetivo>        Nombre de host o dirección IP del servidor remoto. Debe ser nombre de host cuando se use Kerberos
  -P, --port <puerto>          Puerto SMB (por defecto 445)
  -d, --domain <dominio>       Nombre de dominio para iniciar sesión
  -u, --user <usuario>         Nombre de usuario
  -p, --pass <contraseña>      Contraseña
  -n, --no-pass                Deshabilitar solicitud de contraseña y no enviar credenciales
      --hash <hash NT>         Hash NT codificado en hexadecimal para la contraseña del usuario
      --local                  Autenticarse como usuario local en lugar de usuario de dominio
  -k, --kerberos               Usar autenticación Kerberos. (Se verificará KRB5CCNAME en Linux)
      --dc-ip <ip>             Opcionalmente especificar IP del KDC al usar autenticación Kerberos
      --target-ip <ip>         Opcionalmente especificar IP del objetivo al usar autenticación Kerberos
      --aes-key <hex>          Usar una clave AES128/256 codificada en hexadecimal para autenticación Kerberos
      --keytab-file <archivo>  Autenticarse usando claves de un archivo keytab (implica -k). El usuario y
                               dominio se toman de la primera entrada del keytab si no se especifican
      --dns-host <ip[:puerto]> Sobrescribir el resolvedor DNS predeterminado del sistema
      --dns-tcp                Forzar búsquedas DNS sobre TCP. Verdadero por defecto al usar --socks-host
      --dump                   Guarda los hives SAM y SECURITY en disco y
                               los transfiere a la máquina local.
      --sam                    Extraer secretos del hive SAM explícitamente. Solo se incluyen otros objetivos explícitos.
      --lsa                    Extraer secretos LSA explícitamente. Solo se incluyen otros objetivos explícitos.
      --dcc2                   Extraer cachés DCC2 explícitamente. Solo se incluyen otros objetivos explícitos.
      --misc                   Extraer secretos misceláneos del registro como la
                               DefaultPassword de Winlogon explícitamente. Solo se incluyen otros objetivos explícitos.
      --modify-dacl            Cambiar las DACL de las claves de registro antes del volcado.
                               Solo es necesario si las claves no se pueden abrir usando SeBackupPrivilege. (por defecto falso)
      --backup-dacl            Guardar las DACL originales en disco antes de la modificación
      --restore-dacl           Restaurar las DACL usando la copia de seguridad en disco. Podría ser útil si la restauración automática falla.
      --backup-file <archivo>  Nombre de archivo para la copia de seguridad de DACL (por defecto dacl.backup)
      --relay                  Iniciar un listener SMB que retransmitirá
                               autenticaciones NTLM entrantes al servidor remoto y
                               usar esa conexión. NOTA: esto fuerza SMB 2.1
                               sin cifrado.
      --relay-port <puerto>    Puerto de escucha para la retransmisión (por defecto 445)
      --socks-host <objetivo>  Establecer conexión a través de un servidor proxy SOCKS5
      --socks-port <puerto>    Puerto del proxy SOCKS5 (por defecto 1080)
  -t, --timeout <duración>     Tiempo de espera de conexión en formato 5s o 2m (por defecto 5s)
      --noenc                  Deshabilitar cifrado SMB
      --smb2                   Forzar SMB 2.1
      --debug                  Habilitar registro de depuración. Sólo --debug activa todos los
                               paquetes registrados; --debug=msrrp,smb activa solo los
                               sufijos de nombre de paquete listados (se requiere la forma '='
                               para el filtro).
      --verbose                Habilitar registro detallado. Misma sintaxis de filtro que --debug.
                               --debug y --verbose pueden combinarse con diferentes
                               filtros; un paquete objetivo de ambos recibe el nivel más alto.
      --list-log-packages      Listar los nombres de paquetes de registro que pueden ser
                               objetivo con --debug=<sufijo> o --verbose=<sufijo>,
                               luego salir
  -o, --output <archivo>       Nombre de archivo para escribir resultados (por defecto es stdout). Se agregará al archivo si existe.
      --output-format <fmt>    Formato de salida: text (por defecto), json o hashcat
      --history                Incluir secretos LSA históricos (OldVal) además de los valores actuales
  -q, --quiet                  Suprimir encabezados informativos; imprimir solo secretos
  -v, --version                Mostrar versión

Cambio de DACL

Ahora solo como una característica opcional habilitada con --modify-dacl, go-secdump intentará automáticamente modificar y luego restaurar las DACL de las claves de registro requeridas. Sin embargo, si algo sale mal durante la parte de restauración, como una desconexión de red u otra interrupción, el registro remoto quedará con las DACL modificadas.

Usando el argumento --backup-dacl es posible almacenar una copia serializada de las DACL originales antes de la modificación. Si ocurre un problema de conectividad, las DACL se pueden restaurar posteriormente desde el archivo usando el argumento --restore-dacl.

Ejemplos

Volcar todos los secretos del registro usando el truco SeBackupPrivilege

Descargar herramienta