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
DHCPig — DHCP-Erschöpfungsskript, geschrieben in Python unter Verwendung der Scapy-Netzwerkbibliothek | Kitploit
Tools/GitHubGitHub/kamorin/dhcpig
ExploitationFuzzingNetzwerksicherheitDrahtlose SicherheitPenetrationstestsRed Teaming
GitHubkamorin/dhcpig

DHCPig

DHCP-Erschöpfungsskript, geschrieben in Python unter Verwendung der Scapy-Netzwerkbibliothek

Repository anzeigen
354101vor 12 TagenVon 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

DHCPig

Validierung der DHCP-Härtung für Whitehats: einen Pool erschöpfen, Leases von Nachbarn kapern, Hosts mit gefälschtem ARP von ihren Adressen vertreiben und berichten, ob das Netzwerk dich gestoppt hat. Benötigt Root-Rechte und Python 3.11+.

Web-UI ausführen

Debian / Kali: das neueste .deb von Releases herunterladen und installieren – legt dhcpig und dhcpig-web auf den PATH, kein venv nötig:

root@kitploit:~
curl -LO https://github.com/kamorin/DHCPig/releases/download/v2.7.2/dhcpig_2.7.2-1_all.deb
sudo apt install ./dhcpig_2.7.2-1_all.deb
sudo dhcpig-web --open

Globale Installation (beliebiges Linux, Python 3.11+, kein venv):

root@kitploit:~
git clone https://github.com/kamorin/DHCPig && cd DHCPig
sudo pip install --break-system-packages .
sudo dhcpig-web --open

Installiert direkt als Root in das System-Python, sodass sudo dhcpig-web den Befehl ohne .venv/bin/-Pfad-Hantieren findet. --break-system-packages überschreibt Debian/Kalis PEP-668-Schutz, der pip davon abhält, Systempakete anzufassen – dieser Schutz existiert, um apt-verwaltete Pakete zu schützen, nicht weil diese Installation ungewöhnlich wäre; das .deb oder ein venv vermeiden ihn vollständig.

Aus dem Quellcode (beliebiges Linux, Python 3.11+):

root@kitploit:~
git clone https://github.com/kamorin/DHCPig && cd DHCPig
python3 -m venv .venv && .venv/bin/pip install -e .
sudo .venv/bin/dhcpig-web --open

Die ausgegebene URL http://127.0.0.1:8787/?token=... öffnen. Drei Stolperfallen:

  • Root ist in jedem Fall erforderlich (Raw-Sockets). Aus dem Quellcode (venv) den vollständigen .venv/bin/- Pfad verwenden – sudo setzt PATH zurück.
  • Das ?token= ist Pflicht. Ohne sie gibt es 401er und eine leere Seite.
  • Headless? Es bindet absichtlich an Loopback. Weiterleiten statt neu binden: ssh -L 8787:127.0.0.1:8787 user@<vm-ip>. --open weglassen.

Auf Debian/Kali zuerst sudo apt install -y python3-venv ausführen, falls der venv-Schritt fehlschlägt.

CLI

root@kitploit:~
sudo .venv/bin/dhcpig exhaust eth0 --report run.json
sudo .venv/bin/dhcpig release eth0 --scope 192.168.4.0/22     # DESTRUCTIVE
sudo .venv/bin/dhcpig active-scan eth0 --scope 192.168.4.0/22 # read-only
sudo .venv/bin/dhcpig release-previous eth0                   # undo a previous run
dhcpig ifaces

-v0 gibt nur Ergebnisse aus; -v3 fügt Paket-Level-Debug hinzu. Vollständige Flag-Referenz: man dhcpig (oder packaging/dhcpig.1 vor der Installation).

Was jeder Modus tut

DHCP-Erschöpfung (exhaust) – destruktiv

  • Inventarisiert das Segment per ARP und beweist dann, dass DHCP von dieser Maschine und für eine unbekannte MAC funktioniert
  • Führt DHCPRELEASE für jeden Lease des Nachbarn aus – das Protokoll verlangt keinen Eigentumsnachweis
  • Flutet DISCOVER/REQUEST von fabrizierten MACs, bis der Server nicht mehr antwortet
  • Fragt die freigegebenen Adressen erneut per Name (Option 50) an, sobald der Pool erschöpft ist
  • Fälscht RFC-5227-ARP-Konflikte gegen das, was es genommen hat, um zu sehen, ob Hosts die Adresse aufgeben
  • Urteil: Könnte ein brandneuer Client danach immer noch eine Adresse bekommen?

DHCP-Release aktiver Clients (release) – destruktiv

  • Gleiche Kette ohne die Flut: Inventar → Release → erneute Anfrage per Name → ARP-Konflikt
  • Trifft Geräte, die gerade verbunden sind; der Pool bleibt intakt, sodass die meisten neu erhalten können
  • Urteil: Hat irgendein Host seine Adresse verloren und keine neue bekommen?

Nach Erschöpfung / Zurücksetzen (release-previous) – Wiederherstellung

  • Spielt das auf der Platte liegende Lease-Journal erneut ab und gibt jede Adresse zurück, die dieses Tool genommen hat
  • Gefiltert auf dieses Interface, Netzwerk und diesen DHCP-Server; --max-age verwirft veraltete Einträge
  • Zeichnet auf, ob der Pool bereits erschöpft war, gibt aber journale Leases in jedem Fall frei
  • Urteil: Ist der Pool wieder nutzbar?

Nachbarn finden (active-scan) – schreibgeschützt

  • ARP-Sweept den Scope, sendet ein DHCPINFORM, um die DHCP-Server zu identifizieren
  • Nimmt keine Adressen, stört keine Leases

Passiver Scan (scan) – schreibgeschützt, nur CLI

  • Beobachtet DHCP und ARP; identifiziert Hosts anhand der Option-55-Reihenfolge, mit Fallback auf den MAC-Hersteller
  • Sendet nichts. Läuft, bis es gestoppt wird

Einen Lauf auswerten

Alles landet im Ereignisprotokoll, Schlimmstes zuerst: Findings, dann eine Zeile pro Host, dann eine OUTCOME-Zusammenfassung. Verbosity 0 (Web) oder -v0 (CLI) versteckt den Paketverkehr. Der JSON-Export ist der vollständige Datensatz – das Protokoll ist eine Zusammenfassung.

Einen Lauf rückgängig machen

Leases werden nach einem Lauf behalten, damit der erschöpfte Zustand verifiziert werden kann. Sie freigeben:

root@kitploit:~
sudo .venv/bin/dhcpig restore eth0             # same process still running
sudo .venv/bin/dhcpig release-previous eth0    # any time later, from the lease journal

Das Journal ($XDG_STATE_HOME/dhcpig/leases-<iface>.jsonl) zeichnet MAC, IP, Server und Zeitstempel pro genommenem Lease auf – Engagement-Daten. Nach Abschluss löschen.

Haftungsausschluss

Nur gegen Netzwerke ausführen, die dir gehören oder für die du ausdrücklich autorisiert bist. release und exhaust stören absichtlich Live-Clients; --scope ist optional und standardmäßig das gesamte Segment. Die Autoren sind nicht für Missbrauch verantwortlich.

Designhinweise und Interna: docs/DESIGN.md. Mitwirken: CONTRIBUTING.md. Lizenz: GPL v2 oder neuer.

Tool herunterladen
Flag
--dry-runnur Recon: ARP-Sweep und Kontrolltransaktionen laufen real, nichts Mutierendes wird gesendet
--scope CIDRbegrenzt die Ziele (wiederholbar); standardmäßig das eigene Netz des Interfaces
--rate Npps, Standard 7 – nicht bei exhaust, das sich selbst taktet
--no-evictüberspringt die ARP-Konfliktphase
--report FILEschreibt am Ende des Laufs einen Sitzungsbericht nach FILE; das Format folgt der Endung von FILE (.json/.csv/.html, Standard JSON)
--client-mac MACnur exhaust; diese MAC anstelle einer zufälligen verwenden (wiederholbar – rotiert durch die Liste)
--request-option SPECexhaust/active-scan; DHCP-Option-55 (Parameter-Request-Liste) Inhalt zum Senden, z. B. 12,14-19,23 (Standard: das eingebaute macOS-Reihenfolgen-Profil)
--no-spoof-eth-srcnur exhaust; die echte NIC-MAC als Ethernet-Quelle für jedes Frame verwenden (Wi-Fi; APs verwerfen Frames, deren Quell-MAC nicht die assoziierte Station ist)