Pass-the-Hash (PtH) / Pass-the-Ticket (PtT)
Category: Active Directory / Credential Access / Lateral Movement MITRE ATT&CK: T1550.002 (PtH), T1550.003 (PtT) Related: Active Directory Attacks, Lateral Movement, Mimikatz, Impacket
Overview
Pass-the-Hash allows an attacker to authenticate as a user using their NTLM hash without knowing the plaintext password. NTLM authentication sends a challenge-response using the hash directly, so the hash itself IS the credential. Pass-the-Ticket is the Kerberos equivalent — using a stolen TGT or TGS to authenticate.
How It Works
Pass-the-Hash (NTLM)
- Extract NTLM hash from LSASS memory, SAM database, NTDS.dit, or network capture.
- Use hash directly in NTLM authentication flows.
- Works for local accounts (including local admin) and domain accounts.
- Local admin PtH: Effective if target shares the same local admin password (common before LAPS).
- UAC remote restriction: By default, only the built-in Administrator (RID 500) can PtH to admin shares remotely; other local admins are blocked unless
LocalAccountTokenFilterPolicy=1.
Pass-the-Ticket (Kerberos)
- Steal TGT from LSASS (requires local admin).
- Inject TGT into current session → request TGS for any service.
- Overpass-the-Hash (Pass-the-Key): convert NTLM hash to Kerberos TGT using AS-REQ with RC4 encryption.
Over-Pass-the-Hash
Convert an NT hash directly into a usable Kerberos TGT — avoids NTLM entirely for better OPSEC.
Attack Methodology
# Dump hashes from LSASS (Mimikatz)
sekurlsa::logonpasswords
# PtH with Impacket
psexec.py -hashes :NTLMhash domain/user@target
wmiexec.py -hashes :NTLMhash domain/user@target
smbexec.py -hashes :NTLMhash domain/user@target
# PtH with CrackMapExec/NetExec
nxc smb 10.10.10.0/24 -u Administrator -H NTLMhash --local-auth
# PtT with Mimikatz (steal + inject)
sekurlsa::tickets /export
kerberos::ptt ticket.kirbi
# PtT with Rubeus
Rubeus.exe dump /luid:0xNNNN /nowrap
Rubeus.exe ptt /ticket:base64blob
# Overpass-the-Hash (Rubeus)
Rubeus.exe asktgt /user:victim /rc4:NTLMhash /ptt
Detection & Evasion Notes
- Detection: NTLM auth events (4776) from workstations to servers they don’t normally access. Kerberos TGT requests with RC4 encryption where AES is expected.
- Evasion:
- Prefer Kerberos PtT over NTLM PtH — NTLM is increasingly monitored.
- Use
wmiexecoratexecinstead ofpsexec— psexec leaves a service creation event (7045). - Overpass-the-Hash generates legitimate-looking Kerberos traffic.
- Use
--exec-method smbexecfor fileless execution.
- LAPS: Defeats local admin PtH by randomizing local admin passwords per machine.
- Credential Guard: Blocks LSASS credential extraction; Kerberos tickets isolated in VSM.
Tools
Mimikatz— extract hashes and tickets from LSASSImpacket— psexec, wmiexec, smbexec, atexec, smbclientRubeus— Kerberos PtT, overpass-the-hash, ticket manipulationCrackMapExec/NetExec— bulk PtH across a subnetxfreerdpwith/pth:— RDP using hash (NLA must be disabled)
References
- Mark Russinovich, “Pass-the-Hash” (2012)
- MITRE ATT&CK T1550.002, T1550.003
- harmj0y — “The Evolution of Pass-the-Hash Attacks” blog posts
