Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
gopacket — Ein vollständiger Go-Port von Impacket – 63 CLI-Tools und 24 Bibliotheken für Angriffe auf Windows- und Active-Directory-Protokolle, kompiliert zu einer einzigen abhängigkeitsfreien Binärdatei. | Kitploit
Tools/GitHubGitHub/mandiant/gopacket
Penetrationstest-FrameworksPrivilege EscalationExploit-FrameworksPasswortangriffeLaterale BewegungPost-ExploitationNetzwerksicherheitCommand and ControlRed TeamingRemote-Access-Tool
GitHub
7076142vor 1 MonatVon Kitploit geprüft
mandiant/gopacket

gopacket

Ein vollständiger Go-Port von Impacket – 63 CLI-Tools und 24 Bibliotheken für Angriffe auf Windows- und Active-Directory-Protokolle, kompiliert zu einer einzigen abhängigkeitsfreien Binärdatei.

Repository anzeigen

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

gopacket

Von Jacob Paullus (@psycep_)

Eine vollständige Go-Implementierung von Impacket - 63 Tools und 24 Bibliothekspakete für die Interaktion mit Windows-Netzwerkprotokollen, Active-Directory-Enumeration und Angriffsausführung. Entwickelt als natives Go-Framework, sodass du einmal kompilieren und überall ausführen kannst, ohne Python-Abhängigkeiten.

Beta-Release - Hochgradig experimentell. gopacket befindet sich in aktiver Entwicklung. Die Kerntools wurden gegen Active-Directory-Lab-Umgebungen getestet, aber Edge Cases und Protokoll-Eigenheiten sind zu erwarten. Wenn etwas nicht funktioniert, teste bitte dieselbe Operation parallel mit Impacket und füge beide Ausgaben in deinen Bugreport ein. Das hilft uns, schnell zu erkennen, ob es sich um ein gopacket-spezifisches Problem oder eine gemeinsame Protokollbeschränkung handelt.

Installation

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

Der Standard-Build (--target native) benötigt Go 1.24.13+, GCC und libpcap-Entwicklungsheader (apt install build-essential libpcap-dev unter Debian/Ubuntu/Kali, yum install gcc libpcap-devel unter RHEL/CentOS oder brew install libpcap unter macOS). Die Targets portable und windows benötigen nur die Go-Toolchain; sniff und split werden in diesen Builds zu Stubs, da sie libpcap erfordern. Siehe Platform Support für die vollständige Matrix.

Plattformunterstützung

gopacket lässt sich unter Linux, macOS und Windows bauen. Die Menge der funktionierenden Tools und verfügbaren Proxy-Pfade hängt von den Build-Flags ab:

BuildVerfügbare ToolsProxying
Linux / macOS mit cgo (Standard)Alle 63proxychains (LD_PRELOAD) und/oder -proxy SOCKS5
Linux mit CGO_ENABLED=061 (sniff, split werden zu Stubs)nur -proxy (proxychains benötigt den libc-Hook)
Windows (GOOS=windows CGO_ENABLED=0)60 (sniff, split, sniffer Stubs)nur -proxy (kein LD_PRELOAD unter Windows)

sniff und split hängen über cgo von libpcap ab; sniffer hängt von Unix-Raw-Sockets ab. Wenn ein Tool nicht für das Ziel gebaut werden kann, ersetzt gopacket es durch einen Stub, der eine klare Meldung ausgibt und mit Exit-Code 1 beendet, sodass go build ./... immer erfolgreich ist und das Installationslayout plattformübergreifend konsistent bleibt.

Zum Deinstallieren:

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

Proxy-Unterstützung

gopacket unterstützt zwei unabhängige Proxy-Pfade. Sie können auch verkettet werden.

proxychains (LD_PRELOAD)

Alle gopacket-Tools funktionieren durch proxychains. Go-Binaries umgehen proxychains normalerweise, weil Go's Runtime DNS und Netzwerk intern abwickelt und dabei die LD_PRELOAD-Hooks überspringt, auf die proxychains angewiesen ist. gopacket umgeht dies, indem es für Netzwerkoperationen gegen die System-C-Bibliothek linkt, sodass proxychains Verbindungen normal abfangen kann.

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

Interner SOCKS5-Proxy (-proxy)

Jedes Tool akzeptiert -proxy, um ausgehendes TCP über einen SOCKS5-Server zu routen, ohne auf LD_PRELOAD angewiesen zu sein. Akzeptierte Schemata: socks5 und socks5h. Wenn -proxy nicht gesetzt ist, werden die Umgebungsvariablen ALL_PROXY / all_proxy als Fallback herangezogen.

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'

UDP-abhängige Funktionen sind unter -proxy deaktiviert, statt Pakete stillschweigend durchsickern zu lassen (SOCKS5 UDP ASSOCIATE wird von Proxies selten unterstützt, und das Umgehen des Proxys für UDP würde die echte Quell-IP des Operators preisgeben). Betroffene Funktionen und ihre Workarounds sind in KNOWN_ISSUES.md dokumentiert.

Verkettung: -proxy ist mit proxychains kompatibel. Die TCP-Verbindung zum SOCKS5-Proxy selbst läuft weiterhin über libc connect(), sodass proxychains → gopacket → -proxy → target für verschachtelte Routing-Szenarien funktioniert.

Dokumentation

Siehe den Library Developer Guide für vollständige API-Dokumentation, Codebeispiele und einen Architekturüberblick zum Erstellen eigener Tools auf Basis von gopackets 24 Protokollpaketen.

Tools (63)

Remote-Ausführung

ToolBeschreibung
psexecRemote-Befehlsausführung über SMB-Diensterstellung
smbexecRemote-Befehlsausführung über SMB (stealthier als psexec)
wmiexecRemote-Befehlsausführung über WMI
dcomexecRemote-Befehlsausführung über DCOM
atexecRemote-Befehlsausführung über Task Scheduler

Credential-Dumping & DPAPI

ToolBeschreibung
secretsdumpSAM/LSA/NTDS.dit-Extraktion und DCSync (remote + offline)
dpapiDPAPI-Backup-Key-Extraktion
esentutlOffline-ESE-Datenbank-Parser (NTDS.dit)
registry-readOffline-Parser für Windows-Registry-Hives

Kerberos

ToolBeschreibung
getTGTFordert ein TGT mit Passwort, Hash oder AES-Key an
getSTFordert ein Service-Ticket mit S4U2Self/S4U2Proxy an
GetUserSPNsKerberoasting - SPNs finden und anfordern
GetNPUsersAS-REP-Roasting - Konten ohne Pre-Auth finden
ticketerGolden-/Silver-Ticket-Forging
ticketConverterKonvertierung zwischen ccache- und kirbi-Formaten
describeTicketKerberos-Tickets parsen und entschlüsseln
getPacPAC-Informationen anfordern und parsen
keylistattackKERB-KEY-LIST-REQ-Angriff (RODC)
raiseChildChild-to-Parent-Domain-Eskalation über Golden Ticket

Active-Directory-Enumeration

ToolBeschreibung
GetADUsersDomänenbenutzer über LDAP aufzählen
GetADComputersDomänencomputer über LDAP aufzählen
GetLAPSPasswordLAPS-Passwörter über LDAP auslesen
findDelegationDelegationskonfigurationen finden
lookupsidSID-Brute-Forcing über LSARPC
samrdumpBenutzer über SAMR aufzählen
rpcdumpRPC-Endpunkte über epmapper dumpen
rpcmapNach zugänglichen RPC-Schnittstellen scannen
netnet user/group/computer-Enumeration über SAMR/LSARPC
netviewSitzungen, Shares und angemeldete Benutzer aufzählen
CheckLDAPStatusLDAP-Signing- und Channel-Binding-Anforderungen prüfen
DumpNTLMInfoNTLM-Authentifizierungsinformationen aus SMB-Negotiation dumpen
getArchRemote-OS-Architektur über RPC erkennen
machine_roleMaschinenrolle erkennen (DC, Server, Workstation)

Active-Directory-Angriffe

ToolBeschreibung
addcomputerMaschinenkonten erstellen/ändern/löschen (SAMR + LDAP)
rbcdManipulation von Resource-Based Constrained Delegation
dacleditDACLs auf AD-Objekten lesen/schreiben
ownereditObjektbesitz lesen/ändern
sameditSAM-Account-Name-Spoofing (CVE-2021-42278/42287)
badsuccessorBadSuccessor / Backup-Operator-Eskalation
changepasswdPasswörter über SAMR und LDAP ändern/zurücksetzen

SMB-Tools

ToolBeschreibung
smbclientInteraktiver SMB-Client (Shares, ls, get, put usw.)
smbserverSMB-Server für Dateifreigabe
attribDateiattribute über SMB abfragen/ändern
filetimeDateizeitstempel über SMB abfragen/ändern
servicesRemote-Dienstverwaltung über SVCCTL
regRemote-Registry-Operationen über WINREG
Get-GPPPasswordGroup-Policy-Preferences-Passwörter aus SYSVOL extrahieren
karmaSMBRogue-SMB-Server zum Hash-Capture

NTLM-Relay

ToolBeschreibung
ntlmrelayxVollständiges NTLM-Relay-Framework mit Multi-Protokoll-Unterstützung

ntlmrelayx unterstützt:

  • Capture-Server: SMB, HTTP/HTTPS, WCF (ADWS), RAW, RPC, WinRM
  • Relay-Clients: SMB, LDAP/LDAPS, HTTP/HTTPS, MSSQL, WinRM, RPC
  • Angriffe: secretsdump, smbexec, ldapdump, RBCD-Delegation, ACL-Missbrauch, Shadow Credentials, ADCS ESC8, addcomputer, DNS-Manipulation und mehr
  • Infrastruktur: SOCKS5-Proxy mit protokollbewussten Plugins, interaktive Konsole, REST-API, Multi-Target-Round-Robin, WPAD-Serving

SQL Server

ToolBeschreibung
mssqlclientInteraktiver MSSQL-Client mit SQL-/Windows-/Kerberos-Authentifizierung
mssqlinstanceMSSQL-Instanz-Erkennung über SQL Browser

WMI

ToolBeschreibung
wmiqueryInteraktive WMI-Query-Shell
wmipersistPersistenz über WMI-Event-Subscription

Terminal Services

ToolBeschreibung
tstoolTerminal-Services-Sitzungs- und Prozess-Enumeration

Weitere Protokolle

ToolBeschreibung
rdp_checkRDP-Authentifizierungsprüfung
mqtt_checkMQTT-Authentifizierungsprüfung
exchangerExchange-Web-Services-Client

Utilities

ToolBeschreibung
ntfs-readOffline-NTFS-Dateisystem-Parser
ping / ping6ICMP-Ping
sniff / snifferNetzwerk-Paket-Capture
splitGroße Dateien aufteilen

Authentifizierung

Alle Netzwerktools unterstützen drei Authentifizierungsmethoden:

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'

Häufige Flags

FlagBeschreibung
-hashes LMHASH:NTHASHNTLM-Hash-Authentifizierung (LM-Hash kann leer sein)
-kKerberos-Authentifizierung verwenden
-no-passNicht nach Passwort fragen (mit -k oder -hashes verwenden)
-dc-ip IPIP-Adresse des Domänencontrollers
-target-ip IPIP-Adresse des Ziels (bei Verwendung eines Hostnamens für Kerberos)
-port PORTZielport (Standardwerte variieren je nach Tool)
-proxy URLAusgehendes TCP über einen SOCKS5-Proxy routen (z. B. socks5h://127.0.0.1:1080). UDP-Funktionen sind deaktiviert.
-debugDebug-Ausgabe aktivieren

Kurze Beispiele

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]'

Bibliothek

Das Verzeichnis pkg/ enthält 24 wiederverwendbare Protokollpakete, die unabhängig importiert werden können.

PaketBeschreibung
smbSMB2/3-Client mit NTLM- und Kerberos-Authentifizierung
ldapLDAP-Client mit NTLM-/Kerberos-Bind
dcerpcDCE/RPC-Client + 20 Dienstimplementierungen (DRSUAPI, SAMR, SVCCTL, LSARPC, WINREG, NETLOGON, DCOM, TSCH, EPMAPPER usw.)
kerberosKerberos-Client, Ticket-Forging (Golden/Silver), S4U2Self/S4U2Proxy
ntlmNTLM-Authentifizierungsprotokoll
relayNTLM-Relay-Framework (Server, Clients, Angriffe, SOCKS)
tdsSQL-Server-TDS-Protokoll
eseExtensible-Storage-Engine-Parser
registryParser für Windows-Registry-Hives
ntfsNTFS-Dateisystem-Parser
securitySecurity Descriptors, ACLs, SIDs
dpapiDPAPI-Strukturen
mqttMQTT-Protokoll-Client
sessionZiel-/Credential-Parsing (domain/user:pass@host)
flagsEinheitliches CLI-Flag-Framework

Fehlende Funktionen (im Vergleich zu Impacket)

gopacket strebt vollständige Impacket-Parität an. Folgendes ist noch nicht implementiert:

Relay-Protokoll-Clients:

  • IMAP-Relay-Client + Angriff (erfordert Exchange-/IMAP-Server)
  • SMTP-Relay-Client (erfordert SMTP-Server)

Relay-Angriffsmodule:

  • SCCM-Policies/DP-Angriffe (erfordert SCCM-Infrastruktur)

Eigenständige Tools:

  • ifmap.py (DCOM-Interface-Mapping)
  • mimikatz.py (eingeschränktes Mimikatz über RPC)
  • goldenPac.py (MS14-068 - obsolet auf gepatchten Systemen)
  • smbrelayx.py (abgelöst durch ntlmrelayx)
  • kintercept.py (Kerberos-Interception)

Diese Lücken haben niedrige Priorität - die meisten erfordern Nischen-Infrastruktur zum Testen oder sind durch neuere Techniken obsolet geworden.

Bekannte Einschränkungen

Dies sind Protokoll-bedingte Einschränkungen, die auch bei Impacket bestehen, keine gopacket-Bugs:

  • SMB-zu-LDAPS-Relay schlägt auf gepatchten DCs aufgrund der NTLM-MIC-Validierung fehl (nach CVE-2019-1040). Stattdessen HTTP-Coercion verwenden.
  • WinRM-Relay wird durch EPA (Extended Protection for Authentication) auf gepatchten Server 2019+ blockiert.
  • RPC-Relay-Angriffe (tschexec, enum-local-admins) erfordern PKT_INTEGRITY, das in Relay-Sitzungen nicht verfügbar ist.
  • LDAP-Relay zu Port 389 schlägt auf DCs fehl, die LDAP-Signing erfordern. Immer zu LDAPS (Port 636) relayen.

Siehe KNOWN_ISSUES.md für detaillierte Informationen zu jedem Problem und Workarounds.

Probleme melden & Mitwirken

Dies ist ein Beta-Release. Bugs sind zu erwarten, und Beiträge sind willkommen.

Warum wir dich bitten, zuerst mit Impacket zu testen

Da gopacket dieselben Wire-Protokolle wie Impacket implementiert, entpuppt sich ein großer Teil der „Bugs" als umgebungsbedingt, nicht gopacket-spezifisch - gepatchte DCs, LDAP-Signing-Anforderungen, EPA, PKT_INTEGRITY, SMB-Signing, NTLM-MIC-Validierung nach CVE-2019-1040, fehlende SPNs, Zeitversatz, DNS-Eigenheiten, Firewall-Regeln und so weiter. Dieselbe Operation parallel mit Impacket auszuführen, entfernt die Umgebung aus der Gleichung:

  • Wenn Impacket auf dieselbe Weise fehlschlägt, ist das Problem fast immer umgebungsbedingt und wahrscheinlich bereits in KNOWN_ISSUES.md dokumentiert. Kein Bugreport nötig.
  • Wenn Impacket erfolgreich ist, wo gopacket fehlschlägt, ist das ein echter gopacket-Bug und genau das, worüber wir hören wollen.

Dieser einzelne Triage-Schritt spart viele Rückfragen, also bitte nicht überspringen.

Einen Bugreport einreichen

  1. Führe dieselbe Operation mit Impacket aus und notiere, ob sie erfolgreich ist oder fehlschlägt
  2. Führe gopacket erneut mit -debug aus und erfasse die vollständige Ausgabe
  3. Anonymisiere alles Sensible, bevor du es postest. GitHub-Issues sind öffentlich. Entferne oder ersetze echte Hostnamen, IP-Adressen, Benutzernamen, Passwort-Hashes, Kerberos-Tickets, Domänennamen, SIDs und jede Ausgabezeile, die mit einem echten Engagement in Verbindung gebracht werden könnte. corp.internal → example.local und dc01.corp.internal → dc01.example.local zu ersetzen ist in Ordnung - behalte die Struktur der Daten bei, nur nicht die identifizierenden Werte. Im Zweifel: redigieren.
  4. Öffne ein GitHub-Issue und füge Folgendes bei:
    • Beide Ausgaben (gopacket und Impacket), als Text und nicht als Screenshots, anonymisiert
    • Die exakte Kommandozeile, die du ausgeführt hast (anonymisiert)
    • Ziel-OS, AD-Funktionslevel und relevantes Hardening (Signing, EPA, Channel Binding, Patch-Level)
    • gopacket-Version / Commit-Hash

Feature-Anfragen

Öffne ein GitHub-Issue, das den Anwendungsfall und das Impacket-Äquivalent (falls vorhanden) beschreibt. Wenn das Feature auf der obigen Liste „Fehlende Funktionen" steht, erwähne welches - das hilft uns bei der Priorisierung.

Pull Requests

PRs sind willkommen. Bevor du einen öffnest:

  • Führe go build ./..., go vet ./..., gofmt -l . und go test ./... aus und stelle sicher, dass alle sauber durchlaufen
  • Passe dich dem bestehenden Code-Stil in dem Paket an, das du bearbeitest
  • Halte Änderungen fokussiert - trenne Refactorings von Feature-Arbeit
  • Öffne bei nicht-trivialen Änderungen zuerst ein Issue, um den Ansatz zu besprechen

Warum das für Verteidiger wichtig ist

Bedrohungsakteure entfernen sich von Python. Kompilierte Go- und Rust-Tooling (Sliver, BRC4, Geacon und maßgeschneiderte Loader) ersetzt zunehmend Impacket in realen Intrusionen. Die meisten defensiven Tools und Erkennungslogiken wurden um Impackets Python-basiertes Netzwerkverhalten herum gebaut, und diese Abdeckung erodiert, während sich das Angreifer-Ökosystem auf kompilierte Sprachen verlagert.

gopacket existiert teilweise, um der Sicherheitscommunity zu helfen, diesem Wandel voraus zu sein. Durch die Bereitstellung einer quelloffenen, lesbaren Go-Implementierung derselben Protokolle und Techniken können Verteidiger und Detection Engineers:

  • Studieren, wie Go-basiertes Tooling sich im Netzwerk verhält, statt darauf zu warten, ihm während eines Vorfalls zu begegnen
  • Die Protokoll-Ebene-Unterschiede verstehen zwischen Go- und Python-Implementierungen, die bestehende Signaturen weniger effektiv machen
  • Realistische Purple-Team-Übungen durchführen mit demselben kompilierten Single-Binary-Tooling, das Bedrohungsakteure übernehmen, statt ausschließlich gegen Python-Skripte zu testen, die sich auf der Netzwerkebene anders verhalten

Die Lücke zwischen Angreifer-Tooling und Verteidiger-Sichtbarkeit ist am größten, wenn neues Tooling privat bleibt. Das Open-Sourcing von gopacket verkleinert diese Lücke.

Hinweise

  • Kerberos-Authentifizierung erfordert eine gültige ccache-Datei (TGT oder Service-Ticket)
  • Für Kerberos den FQDN-Hostnamen verwenden - nicht eine IP-Adresse
  • Wenn KRB5CCNAME nicht gesetzt ist, suchen die Tools nach <username>.ccache im aktuellen Verzeichnis
  • Alle Tools unterstützen sowohl proxychains als auch ein internes -proxy-SOCKS5-Flag (siehe Proxy-Unterstützung)
  • Dieses Projekt ist ausschließlich für autorisierte Sicherheitstests und Forschungszwecke bestimmt

Lizenz

Veröffentlicht unter der Apache License 2.0.

gopacket ist eine saubere Go-Neuimplementierung von Impacket; siehe NOTICE für vollständige Drittanbieter-Danksagungen.

Tool herunterladen