Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
Strumenti/GitHubGitHub/mandiant/gopacket
Frameworks per Penetration TestingEscalation di PrivilegiFramework di ExploitAttacchi alle PasswordMovimento LateralePost-ExploitSicurezza di ReteCommand and ControlRed TeamingStrumento di Accesso Remoto
GitHubmandiant/gopacket

gopacket

Un port Go completo di Impacket - 63 strumenti CLI e 24 librerie per attacchi ai protocolli Windows e Active Directory, compilati in un unico binario senza dipendenze.

Vedi Repository
70761421 mese faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

gopacket

Di Jacob Paullus (@psycep_)

Un'implementazione completa in Go di Impacket - 63 strumenti e 24 pacchetti di libreria per l'interazione con protocolli di rete Windows, l'enumerazione di Active Directory e l'esecuzione di attacchi. Costruito come framework nativo Go, così puoi compilare una volta e eseguire ovunque senza dipendenze Python.

Beta Release - Altamente Sperimentale. gopacket è in fase di sviluppo attivo. Gli strumenti principali sono stati testati contro ambienti di laboratorio Active Directory, ma sono previsti casi limite e stranezze dei protocolli. Se qualcosa non funziona, testa la stessa operazione con Impacket in parallelo e includi entrambi gli output nella tua segnalazione di bug. Questo ci aiuta a identificare rapidamente se si tratta di un problema specifico di gopacket o di una limitazione condivisa del protocollo.

Installazione

root@kitploit:~
git clone https://github.com/mandiant/gopacket
cd gopacket

# Default: Linux/macOS build + install to /usr/local/bin
./install.sh

# Run with no flags and it prompts you through the choices interactively.
# Or pick a target directly:
./install.sh --target portable   # static Linux binaries in ./dist/portable/
./install.sh --target windows    # Windows .exe cross-compiles in ./dist/windows/
./install.sh --target all        # build every target in one run

# Build without installing (native only)
./install.sh --build-only

# Or build with make
make build

La build predefinita (--target native) richiede Go 1.24.13+, GCC e gli header di sviluppo di libpcap (apt install build-essential libpcap-dev su Debian/Ubuntu/Kali, yum install gcc libpcap-devel su RHEL/CentOS, o brew install libpcap su macOS). I target portable e windows richiedono solo la toolchain Go; sniff e split diventano stub in quelle build perché richiedono libpcap. Vedi Platform Support per la matrice completa.

Platform Support

gopacket si compila su Linux, macOS e Windows. L'insieme degli strumenti funzionanti e dei percorsi di proxying disponibili dipende dai flag di build:

sniff e split dipendono da libpcap tramite cgo; sniffer dipende dai raw socket Unix. Quando uno strumento non può essere compilato per il target, gopacket sostituisce uno stub che stampa un messaggio chiaro ed esce con codice 1, così go build ./... riesce sempre e il layout di installazione è coerente tra le piattaforme.

Per disinstallare:

root@kitploit:~
./install.sh --uninstall

Supporto Proxy

gopacket supporta due percorsi di proxying indipendenti. Possono anche essere concatenati.

proxychains (LD_PRELOAD)

Tutti gli strumenti gopacket funzionano attraverso proxychains. I binari Go normalmente aggirano proxychains perché il runtime di Go gestisce DNS e networking internamente, saltando gli hook LD_PRELOAD su cui proxychains si basa. gopacket aggira questo problema collegandosi alla libreria C di sistema per le operazioni di rete, permettendo a proxychains di intercettare le connessioni normalmente.

root@kitploit:~
proxychains gopacket-secretsdump 'domain/user:password@target'
proxychains gopacket-smbclient -k -no-pass 'domain/[email protected]'

Proxy SOCKS5 interno (-proxy)

Ogni strumento accetta -proxy per instradare il TCP in uscita attraverso un server SOCKS5 senza affidarsi a LD_PRELOAD. Schemi accettati: socks5 e socks5h. Quando -proxy non è impostato, le variabili d'ambiente ALL_PROXY / all_proxy vengono consultate come fallback.

root@kitploit:~
gopacket-secretsdump -proxy socks5h://127.0.0.1:1080 'domain/user:password@target'
ALL_PROXY=socks5h://127.0.0.1:1080 gopacket-smbclient 'domain/user:password@target'

Le funzionalità che dipendono da UDP sono disabilitate sotto -proxy anziché perdere pacchetti silenziosamente (SOCKS5 UDP ASSOCIATE è raramente supportato dai proxy, e aggirare il proxy per UDP rivelerebbe l'IP sorgente reale dell'operatore). Le funzionalità interessate e le relative soluzioni alternative sono documentate in KNOWN_ISSUES.md.

Concatenamento: -proxy è compatibile con proxychains. La connessione TCP al proxy SOCKS5 stesso passa comunque attraverso la connect() di libc, quindi proxychains → gopacket → -proxy → target funziona per scenari di routing annidato.

Documentazione

Vedi la Library Developer Guide per la documentazione completa delle API, esempi di codice e panoramica dell'architettura per costruire strumenti personalizzati sopra i 24 pacchetti di protocollo di gopacket.

Strumenti (63)

Esecuzione Remota

Credential Dumping & DPAPI

StrumentoDescrizione
secretsdumpEstrazione SAM/LSA/NTDS.dit e DCSync (remoto + offline)
dpapi

Kerberos

Enumerazione Active Directory

Attacchi Active Directory

Strumenti SMB

NTLM Relay

StrumentoDescrizione
ntlmrelayxFramework completo di NTLM relay con supporto multi-protocollo

ntlmrelayx supporta:

  • Server di cattura: SMB, HTTP/HTTPS, WCF (ADWS), RAW, RPC, WinRM
  • Client di relay: SMB, LDAP/LDAPS, HTTP/HTTPS, MSSQL, WinRM, RPC
  • Attacchi: secretsdump, smbexec, ldapdump, delega RBCD, abuso di ACL, shadow credentials, ADCS ESC8, addcomputer, manipolazione DNS e altro
  • Infrastruttura: proxy SOCKS5 con plugin protocol-aware, console interattiva, API REST, round-robin multi-target, servizio WPAD

SQL Server

StrumentoDescrizione
mssqlclientClient MSSQL interattivo con autenticazione SQL/Windows/Kerberos
mssqlinstanceScoperta di istanze MSSQL via SQL Browser

WMI

StrumentoDescrizione
wmiqueryShell interattiva per query WMI
wmipersistPersistenza tramite sottoscrizione di eventi WMI

Terminal Services

StrumentoDescrizione
tstoolEnumerazione di sessioni e processi di Terminal Services

Altri Protocolli

StrumentoDescrizione
rdp_checkVerifica dell'autenticazione RDP
mqtt_checkVerifica dell'autenticazione MQTT
exchangerClient Exchange Web Services

Utility

Autenticazione

Tutti gli strumenti di rete supportano tre metodi di autenticazione:

root@kitploit:~
# Password
gopacket-secretsdump 'domain/user:password@target'

# NTLM hash (pass-the-hash)
gopacket-secretsdump -hashes ':nthash' 'domain/user@target'

# Kerberos (pass-the-ticket)
KRB5CCNAME=ticket.ccache gopacket-secretsdump -k -no-pass 'domain/user@target'

Flag Comuni

Esempi Rapidi

root@kitploit:~
# Dump domain hashes via DCSync
gopacket-secretsdump 'corp.local/admin:[email protected]'

# Interactive SMB shell
gopacket-smbclient -hashes ':aabbccdd...' 'corp.local/admin@fileserver'

# Kerberoast
gopacket-getuserspns 'corp.local/user:[email protected]'

# Golden ticket
gopacket-ticketer -nthash <krbtgt_hash> -domain-sid S-1-5-21-... -domain corp.local admin

# NTLM relay with SOCKS proxy
sudo gopacket-ntlmrelayx -t smb://target -socks

# LDAP relay for RBCD
sudo gopacket-ntlmrelayx -t ldaps://dc01.corp.local --delegate-access

# Route all outbound traffic through a SOCKS5 proxy
gopacket-secretsdump -proxy socks5h://127.0.0.1:1080 'corp.local/admin:[email protected]'

Libreria

La directory pkg/ contiene 24 pacchetti di protocollo riutilizzabili che possono essere importati in modo indipendente.

Funzionalità Mancanti (rispetto a Impacket)

gopacket mira alla piena parità con Impacket. Le seguenti non sono ancora implementate:

Client di protocollo per relay:

  • Client di relay IMAP + attacco (richiede server Exchange/IMAP)
  • Client di relay SMTP (richiede server SMTP)

Moduli di attacco per relay:

  • Attacchi SCCM policies/DP (richiede infrastruttura SCCM)

Strumenti standalone:

  • ifmap.py (mappatura delle interfacce DCOM)
  • mimikatz.py (Mimikatz limitato su RPC)
  • goldenPac.py (MS14-068 - obsoleto su sistemi aggiornati)
  • smbrelayx.py (sostituito da ntlmrelayx)
  • kintercept.py (intercettazione Kerberos)

Queste lacune sono a bassa priorità - la maggior parte richiede infrastrutture di nicchia per essere testata o è resa obsoleta da tecniche più recenti.

Limitazioni Note

Queste sono limitazioni a livello di protocollo condivise con Impacket, non bug di gopacket:

  • Il relay da SMB a LDAPS fallisce sui DC aggiornati a causa della validazione NTLM MIC (post-CVE-2019-1040). Usa invece la coercizione HTTP.
  • Il relay WinRM è bloccato da EPA (Extended Protection for Authentication) su Server 2019+ aggiornati.
  • Gli attacchi di relay RPC (tschexec, enum-local-admins) richiedono PKT_INTEGRITY che non è disponibile nelle sessioni di relay.
  • Il relay LDAP sulla porta 389 fallisce sui DC che richiedono LDAP signing. Fai sempre relay su LDAPS (porta 636).

Vedi KNOWN_ISSUES.md per informazioni dettagliate su ciascun problema e sulle soluzioni alternative.

Segnalazione Problemi & Contributi

Questa è una beta release. I bug sono previsti e i contributi sono benvenuti.

Perché ti chiediamo di testare prima con Impacket

Poiché gopacket implementa gli stessi protocolli di rete di Impacket, una grande frazione dei "bug" si rivela essere ambientale, non specifica di gopacket - DC aggiornati, requisiti di LDAP signing, EPA, PKT_INTEGRITY, SMB signing, validazione NTLM MIC post-CVE-2019-1040, SPN mancanti, disallineamento temporale, stranezze DNS, regole del firewall e così via. Eseguire la stessa operazione con Impacket in parallelo rimuove l'ambiente dall'equazione:

  • Se Impacket fallisce allo stesso modo, il problema è quasi sempre ambientale ed è probabilmente già documentato in KNOWN_ISSUES.md. Nessuna segnalazione di bug necessaria.
  • Se Impacket riesce dove gopacket fallisce, quello è un vero bug di gopacket ed è esattamente ciò di cui vogliamo essere informati.

Questo singolo passo di triage fa risparmiare molti scambi di messaggi, quindi per favore non saltarlo.

Aprire una segnalazione di bug

  1. Esegui la stessa operazione con Impacket e annota se riesce o fallisce
  2. Riesegui gopacket con -debug e cattura l'output completo
  3. Anonimizza qualsiasi cosa sensibile prima di pubblicare. Le issue di GitHub sono pubbliche. Rimuovi o sostituisci hostname reali, indirizzi IP, nomi utente, hash di password, ticket Kerberos, nomi di dominio, SID e qualsiasi riga di output che potrebbe essere ricondotta a un ingaggio reale. Sostituire corp.internal → example.local e dc01.corp.internal → dc01.example.local va bene - mantieni la struttura dei dati, ma non i valori identificativi. In caso di dubbio, oscura tutto.
  4. Apri una issue su GitHub e includi:
    • Entrambi gli output (gopacket e Impacket), come testo e non screenshot, anonimizzati
    • La riga di comando esatta che hai eseguito (anonimizzata)
    • Sistema operativo del target, livello funzionale AD e qualsiasi hardening rilevante (signing, EPA, channel binding, livello di patch)
    • Versione / commit hash di gopacket

Richieste di funzionalità

Apri una issue su GitHub descrivendo il caso d'uso e l'equivalente Impacket (se esiste). Se la funzionalità è nella lista "Funzionalità Mancanti" sopra, menziona quale - ci aiuta a dare priorità.

Pull request

Le PR sono benvenute. Prima di aprirne una:

  • Esegui go build ./..., go vet ./..., gofmt -l . e go test ./... e assicurati che passino tutti senza errori
  • Rispetta lo stile di codice esistente nel pacchetto che stai modificando
  • Mantieni le modifiche concentrate - separa i refactoring dal lavoro sulle funzionalità
  • Per modifiche non banali, apri prima una issue per discutere l'approccio

Perché Questo Conta per i Difensori

Gli attori malevoli si stanno allontanando da Python. Il tooling compilato in Go e Rust (Sliver, BRC4, Geacon e loader su misura) sta progressivamente sostituendo Impacket nelle intrusioni nel mondo reale. La maggior parte del tooling difensivo e della logica di rilevamento è stata costruita attorno al comportamento di rete basato su Python di Impacket, e quella copertura si sta erodendo man mano che l'ecosistema degli attaccanti si sposta verso linguaggi compilati.

gopacket esiste in parte per aiutare la comunità della sicurezza a stare al passo con questo cambiamento. Fornendo un'implementazione Go open-source e leggibile degli stessi protocolli e tecniche, i difensori e gli ingegneri del rilevamento possono:

  • Studiare come si comporta il tooling basato su Go sulla rete invece di aspettare di incontrarlo durante un incidente
  • Comprendere le differenze a livello di protocollo tra le implementazioni Go e Python che rendono le firme esistenti meno efficaci
  • Eseguire esercizi purple team realistici usando lo stesso tooling compilato in singolo binario che gli attori malevoli stanno adottando, invece di testare esclusivamente contro script Python che si comportano diversamente a livello di rete

Il divario tra il tooling degli attaccanti e la visibilità dei difensori è più ampio quando il nuovo tooling rimane privato. Rilasciare gopacket come open source restringe quel divario.

Note

  • L'autenticazione Kerberos richiede un file ccache valido (TGT o service ticket)
  • Per Kerberos, usa l'hostname FQDN - non un indirizzo IP
  • Se KRB5CCNAME non è impostato, gli strumenti cercheranno <username>.ccache nella directory corrente
  • Tutti gli strumenti supportano sia proxychains che un flag SOCKS5 interno -proxy (vedi Supporto Proxy)
  • Questo progetto è solo per test di sicurezza autorizzati e scopi di ricerca

Licenza

Rilasciato sotto la Apache License 2.0.

gopacket è una reimplementazione pulita in Go di Impacket; vedi NOTICE per i riconoscimenti completi di terze parti.

Scarica lo strumento
BuildStrumenti disponibiliProxying
Linux / macOS con cgo (default)Tutti i 63proxychains (LD_PRELOAD) e/o -proxy SOCKS5
Linux con CGO_ENABLED=061 (sniff, split diventano stub)solo -proxy (proxychains richiede l'hook libc)
Windows (GOOS=windows CGO_ENABLED=0)60 (sniff, split, sniffer stub)solo -proxy (nessun LD_PRELOAD su Windows)
StrumentoDescrizione
psexecEsecuzione remota di comandi tramite creazione di servizi SMB
smbexecEsecuzione remota di comandi tramite SMB (più stealth di psexec)
wmiexecEsecuzione remota di comandi tramite WMI
dcomexecEsecuzione remota di comandi tramite DCOM
atexecEsecuzione remota di comandi tramite Task Scheduler
Estrazione della chiave di backup DPAPI
esentutlParser offline di database ESE (NTDS.dit)
registry-readParser offline di hive del registro Windows
StrumentoDescrizione
getTGTRichiede un TGT con password, hash o chiave AES
getSTRichiede un service ticket con S4U2Self/S4U2Proxy
GetUserSPNsKerberoasting - trova e richiede SPN
GetNPUsersAS-REP roasting - trova account senza pre-auth
ticketerForgiatura di golden/silver ticket
ticketConverterConverte tra formati ccache e kirbi
describeTicketAnalizza e decifra i ticket Kerberos
getPacRichiede e analizza le informazioni PAC
keylistattackAttacco KERB-KEY-LIST-REQ (RODC)
raiseChildEscalation da dominio figlio a padre tramite golden ticket
StrumentoDescrizione
GetADUsersEnumera gli utenti del dominio via LDAP
GetADComputersEnumera i computer del dominio via LDAP
GetLAPSPasswordLegge le password LAPS via LDAP
findDelegationTrova le configurazioni di delega
lookupsidBrute-forcing di SID via LSARPC
samrdumpEnumera gli utenti via SAMR
rpcdumpDump degli endpoint RPC via epmapper
rpcmapScansiona le interfacce RPC accessibili
netEnumerazione net user/group/computer via SAMR/LSARPC
netviewEnumera sessioni, condivisioni e utenti connessi
CheckLDAPStatusVerifica i requisiti di LDAP signing e channel binding
DumpNTLMInfoEstrae le informazioni di autenticazione NTLM dalla negoziazione SMB
getArchRileva l'architettura del sistema operativo remoto via RPC
machine_roleRileva il ruolo della macchina (DC, server, workstation)
StrumentoDescrizione
addcomputerCrea/modifica/elimina account macchina (SAMR + LDAP)
rbcdManipolazione di Resource-Based Constrained Delegation
dacleditLegge/scrive DACL sugli oggetti AD
ownereditLegge/modifica la proprietà degli oggetti
sameditSpoofing del nome account SAM (CVE-2021-42278/42287)
badsuccessorBadSuccessor / escalation tramite backup operator
changepasswdCambia/reimposta password via SAMR e LDAP
StrumentoDescrizione
smbclientClient SMB interattivo (condivisioni, ls, get, put, ecc.)
smbserverServer SMB per la condivisione di file
attribInterroga/modifica gli attributi dei file via SMB
filetimeInterroga/modifica i timestamp dei file via SMB
servicesGestione remota dei servizi via SVCCTL
regOperazioni remote sul registro via WINREG
Get-GPPPasswordEstrae le password di Group Policy Preferences da SYSVOL
karmaSMBServer SMB rogue per la cattura di hash
StrumentoDescrizione
ntfs-readParser offline di filesystem NTFS
ping / ping6Ping ICMP
sniff / snifferCattura di pacchetti di rete
splitDivide file di grandi dimensioni
FlagDescrizione
-hashes LMHASH:NTHASHAutenticazione con hash NTLM (l'hash LM può essere vuoto)
-kUsa l'autenticazione Kerberos
-no-passNon richiedere la password (da usare con -k o -hashes)
-dc-ip IPIndirizzo IP del domain controller
-target-ip IPIndirizzo IP del target (quando si usa l'hostname per Kerberos)
-port PORTPorta del target (i default variano per strumento)
-proxy URLInstrada il TCP in uscita attraverso un proxy SOCKS5 (es. socks5h://127.0.0.1:1080). Le funzionalità UDP sono disabilitate.
-debugAbilita l'output di debug
PacchettoDescrizione
smbClient SMB2/3 con autenticazione NTLM e Kerberos
ldapClient LDAP con bind NTLM/Kerberos
dcerpcClient DCE/RPC + 20 implementazioni di servizi (DRSUAPI, SAMR, SVCCTL, LSARPC, WINREG, NETLOGON, DCOM, TSCH, EPMAPPER, ecc.)
kerberosClient Kerberos, forgiatura di ticket (golden/silver), S4U2Self/S4U2Proxy
ntlmProtocollo di autenticazione NTLM
relayFramework di NTLM relay (server, client, attacchi, SOCKS)
tdsProtocollo TDS di SQL Server
eseParser di Extensible Storage Engine
registryParser di hive del registro Windows
ntfsParser di filesystem NTFS
securitySecurity descriptor, ACL, SID
dpapiStrutture DPAPI
mqttClient del protocollo MQTT
sessionParsing di target/credenziali (domain/user:pass@host)
flagsFramework unificato di flag CLI