
Dumper de credenciales remoto automatizado para entornos Windows, que extrae secretos DPAPI, credenciales de navegadores, certificados y archivos de configuración, con evasión de defensas integrada y un visor de botín basado en web.
DonPAPI automatiza el volcado de secretos de forma remota en múltiples equipos Windows, teniendo en cuenta la evasión de defensas.

Credenciales recopiladas:
Dimos una charla en francés sobre DPAPI llamada DPAPI - Don't Put Administration Passwords In 🇫🇷:
Esta herramienta debe instalarse con pipx o en un entorno virtual dedicado
pipx install donpapi
o (con los últimos commits)
pipx install git+https://github.com/login-securite/DonPAPI.git
o (para desarrollo)
git clone git+https://github.com/login-securite/DonPAPI.git
cd DonPAPI
poetry update
poetry run DonPAPI
pipx install donpapi
donpapi collect -u admin -p 'Password123!' -d domain.local -t ALL --fetch-pvk
donpapi gui
usage: DonPAPI [-h] [-v] [-o DIRNAME] {collect,gui} ...
Vuelca información relevante en objetivos comprometidos sin detección de AV. Versión: 2.0.0
positional arguments:
{collect,gui} Acción de DonPAPI
collect Vuelca secretos en una lista de objetivos
gui Inicia un servidor web Flask para explorar la base de datos de DonPAPI
options:
-h, --help muestra este mensaje de ayuda y sale
-v Nivel de verbosidad (-v o -vv)
-o DIRNAME, --output-directory DIRNAME
Directorio de salida. Por defecto es ~/.donpapi/loot/
Esta acción se usa para recopilar secretos en los objetivos especificados con -t.
usage: dpp collect [-h] [--keep-collecting seconds] [--threads Number of threads] [--no-config] [-t TARGET [TARGET ...]] [-d domain.local]
[-u username] [-p password] [-H LMHASH:NTHASH] [--no-pass] [-k] [--aesKey hex key] [--laps Administrator] [--dc-ip IP address]
[-r /home/user/.donpapi/recover/recover_1718281433] [-c COLLECTORS] [-nr] [--fetch-pvk] [--pvkfile PVKFILE]
[--pwdfile PWDFILE] [--ntfile NTFILE] [--mkfile MKFILE]
options:
-h, --help muestra este mensaje de ayuda y sale
--keep-collecting seconds
Vuelve a ejecutar el ataque contra todos los objetivos después de X segundos, siendo X el valor
--threads Number of threads
Número de hilos (por defecto: 50)
--no-config No carga el archivo de configuración de donpapi (~/.donpapi/donpapi.conf)
authentication:
-t TARGET [TARGET ...], --target TARGET [TARGET ...]
las direcciones IP de destino, rangos, CIDR, nombres de host, FQDN, archivo(s) que contienen una lista de objetivos, ALL para obtener todos los nombres de host de computadoras de LDAP
-d domain.local, --domain domain.local
Dominio
-u username, --username username
Nombre de usuario
-p password, --password password
Contraseña
-H LMHASH:NTHASH, --hashes LMHASH:NTHASH
Hashes NTLM, el formato es LMHASH:NTHASH
--no-pass no preguntar contraseña (útil para -k)
-k Usar autenticación Kerberos. Toma credenciales del archivo ccache (KRB5CCNAME) basado en los parámetros del objetivo. Si no se encuentran credenciales válidas, se usarán las especificadas en la línea de comandos
--aesKey hex key Clave AES para usar en la autenticación Kerberos (128 o 256 bits)
--laps Administrator Usa LAPS para solicitar la contraseña de administrador local. El valor del parámetro laps es la cuenta de administrador local que se usará para conectarse
--dc-ip IP address Dirección IP del controlador de dominio. Si se omite, se usará la parte del dominio (FQDN) especificada en el parámetro de destino
-r /home/user/.donpapi/recover/recover_1718281433, --recover-file /home/user/.donpapi/recover/recover_1718281433
Ruta del archivo de recuperación. Si se usa, el resto de parámetros se ignorarán
attacks:
-c COLLECTORS, --collectors COLLECTORS
Chromium, Certificates, CredMan, Files, Firefox, MobaXterm, MRemoteNG, RDCMan, SCCM, Vaults, VNC, Wifi, All (todos los anteriores) (por defecto: All)
-nr, --no-remoteops Deshabilita las operaciones remotas (básicamente, no hay operaciones de Registro Remoto, no hay Credenciales de Sistema DPAPI)
--fetch-pvk Usará automáticamente la clave de respaldo del dominio desde la base de datos, y si aún no se ha volcado, la volcará en un controlador de dominio
--pvkfile PVKFILE Archivo pvk con la clave de respaldo del dominio
--pwdfile PWDFILE Archivo que contiene usuario:contraseña que se usará eventualmente para descifrar claves maestras
--ntfile NTFILE Archivo que contiene usuario:nthash que se usará eventualmente para descifrar claves maestras
--mkfile MKFILE Archivo que contiene asignaciones {GUID}:SHA1 de claves maestras
La autenticación funciona especificando un dominio con --domain, un nombre de usuario con --username, y eventualmente una contraseña con --password, un hash con --hashes, una clave AES con --aesKey o un ticket Kerberos en formato ccache con -k (estilo Impacket).
También puedes autenticarte a través de LAPS en el equipo con --laps y el nombre de la cuenta local LAPS como valor para este parámetro.
Por defecto, DonPAPI recopilará:
Puedes especificar cada uno que quieras recopilar con --collectors (estilo SharpHound). Si usas --fetch-pvk, DonPAPI obtendrá automáticamente la Clave de Respaldo del Dominio del dominio de AD y la usará para descifrar claves maestras. De lo contrario, puedes proporcionar una con --pvkfile. --pwdfile, --ntfile se usan para alimentar a DonPAPI con secretos para desbloquear claves maestras. Pero si tienes claves maestras recién descifradas, puedes usar --mkfile.
[!WARNING] Algunos métodos de recopilación necesitarán volcar secretos LSA (para obtener la clave de máquina DPAPI). Esta acción puede ser ruidosa, y los EDR modernos te bloquearán al instante. Puedes usar
-nrpara evitar esas acciones ruidosas, pero algunos secretos no se recopilarán.
DonPAPI ahora soporta un archivo de configuración para mejorar el comportamiento de Secretsdump. Este archivo se ubicará en ~/.donpapi/donpapi.conf, y por defecto, tendrá este aspecto:
[secretsdump]
share = C$
remote_filepath = \Users\Default\AppData\Local\Temp
filename_regex = \d{4}-\d{4}-\d{4}-[0-9]{4}
file_extension = .log
DonPAPI soporta archivos de recuperación. Cada vez que ejecutes un comando collect, guardará un archivo de recuperación con los objetivos restantes y todas las opciones. Por defecto, el archivo se ubica en la carpeta ~/.donpapi/register/
A veces, en una evaluación interna, quieres presionar fuerte sobre algunos objetivos específicos y recopilar secretos en sus equipos una y otra vez. No hagas un bucle bash estúpido, solo usa --keep-collecting X, donde X son los segundos que quieres esperar entre cada sesión de recopilación.
Ahora que has recopilado todos esos secretos, quieres explorarlos. DonPAPI te permite revisar todos los secretos recopilados con una interfaz web. Para iniciarla, usa donpapi gui.
usage: DonPAPI gui [-h] [--bind BIND] [--port PORT] [--ssl] [--basic-auth user:password]
options:
-h, --help muestra este mensaje de ayuda y sale
--bind BIND Dirección de enlace del servidor HTTP (por defecto=127.0.0.1)
--port PORT Puerto del servidor HTTP (por defecto=8088)
--ssl Usar una conexión cifrada
--basic-auth user:password
Configurar una autenticación básica
General
Esta pantalla te mostrará todas las contraseñas SAM reutilizadas en todos los equipos recopilados, tareas programadas volcadas y contraseñas de cuentas de servicio volcadas de LSA. Puedes exportarlas todas en formato CSV.
Secrets
Esta pantalla te mostrará todos los secretos saqueados con DonPAPI. Puedes buscar en múltiples elementos y exportar secretos en CSV.
Cookies
Esta pantalla te mostrará todas las cookies saqueadas con DonPAPI. Puedes buscar en múltiples elementos y exportar cookies en CSV, pero también copiarlas y pegarlas en código JavaScript para pegarlo en tu navegador.
Certificates
Esta pantalla te mostrará todos los certificados saqueados con DonPAPI. Puedes buscar en múltiples elementos y exportar certificados en CSV, pero también, si un certificado permite autenticación de cliente, al hacer clic en Sí se copiará y pegará un comando de Certipy para usar el certificado.
Esta herramienta es solo para fines educativos y de hacking ético. Login Sécurité no se responsabiliza por los abusos cometidos con esta herramienta.
El frontend de la GUI está desarrollado en Vue3 + Vite.js, y el backend es Python Flask.
Por defecto, se expondrá en http://127.0.0.1:8088, pero puedes exponerlo como quieras, incluso en https://0.0.0.0:443.
[!WARNING] Por favor, nunca expongas DonPAPI a toda una red de esta manera, puede ser muy peligroso. DonPAPI soporta HTTPS con
--ssly puedes agregar una autenticación básica con--basic-auth. Y además, por favor nunca expongas DonPAPI en Internet de esta manera.
Al hacer clic en un valor en las tablas se copiará instantáneamente al portapapeles.
Hay una casilla de verificación Hide Password disponible en la GUI, para ocultar datos sensibles en la interfaz, perfecto para capturas de pantalla.
Todos los créditos van para estos grandes tipos por hacer la dura investigación y codificación: