Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
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/leftp/dpapisnoop
Descifrado de ContraseñasAtaques de ContraseñasAnálisis de HashPost-ExplotaciónRed Teaming
GitHubleftp/dpapisnoop

DPAPISnoop

Una herramienta en C# para generar hashes DPAPI descifrables a partir de las MasterKeys de usuario.

Ver Repositorio
14687hace 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

DPAPISnoop

Una herramienta en C# que extrae hashes DPAPI crackeables de las MasterKeys de usuario y de los archivos CREDHIST.

Apunta tanto a la MasterKey ($DPAPImk$) como a toda la cadena CREDHIST ($credhist$), con soporte para rutas locales y recursos compartidos SMB remotos.


Qué extrae

Hashes de MasterKey ($DPAPImk$)

La MasterKey de cada usuario se puede encontrar en \Users\<user>\AppData\Roaming\Microsoft\Protect\<SID>\.

Crackearla permite obtener la contraseña de dominio del usuario y desbloquea todos los secretos protegidos por DPAPI de esa época.

La versión del hash depende del SO:

  • Versión 1 — 3DES + SHA-1 (≤ Vista)
  • Versión 2 — AES-256 + SHA-512 (≥ Win7)

El campo de contexto codifica el tipo de cuenta:

  • 1 — Usuario local
  • 2 — Usuario de dominio, pre-1607
  • 3 — Usuario de dominio, post-1607

Hashes de CREDHIST ($credhist$)

Cada entrada del archivo CREDHIST de cada usuario. Cada entrada está cifrada con una contraseña anterior y se descifra al SHA1 + NTLM de la contraseña anterior a ella.

Crackear la cadena reconstruye todas las contraseñas históricas y sus hashes NTLM.

Las entradas se etiquetan en el campo de nombre de usuario para que la salida sea autodescriptiva:

root@kitploit:~
alice[current]:$credhist$*...    ← encrypted with the current password; crack this first
alice[prev1]:$credhist$*...      ← encrypted with the previous password
alice[prev2]:$credhist$*...

La versión del hash de la entrada depende del SO:

  • 3DES + HMAC-SHA1 (≤ Vista) — crackear con hashcat -m 15920
  • AES-256 + SHA-512 (≥ Win10 20H2) — crackear con hashcat -m 15930

Uso

root@kitploit:~
DPAPISnoop.exe [rootDir] [options]

rootDir usa %HOMEDRIVE% por defecto si se omite. Las rutas UNC son totalmente compatibles.

Ejemplos

root@kitploit:~
# Local machine — dump everything (defaults to %HOMEDRIVE%)
DPAPISnoop.exe

# Local machine — walk CREDHIST chain from a known password
DPAPISnoop.exe C: --password Summer2026!

# Local machine — walk CREDHIST chain from a known SHA1
# (e.g. from sekurlsa::wdigest pwdhash or dpapi cache)
DPAPISnoop.exe C: --sha1 da39a3ee5e6b4b0d3255bfef95601890afd80709

# Remote share — dump everything
DPAPISnoop.exe \\server01\c$

# Remote share — CREDHIST only, redirect hashes to file
DPAPISnoop.exe \\server01\c$ --credhist-only > credhist_hashes.txt

# Remote share — walk CREDHIST chain from a known password
DPAPISnoop.exe \\server01\c$ --password Summer2026!

Cracking

MasterKey

root@kitploit:~
hashcat -a0 -m 15300 hashes.txt wordlist.txt   # v1 local/domain pre-1607
hashcat -a0 -m 15310 hashes.txt wordlist.txt   # v1 domain post-1607
hashcat -a0 -m 15900 hashes.txt wordlist.txt   # v2 local/domain pre-1607
hashcat -a0 -m 15910 hashes.txt wordlist.txt   # v2 domain post-1607

CREDHIST

root@kitploit:~
hashcat -a0 -m 15920 credhist_hashes.txt wordlist.txt   # 3DES entries (≤ Vista)
hashcat -a0 -m 15930 credhist_hashes.txt wordlist.txt   # AES-256 entries (≥ Win10 20H2)

Después de crackear, pasa la contraseña recuperada de vuelta a DPAPISnoop para recorrer la cadena completa e imprimir cada SHA1 y NTLM histórico:

root@kitploit:~
DPAPISnoop.exe C:\ --password Summer2024! > ntlms.txt
DPAPISnoop.exe C:\ --sha1 <40-hex-sha1> > ntlms.txt

Módulos de Hashcat

Consulta el README


Uso de IA

Este esfuerzo de investigación y desarrollo se llevó a cabo de forma colaborativa entre un humano y herramientas asistidas por IA, utilizando los modelos de IA GPT-5.5 y Claude Sonnet 4.6.

Los modelos de IA se utilizaron para ayudar con la generación de código y el soporte de ingeniería inversa.

Sin embargo, toda la dirección de la investigación, validación, depuración, pruebas, análisis de seguridad y las decisiones técnicas finales fueron realizadas por un humano (Imdefinelyhuman).

Todo el contenido, código y análisis generados fueron revisados, validados, modificados e integrados manualmente como parte de un flujo de trabajo iterativo guiado por humanos.

La declaración anterior es una forma elegante de decir también que el código tiene errores y que lo uses bajo tu propio riesgo.


Referencias

  1. Elie Burzstein y Jean Michel Picod, «Recuperando secretos de Windows y certificados EFS sin conexión».
  2. Microsoft, «Función CryptProtectData».
  3. Microsoft, «CNG DPAPI».
  4. Microsoft, «Claves de respaldo de DPAPI en controladores de dominio de Active Directory».
  5. NAI Labs, «Protección de datos de Windows».
  6. SpecterOps, «Almacenamiento ofensivo de datos cifrados: edición DPAPI».
  7. SpecterOps, «Guía operativa para el abuso ofensivo de DPAPI de usuario».
  8. SpecterOps, «Compromiso de la clave de respaldo de DPAPI, parte 1: algunos bosques deben arder».
  9. Passcape, «DPAPI CREDHIST».
  10. Passcape, «Análisis de blobs DPAPI».
  11. Passcape, «Análisis de la clave maestra DPAPI».
  12. NirSoft, «CredHistView».
  13. Benjamin Delpy, «Wiki de Mimikatz: módulo ~ dpapi».
  14. Fox-IT, «Parser CREDHIST de Dissect».
  15. DPAPIck3, página del proyecto en PyPI
  16. GhostPack, «SharpDPAPI».

Autor

Lefteris (lefty) Panos @ LRQA Red Team 2026

Descargar herramienta
FlagDescripción
(ninguno)Volcar $DPAPImk$ y $credhist$ para nuestro usuario
--credhist-only / -cOmitir la salida de MasterKey; emitir solo líneas $credhist$
--password <plaintext> / -pRecorrer la cadena CREDHIST desde la contraseña actual en texto plano
--sha1 <40-hex>Recorrer la cadena CREDHIST desde un SHA1 conocido de la contraseña actual
--pre1607Emitir contexto 2 (dominio pre-1607) en lugar del contexto 3 para hashes de MasterKey de dominio
  • Sygnia, «La caída del arma ultrasecreta de DPAPI».