Pass-the-Hash and Pass-the-Ticket
Pass-the-Hash lets you authenticate as a user using their NTLM hash without knowing the plaintext password. Pass-the-Ticket does the same with Kerberos tickets. Both techniques require valid credentials dumped from a compromised host and give you direct access to other systems in the network without cracking anything.
Pass-the-Hash with impacket
Impacket tools accept hashes directly in the format LMhash:NThash. If you only have the NT hash, use aad3b435b51404eeaad3b435b51404ee as the LM portion.
SMB 192.168.1.10 445 DC01 [+] domain\user:$NTHASH (Pwn3d!) SMB 192.168.1.20 445 WEB01 [+] domain\user:$NTHASH (Pwn3d!)
The Pwn3d! label in nxc output means the account has local admin on that host — you can get a shell. Use nxc to spray a hash across all discovered hosts before choosing where to move. The --local-auth flag uses local account authentication instead of domain, which is needed when the hash is from a local account like Administrator.
Pass-the-Hash with native Windows tools
From a Windows foothold you can inject hashes into a new process or session using mimikatz.
Pass-the-Hash does not work against systems where NTLMv2 is enforced and NTLM is entirely disabled, or against the local Administrator account (RID 500) when LocalAccountTokenFilterPolicy is not set. If PtH fails against a local account, check that registry key.
Pass-the-Ticket with Kerberos TGTs
Kerberos tickets are cached in memory and can be exported and reused on another machine. A TGT gives you access to any service the account can reach. A TGS gives you access to one specific service.
Tickets expire — TGTs are valid for 10 hours by default and TGS tickets for 10 hours with 7-day renewal. If a ticket fails, check the timestamp with klist. For persistence beyond ticket lifetime see Golden and Silver Ticket Persistence. For the hashes needed here see Windows Token and Credential Harvesting.
References
-
Impacket — GitHubgithub.com/fortra/impacket (opens in new tab)
psexec, wmiexec, smbexec, atexec and secretsdump
-
Rubeus — GhostPack GitHubgithub.com/GhostPack/Rubeus (opens in new tab)
Kerberos ticket manipulation and Pass-the-Ticket
-
NetExec (nxc) — GitHubgithub.com/Pennyw0rth/NetExec (opens in new tab)
Network-wide hash spraying and lateral movement
Was this helpful?
Your feedback helps improve this page.