Tool Categories
The examples are organized into functional categories:Remote Execution
Execute commands on remote systems via various protocols
Credential Dumping
Extract credentials from remote and local systems
Kerberos Attacks
Kerberoasting, AS-REP roasting, and ticket manipulation
LDAP Operations
Active Directory enumeration and manipulation
SMB Operations
File sharing, registry access, and SMB enumeration
Common Authentication Options
Most tools support multiple authentication methods:- Password
- NTLM Hash
- Kerberos
- AES Key
Installation & Usage
After installing Impacket, all example scripts are available as command-line tools:Quick Reference
Remote Execution Tools
| Tool | Protocol | Execution Context | Stealth |
|---|---|---|---|
| psexec.py | SMB + Service Control | SYSTEM | Low (Event logs) |
| smbexec.py | SMB + Service Control | SYSTEM | Low (Event logs) |
| wmiexec.py | DCOM/WMI | Admin user | Medium |
| dcomexec.py | DCOM Objects | Admin user | Medium |
| atexec.py | Task Scheduler | SYSTEM | Medium |
Credential Dumping Tools
| Tool | Target | Method | Requires |
|---|---|---|---|
| secretsdump.py | SAM, NTDS, LSA | Remote registry/DCSync | Admin/DC Replication |
| Get-GPPPassword.py | GPP passwords | SYSVOL parsing | Domain user |
| GetLAPSPassword.py | LAPS passwords | LDAP queries | Delegated permissions |
Kerberos Attack Tools
| Tool | Attack Type | Output Format | Usage |
|---|---|---|---|
| GetUserSPNs.py | Kerberoasting | JtR/Hashcat | Request TGS for cracking |
| GetNPUsers.py | AS-REP Roasting | JtR/Hashcat | Find users without pre-auth |
| ticketer.py | Golden/Silver Ticket | .ccache | Forge Kerberos tickets |
| getTGT.py | TGT Request | .ccache | Request TGT with credentials |
Output Formats
Many tools support multiple output formats:Common Parameters
-debug
-debug
Enable verbose debug output to troubleshoot connection issues
-dc-ip
-dc-ip
Specify Domain Controller IP address (required for Kerberos)
-target-ip
-target-ip
Target machine IP when using NetBIOS names
-port
-port
Specify custom port (default: 445 for SMB, 88 for Kerberos)
-k
-k
Use Kerberos authentication instead of NTLM
-no-pass
-no-pass
Don’t prompt for password (use with -k and KRB5CCNAME)
-ts
-ts
Add timestamps to logging output
Security Considerations
Best Practices
- Always obtain proper authorization before testing
- Use dedicated test environments when learning
- Monitor for detection - understand what logs are generated
- Use encrypted channels when possible (Kerberos, LDAPS)
- Clean up artifacts - remove created accounts, services, files
Troubleshooting
- Connection Issues
- Kerberos Errors
- Authentication Failures
Next Steps
Remote Execution
Learn how to execute commands remotely
Credential Dumping
Extract and dump credentials
Kerberos Attacks
Perform Kerberos-based attacks
API Reference
Use Impacket in your own tools