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
SharpDPAPI — SharpDPAPI es un port en C# de algunas funcionalidades DPAPI de Mimikatz. | Kitploit
Herramientas/GitHubGitHub/ghostpack/sharpdpapi
Descifrado de ContraseñasHerramientas de Cifrado/DescifradoMecanismos de PersistenciaExplotaciónExfiltración de DatosPost-ExplotaciónPruebas de PenetraciónRed TeamingTop en Mecanismos de Persistencia #8
1.4k24921hace 2 añosRevisado 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
GitHub
ghostpack/sharpdpapi

SharpDPAPI

SharpDPAPI es un port en C# de algunas funcionalidades DPAPI de Mimikatz.

Ver Repositorio

SharpDPAPI


SharpDPAPI es un port a C# de algunas funcionalidades de DPAPI del proyecto Mimikatz de @gentilkiwi.

No se me ocurrió esta lógica, es simplemente un port desde Mimikatz para comprender mejor el proceso y operacionalizarlo para que se ajuste a nuestro flujo de trabajo.

El subproyecto SharpChrome es una adaptación del trabajo de @gentilkiwi y @djhohnstein, específicamente su proyecto SharpChrome. Sin embargo, esta versión de SharpChrome utiliza una versión diferente de la biblioteca SQL para C# que admite apertura sin bloqueo. SharpChrome se crea como un proyecto separado dentro de SharpDPAPI debido al tamaño de la biblioteca SQLite utilizada.

Tanto Chrome como los navegadores Edge más nuevos basados en Chromium se pueden evaluar con SharpChrome.

SharpChrome también utiliza una versión minimizada del código BCrypt P/Invoke de @AArnott, publicado bajo la licencia MIT.

Si no estás familiarizado con DPAPI, consulta esta publicación para obtener más información de contexto. Para más información sobre Credenciales y Bóvedas en relación con DPAPI, consulta la entrada wiki de Benjamin sobre el tema.

@harmj0y es el autor principal de este port.

SharpDPAPI está licenciado bajo la licencia BSD 3-Clause.

Tabla de Contenidos

  • SharpDPAPI
    • Tabla de Contenidos
    • Antecedentes
      • Uso desde la Línea de Comandos de SharpDPAPI
      • Uso desde la Línea de Comandos de SharpChrome
      • Uso Operativo
        • SharpDPAPI
        • SharpChrome
    • Comandos de SharpDPAPI
      • Triaje de Usuario
        • masterkeys
        • credentials
        • vaults
        • rdg
        • keepass
        • certificates
        • triage
      • Triaje de Máquina
        • machinemasterkeys
        • machinecredentials
        • machinevaults
        • certificates /machine
        • machinetriage
      • Varios
        • ps
        • blob
        • backupkey
        • search
        • SCCM
    • Comandos de SharpChrome
      • logins
      • cookies
      • statekeys
      • backupkey
    • Instrucciones de Compilación
      • Apuntando a otras versiones de .NET
      • Nota al margen: Ejecutar SharpDPAPI a través de PowerShell
        • Nota al margen de la nota al margen: Ejecutar SharpDPAPI a través de PSRemoting

Antecedentes

Uso desde la Línea de Comandos de SharpDPAPI

  __                 _   _       _ ___
 (_  |_   _. ._ ._  | \ |_) /\  |_) |
 __) | | (_| |  |_) |_/ |  /--\ |  _|_
                |
  v1.20.0

Obtener la clave de respaldo DPAPI de un controlador de dominio, especificando opcionalmente un DC y un archivo de salida:

  SharpDPAPI backupkey [/nowrap] [/server:SERVER.dominio] [/file:key.pvk]


El comando *search* buscará posibles blobs DPAPI en el registro, archivos, carpetas y blobs base64:

    search /type:registry [/path:HKLM\ruta\a\clave] [/showErrors]
    search /type:folder /path:C:\ruta\a\carpeta [/maxBytes:<numDeBytes>] [/showErrors]
    search /type:file /path:C:\ruta\a\archivo [/maxBytes:<numDeBytes>]
    search /type:base64 [/base:<cadena base64>]


Triaje de Máquina/SYSTEM:

    machinemasterkeys       -   triaje de todos los archivos de clave maestra de máquina accesibles (se eleva a SYSTEM para recuperar el secreto DPAPI_SYSTEM de LSA)
    machinecredentials      -   usa 'machinemasterkeys' y luego triaje de archivos de Credenciales de máquina
    machinevaults           -   usa 'machinemasterkeys' y luego triaje de Bóvedas de máquina
    machinetriage           -   ejecuta los comandos 'machinecredentials' y 'machinevaults'


Triaje de Usuario:

    Argumentos para el comando 'masterkeys':

        /target:ARCHIVO/carpeta   -   triaje de una clave maestra específica, o una carpeta llena de claves maestras (de lo contrario, triaje de claves maestras locales)
        /pvk:BASE64...          -   usa un archivo de clave privada de dominio DPAPI codificado en base64 para descifrar primero las claves maestras de usuario accesibles
        /pvk:key.pvk            -   usa un archivo de clave privada de dominio DPAPI para descifrar primero las claves maestras de usuario accesibles
        /password:X             -   descifra las claves maestras del usuario objetivo usando una contraseña en texto plano (funciona de forma remota)
        /ntlm:X                 -   descifra las claves maestras del usuario objetivo usando un hash NTLM (funciona de forma remota)
        /credkey:X              -   descifra las claves maestras del usuario objetivo usando una credkey DPAPI (SHA1 de dominio o local, funciona de forma remota)
        /rpc                    -   descifra las claves maestras del usuario objetivo solicitando al controlador de dominio que lo haga
        /server:SERVIDOR          -   triaje de un servidor remoto, asumiendo acceso de administrador
        /hashes                 -   genera 'hashes' del archivo de clave maestra de usuario en formato JTR/Hashcat (sin descifrado)


    Argumentos para los comandos credentials|vaults|rdg|keepass|triage|blob|ps:

        Descifrado:
            /unprotect          -   fuerza el uso de CryptUnprotectData() para los comandos 'ps', 'rdg' o 'blob'
            /pvk:BASE64...      -   usa un archivo de clave privada de dominio DPAPI codificado en base64 para descifrar primero las claves maestras de usuario accesibles
            /pvk:key.pvk        -   usa un archivo de clave privada de dominio DPAPI para descifrar primero las claves maestras de usuario accesibles
            /password:X         -   descifra las claves maestras del usuario objetivo usando una contraseña en texto plano (funciona de forma remota)
            /ntlm:X             -   descifra las claves maestras del usuario objetivo usando un hash NTLM (funciona de forma remota)
            /credkey:X          -   descifra las claves maestras del usuario objetivo usando una credkey DPAPI (SHA1 de dominio o local, funciona de forma remota)
            /rpc                -   descifra las claves maestras del usuario objetivo solicitando al controlador de dominio que lo haga
            GUID1:SHA1 ...      -   usa una o más claves maestras GUID:SHA1 para descifrado
            /mkfile:ARCHIVO        -   usa un archivo con una o más claves maestras GUID:SHA1 para descifrado
Descargar herramienta