Overpass-the-Hash
Last updated
Last updated
Create a new process with dummy creds (), open the LSASS process and patch it with the supplied NT hash. This causes the normal Kerberos authentication process to kick off as normal as if the user had normally logged on, turning the supplied hash into a fully-fledged TGT:
It also work for local accounts but for the reason that patching LSASS does not change the security information or user information for this process, the new credentials in LSASS can correctly be used only for network authentication and not for identifying the local user account associated with the process. (paraphrased from )
That's why for local accounts such options as net use \\localhost\c$
, WMI calls or PsExec can be considered.
Create a sacrificial process (), legitimately ask Kerberos for TGT, import it and interact with the process (need elevated context):
Create a new process with dummy creds () manually, then use Rubeus with user's NT hash to ask for a TGT and import it:
A more opsec safe approach is to use AES key (KeyType 0x12) instead of RC4-HMAC (KeyType 0x17) alongside with /opsec
switch which instructs Rubeus not to do pre-auth (mimics standard Kerberos behavior):