For the complete documentation index, see llms.txt. This page is also available as Markdown.

Mimikatz

Tables of Contents

Run

./mimikatz.exe
  • Ensure that the output is "Privilege '20' ok" - This ensures that you're running mimikatz as an administrator.

  • If you don't run mimikatz as an administrator, mimikatz will not run properly

Dump hashes

Mimikatz .kirbi extraction

Carve Tickets out of LSASS Memory

  • Mimikatz can carve tickets directly out of LSASS memory

Crack with hashcat

Golden Ticket

  • Again using the mimikatz as the previous task; however, this time we'll be using it to create a golden ticket.

  • We will first dump the hash and sid of the krbtgt user then create a golden ticket and use that golden ticket to open up a new command prompt allowing us to access any machine on the network.

  • This dumps the hash and security identifier of the Kerberos Ticket Granting Ticket account allowing you to create a golden ticket

  • Output should look like this:

Create the Golden Ticket

  • You will need the:

  • Domain SID (S-1-5-21-849420856-2351964222-986696166)

  • USER (krbtgt)

  • NTLM (5508500012cc005cf7082a9a89ebdfd)

  • Create a Golden Ticket

  • To create a golden ticket based on the output above we would use:

  • Output should look like this:

Use the Ticket

  • Use the Golden Ticket to access other machines:

  • This will open a new command prompt with elevated privlages to all machines

  • Access other Machines! - You will now have another command prompt with access to all other machines on the network

Single-Shot Execution

When in a non-interactive shell (e.g. PS-Session, sliver execute), run mimikatz as a one-liner:

Write output to a specific file:

Token elevation one-liners:

Interactive token elevation:

Useful indicators:

Credential Manager and Vault

When hunting for cached clear-text credentials, always run both of these:

sekurlsa::credman dumps Credential Manager entries from LSASS. vault::cred dumps Windows Vault stored credentials.

Pass the Hash (sekurlsa::pth)

Spawn a process authenticated as a different user using their NT hash:

From the spawned cmd.exe you can access remote shares:

DCSync

Requires Domain Admin or replication rights. Extract a specific user's hash from the domain controller:

DPAPI

  • See blog post

LSASS Dump Methods

Task Manager

  • Open Task Manager → Details tab → right-click lsass.exe → Create dump file

  • Output: %temp%\lsass.DMP

Find LSASS PID

Dump via comsvcs.dll (rundll32)

Replace 672 with the actual LSASS PID.

Pypykatz (Offline LSASS Parsing)

  • Parse LSASS dump on Linux without Mimikatz

Extracts: MSV (NT/SHA1 hashes), WDIGEST (cleartext on older systems), Kerberos tickets, DPAPI masterkeys.

DPAPI Chrome Credential Decryption

Remote SAM Dump (NetExec)

Remote LSA Secrets Dump (NetExec)

Windows Credential Manager

Credential Storage Paths

  • %UserProfile%\AppData\Local\Microsoft\Vault\

  • %UserProfile%\AppData\Local\Microsoft\Credentials\

  • %UserProfile%\AppData\Roaming\Microsoft\Vault\

  • %ProgramData%\Microsoft\Vault\

Export Vault

Enumerate Saved Credentials

Impersonate with Saved Credentials

sekurlsa::credman and vault::cred extraction covered in Credential Manager and Vault above.

SAM / SYSTEM / SECURITY Hive Extraction

Copy Registry Hives

Hive purposes: SAM = password hashes, SYSTEM = boot key to decrypt SAM, SECURITY = cached domain creds + DPAPI keys.

If remote SMB/RPC dumping is blocked by host firewall rules, save the hives locally from an elevated shell and transfer them back over an existing shell, RDP drive mount, HTTP upload/download, or Meterpreter:

Transfer via Impacket SMB Server

Dump Hashes with secretsdump

Last updated