Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
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
enum4linux-ng — Eine nächste Generation von enum4linux (einem Windows/Samba-Erkundungstool) mit zusätzlichen Funktionen wie JSON/YAML-Export. Richtet sich an Sicherheitsexperten und CTF-Spieler. | Kitploit
Tools/GitHubGitHub/cddmp/enum4linux-ng
AufklärungInformationsbeschaffungNetzwerksicherheitCTFPenetrationstests
GitHubcddmp/enum4linux-ng

enum4linux-ng

Eine nächste Generation von enum4linux (einem Windows/Samba-Erkundungstool) mit zusätzlichen Funktionen wie JSON/YAML-Export. Richtet sich an Sicherheitsexperten und CTF-Spieler.

Repository anzeigen
1.6k1526vor 6 MonatenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

enum4linux-ng

Eine nächste Generation von enum4linux

enum4linux-ng.py ist eine Neuimplementierung von Mark Lowe's (ehemals Portcullis Labs, heute Cisco CX Security Labs) enum4linux.pl, einem Tool zur Informationssammlung von Windows- und Samba-Systemen, das für Sicherheitsexperten und CTF-Spieler gedacht ist. Das Tool ist hauptsächlich ein Wrapper um die Samba-Werkzeuge nmblookup, net, rpcclient und smbclient.

Ich habe es zu Lernzwecken für mich selbst erstellt und um Probleme mit enum4linux.pl zu beheben. Es bietet dieselbe Funktionalität wie das ursprüngliche Tool (allerdings erledigt es einige Dinge anders). Im Gegensatz zum Originaltool analysiert es die gesamte Ausgabe der Samba-Werkzeuge und erlaubt den Export aller Ergebnisse als YAML- oder JSON-Datei. Der Grundgedanke dahinter ist, anderen Tools den Import der Ergebnisse und deren Weiterverarbeitung zu ermöglichen. Es ist geplant, in Zukunft neue Funktionen hinzuzufügen.

Funktionen

  • Unterstützung für YAML- und JSON-Export
  • Farbige Konsolenausgabe (kann via NO_COLOR deaktiviert werden)
  • ldapsearch und polenum sind nativ implementiert
  • Unterstützung mehrerer Authentifizierungsmethoden
  • Unterstützung für veraltete SMBv1-Verbindungen
  • Automatische Erkennung von IPC-Signing-Unterstützung
  • 'Intelligente' Aufzählung deaktiviert automatisch Tests, die sonst fehlschlagen würden
  • Timeout-Unterstützung
  • SMB-Dialektprüfungen
  • IPv6-Unterstützung (experimentell)

Unterschiede

Einige Dinge sind im Vergleich zum ursprünglichen enum4linux anders implementiert. Dies sind die wichtigen Unterschiede:

  • Gruppenmitglieder werden standardmäßig nicht aufgezählt, dies kann mit -Gm aktiviert werden
  • RID-Cycling ist nicht Teil der Standardaufzählung (-A), kann aber mit -R aktiviert werden
  • RID-Cycling kann schneller durchgeführt werden, indem mehrere SID-Lookups in denselben rpcclient-Aufruf gruppiert werden
  • Die Parameterbenennung ist leicht unterschiedlich (z. B. -A anstelle von -a)

Danksagungen

Ich möchte den Leuten von den ehemaligen Portcullis Labs (heute Cisco CX Security Labs) danken und ihnen Anerkennung zollen, insbesondere:

  • Mark Lowe für die Erstellung des ursprünglichen 'enum4linux.pl' (https://github.com/CiscoCXSecurity/enum4linux)
  • Richard 'deanx' Dean für die Erstellung des ursprünglichen 'polenum' (https://labs.portcullis.co.uk/tools/polenum/)

Zusätzlich möchte ich danken und Anerkennung zollen:

  • Craig 'Wh1t3Fox' West für seinen Fork von 'polenum' (https://github.com/Wh1t3Fox/polenum)

Es hat großen Spaß gemacht, euren Code zu lesen! :)

Nicht zuletzt möchte ich den verschiedenen Leuten danken, die Code beigetragen, Probleme gemeldet und hilfreiche Vorschläge zur Verbesserung des Tools gemacht haben.

Rechtlicher Hinweis

Wenn Sie das Tool verwenden: Verwenden Sie es nicht für illegale Zwecke.

Ausführung

Eine Beispielausführung könnte so aussehen:

root@kitploit:~
enum4linux-ng.py -As <target> -oY out

Demo

Windows Server 2012 R2

Dies demonstriert eine Ausführung gegen eine Windows Server 2012 R2 Standardinstallation. Der folgende Befehl wird verwendet:

root@kitploit:~
enum4linux-ng.py 192.168.125.131 -u Tester -p 'Start123!' -oY out

Ein Benutzer 'Tester' mit Passwort 'Start123!' wurde erstellt. Der Firewall-Zugriff wurde erlaubt. Sobald die Aufzählung abgeschlossen ist, scrolle ich nach oben, damit die Ergebnisse klarer werden. Da keine andere Aufzählungsoption angegeben ist, nimmt das Tool -A an, das sich ähnlich wie die Option -a von enum4linux verhält. Benutzer und Passwort werden übergeben. Die Option -oY exportiert alle aufgezählten Daten als YAML-Datei zur weiteren Verarbeitung in out.yaml. Das Tool erkennt automatisch zu Beginn, dass LDAP auf dem entfernten Host nicht läuft. Es überspringt daher alle weiteren LDAP-Prüfungen, die normalerweise Teil der Standardaufzählung wären.

Demo

Metasploitable 2

Die zweite Demo zeigt eine Ausführung gegen Metasploitable 2. Der folgende Befehl wird verwendet:

root@kitploit:~
enum4linux-ng.py 192.168.125.145 -A -C

Diesmal werden die Optionen -A und -C verwendet. Während sich die erste ähnlich wie die Option -a von enum4linux verhält, aktiviert die zweite die Aufzählung der Dienste. Diesmal wurden keine Anmeldeinformationen bereitgestellt. Das Tool erkennt automatisch, dass es SMBv1 verwenden muss. Es wird keine YAML- oder JSON-Datei geschrieben. Wieder scrolle ich nach oben, damit die Ergebnisse klarer werden.

Demo

Verwendung

root@kitploit:~
usage: enum4linux-ng.py [-h] [-A] [-As] [-U] [-G] [-Gm] [-S] [-C] [-P] [-O] [-L] [-I] [-R [BULK_SIZE]] [-N] [-w DOMAIN] [-u USER]
                        [-p PW | -K TICKET_FILE | -H NTHASH] [--local-auth] [-d] [-k USERS] [-r RANGES] [-s SHARES_FILE] [-t TIMEOUT] [-v] [--keep]
                        [-oJ OUT_JSON_FILE | -oY OUT_YAML_FILE | -oA OUT_FILE]
                        host

Dieses Tool ist eine Neuimplementierung von Mark Lowe's enum4linux.pl, einem Tool zur Informationssammlung von Windows- und Samba-Systemen. Es ist hauptsächlich ein Wrapper um die Samba-Werkzeuge nmblookup, net, rpcclient und smbclient. Im Gegensatz zum Originaltool ermöglicht es den Export der Aufzählungsergebnisse als YAML- oder JSON-Datei, sodass sie mit anderen Tools weiterverarbeitet werden können. Das Tool versucht eine 'intelligente' Aufzählung durchzuführen. Es prüft zuerst, ob SMB oder LDAP auf dem Ziel erreichbar ist. Abhängig vom Ergebnis dieser Prüfung überspringt es dynamisch Prüfungen (z. B. LDAP-Prüfungen, wenn LDAP nicht läuft). Wenn SMB erreichbar ist, wird immer geprüft, ob eine Sitzung aufgebaut werden kann oder nicht. Wenn keine Sitzung aufgebaut werden kann, stoppt das Tool die Aufzählung. Der Aufzählungsprozess kann mit STRG+C unterbrochen werden. Wenn die Optionen -oJ oder -oY angegeben werden, schreibt das Tool den aktuellen Aufzählungszustand in die JSON- oder YAML-Datei, sobald es ein SIGINT durch STRG+C empfängt. Das Tool wurde für Sicherheitsexperten und CTF-Spieler entwickelt. Die illegale Nutzung ist untersagt.

positionale Argumente:
  host

Optionen:
  -h, --help         Zeigt diese Hilfemeldung an und beendet das Programm
  -A                 Führt alle einfachen Aufzählungen einschließlich nmblookup durch (-U -G -S -P -O -N -I -L). Diese Option ist aktiviert, wenn Sie keine andere Option angeben.
  -As                Führt alle einfachen kurzen Aufzählungen ohne NetBIOS-Namensauflösung durch (-U -G -S -P -O -I -L)
  -U                 Holt Benutzer über RPC
  -G                 Holt Gruppen über RPC
  -Gm                Holt Gruppen mit Gruppenmitgliedern über RPC
  -S                 Holt Freigaben über RPC
  -C                 Holt Dienste über RPC
  -P                 Holt Informationen zur Kennwortrichtlinie über RPC
  -O                 Holt Betriebssysteminformationen über RPC
  -L                 Holt zusätzliche Domäneninformationen über LDAP/LDAPS (nur für DCs)
  -I                 Holt Druckerinformationen über RPC
  -R [BULK_SIZE]     Zählt Benutzer über RID-Cycling auf. Optional kann die Größe der Lookup-Anfrage angegeben werden.
  -N                 Führt eine NetBIOS-Namensauflösung durch (ähnlich nbtstat) und versucht, die Arbeitsgruppe aus der Ausgabe zu ermitteln
  -w DOMAIN          Arbeitsgruppe/Domäne manuell angeben (normalerweise automatisch gefunden)
  -u USER            Benutzername zur Verwendung angeben (Standard "")
  -p PW              Passwort zur Verwendung angeben (Standard "")
  -K TICKET_FILE     Versuchen, sich mit Kerberos zu authentifizieren, nur nützlich in Active-Directory-Umgebungen (Hinweis: DNS muss korrekt konfiguriert sein, damit diese Option funktioniert)
  -H NTHASH          Versuchen, sich mit Hash zu authentifizieren
  --local-auth       Lokal am Ziel authentifizieren
  -d                 Detaillierte Informationen für Benutzer und Gruppen abrufen, gilt für -U, -G und -R
  -k USERS           Benutzer, die auf dem entfernten System existieren (Standard: administrator,guest,krbtgt,domain admins,root,bin,none). Wird verwendet, um die SID mit "lookupsids" zu erhalten
  -r RANGES          RID-Bereiche zum Aufzählen (Standard: 500-550,1000-1050)
  -s SHARES_FILE     Brute-Force-Erraten für Freigaben
  -t TIMEOUT         Legt das Verbindungs-Timeout in Sekunden fest (Standard: 10s)
  -v                 Ausführlich, zeigt die vollständigen ausgeführten Samba-Tool-Befehle (net, rpcclient, etc.)
  --keep             Die während des Tool-Laufs erstellte Samba-Konfigurationsdatei nach der Aufzählung nicht löschen (nützlich mit -v)
  -oJ OUT_JSON_FILE  Schreibt die Ausgabe in eine JSON-Datei (Erweiterung wird automatisch hinzugefügt)
  -oY OUT_YAML_FILE  Schreibt die Ausgabe in eine YAML-Datei (Erweiterung wird automatisch hinzugefügt)
  -oA OUT_FILE       Schreibt die Ausgabe in eine YAML- und JSON-Datei (Erweiterungen werden automatisch hinzugefügt)

Installation

Es gibt mehrere Möglichkeiten, das Tool zu installieren. Entweder kommt das Tool als Paket mit Ihrer Linux-Distribution mitgeliefert oder Sie müssen eine manuelle Installation durchführen.

Kali Linux

root@kitploit:~
apt install enum4linux-ng 

Archstrike

root@kitploit:~
pacman -S enum4linux-ng

NixOS

(getestet auf NixOS 20.9)

root@kitploit:~
nix-env -iA nixos.enum4linux-ng

Manuelle Installation

Wenn Ihre Linux-Distribution kein Paket anbietet, können stattdessen die folgenden manuellen Installationsmethoden verwendet werden.

Abhängigkeiten

Das Tool verwendet die Samba-Client-Werkzeuge, nämlich:

  • nmblookup
  • net
  • rpcclient
  • smbclient

Diese sollten für alle Linux-Distributionen verfügbar sein. Das Paket heißt typischerweise smbclient, samba-client oder ähnlich.

Darüber hinaus benötigen Sie die folgenden Python-Pakete:

  • ldap3
  • PyYaml
  • impacket

Für eine schnellere Verarbeitung von YAML (optional!) installieren Sie auch (sollte bei den meisten Linux-Distributionen als Abhängigkeit von PyYaml kommen):

  • LibYAML

Einige Beispiele für spezifische Linux-Distributionen sind unten aufgeführt. Alternativ sind distributionsunabhängige Wege (Python pip, Python Virtual Environment und Docker) möglich.

Spezifisch für Linux-Distributionen

Bei allen unten aufgeführten Distributionsbeispielen ist LibYAML bereits eine Abhängigkeit des entsprechenden PyYaml-Pakets und wird daher automatisch installiert.

ArchLinux

root@kitploit:~
pacman -S smbclient python-ldap3 python-yaml impacket

Fedora/CentOS/RHEL

(getestet auf Fedora Workstation 31)

root@kitploit:~
dnf install samba-common-tools samba-client python3-ldap3 python3-pyyaml python3-impacket

Debian/Ubuntu/Linux Mint

(Für Ubuntu 18.04 oder niedriger verwenden Sie die Docker- oder Python-Virtual-Environment-Variante)

root@kitploit:~
apt install smbclient python3-ldap3 python3-yaml python3-impacket

Distributionsunabhängig

Python pip

Abhängig von der Linux-Distribution wird entweder pip3 oder pip benötigt:

root@kitploit:~
pip install pyyaml ldap3 impacket

Alternative:

root@kitploit:~
pip install -r requirements.txt

Denken Sie daran, dass Sie dennoch die oben genannten Samba-Werkzeuge installieren müssen.

Python Virtual Environment

root@kitploit:~
git clone https://github.com/cddmp/enum4linux-ng
cd enum4linux-ng
python3 -m venv venv
source venv/bin/activate
pip install wheel
pip install -r requirements.txt

Dann ausführen mit:

root@kitploit:~
python3 enum4linux-ng.py -As <target>

Denken Sie daran, dass Sie dennoch die oben genannten Samba-Werkzeuge installieren müssen. Stellen Sie außerdem sicher, dass Sie jedes Mal, wenn Sie eine neue Shell öffnen, source venv/bin/activate ausführen. Andernfalls wird der falsche Python-Interpreter mit den falschen Bibliotheken verwendet (Ihr System-Interpreter anstelle des der virtuellen Umgebung).

Docker

root@kitploit:~
git clone https://github.com/cddmp/enum4linux-ng
cd enum4linux-ng
docker build . --tag enum4linux-ng

Nach Abschluss könnte eine Beispielausführung so aussehen:

root@kitploit:~
docker run -t enum4linux-ng -As <target>

Mitwirken und Unterstützung

Gelegentlich gibt das Tool Fehlermeldungen wie diese aus:

Could not <some text here>, please open a GitHub issue

In diesem Fall führen Sie das Tool bitte erneut mit der Option -v und --keep aus. Dadurch können Sie den genauen Befehl sehen, der die Fehlermeldung verursacht hat. Kopieren Sie diesen Befehl, führen Sie ihn in Ihrem Terminal aus und leiten Sie die Ausgabe in eine Datei um. Erstellen Sie dann hier ein GitHub-Issue, fügen Sie den Befehl ein und hängen Sie die Fehlerausgabedatei an. Das hilft bei der Fehlerbehebung. Natürlich können Sie den Fehler auch selbst beheben und einen Pull-Request erstellen.

Wenn das Tool für Sie hilfreich ist, freue ich mich, wenn Sie einen Stern hinterlassen!

Tool herunterladen