Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
DHCPig — Script de agotamiento de DHCP escrito en Python utilizando la librería de red scapy. | Kitploit
Herramientas/GitHubGitHub/kamorin/dhcpig
ExplotaciónFuzzingSeguridad de RedesSeguridad InalámbricaPruebas de PenetraciónRed Teaming
GitHubkamorin/dhcpig

DHCPig

Script de agotamiento de DHCP escrito en Python utilizando la librería de red scapy.

Ver Repositorio
3541019hace 2 díasRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

DHCPig

Validación de endurecimiento DHCP para whitehat: agota un pool, secuestra las concesiones de los vecinos, expulsa hosts de sus direcciones con ARP falsificado y reporta si la red te lo impidió. Requiere root y Python 3.11+.

Ejecutar la interfaz web

Debian / Kali: descarga el .deb más reciente desde Releases e instálalo — coloca dhcpig y dhcpig-web en PATH, sin necesidad de venv:

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

Instalación global (cualquier Linux, Python 3.11+, sin venv):

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

Se instala directamente en el Python del sistema como root, así que sudo dhcpig-web encuentra el comando sin tener que lidiar con rutas .venv/bin/. --break-system-packages anula la protección PEP 668 de Debian/Kali contra que pip toque paquetes del sistema — esa protección existe para resguardar paquetes gestionados por apt, no porque esta instalación sea inusual; el .deb o un venv evitan necesitarla por completo.

Desde el código fuente (cualquier 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

Abre la URL impresa http://127.0.0.1:8787/?token=.... Tres advertencias:

  • Se requiere root de cualquier forma (sockets crudos). Desde el código fuente (venv), usa la ruta completa .venv/bin/ — sudo restablece PATH.
  • El ?token= es obligatorio. Sin él obtienes 401s y una página en blanco.
  • ¿Sin interfaz gráfica? Se vincula a loopback a propósito. Haz un reenvío, no lo re-vincules: ssh -L 8787:127.0.0.1:8787 usuario@<ip-vm>. Omite --open.

En Debian/Kali, ejecuta sudo apt install -y python3-venv primero si el paso del venv falla.

CLI

root@kitploit:~
sudo .venv/bin/dhcpig exhaust eth0 --report run.json
sudo .venv/bin/dhcpig release eth0 --scope 192.168.4.0/22     # DESTRUCTIVO
sudo .venv/bin/dhcpig active-scan eth0 --scope 192.168.4.0/22 # solo lectura
sudo .venv/bin/dhcpig release-previous eth0                   # deshace una ejecución anterior
dhcpig ifaces
Flag
--dry-runsolo reconocimiento: el barrido ARP y las transacciones de control se ejecutan de verdad, no se envía nada mutador
--scope CIDRlimita los objetivos (repetible); por defecto usa la propia red de la interfaz
--rate Npps, por defecto 7 — no en exhaust, que se auto-regula
--no-evictomite la fase de conflicto ARP
--report FILEescribe un informe de sesión en FILE cuando termina la ejecución; el formato sigue la extensión de FILE (.json/.csv/.html, por defecto JSON)
--client-mac MACsolo exhaust; usa esta MAC en lugar de una aleatoria (repetible — rota a través de la lista)
--request-option SPECexhaust/active-scan; contenido de la opción DHCP 55 (lista de parámetros solicitados) a enviar, p. ej. 12,14-19,23 (por defecto: el perfil integrado de orden macOS)
--no-spoof-eth-srcsolo exhaust; usa la MAC real de la NIC como origen Ethernet para cada trama (Wi-Fi; los AP descartan tramas cuya MAC de origen no sea la de la estación asociada)

-v0 imprime solo resultados; -v3 añade depuración a nivel de paquete. Referencia completa de flags: man dhcpig (o packaging/dhcpig.1 antes de la instalación).

Qué hace cada modo

Agotamiento DHCP (exhaust) — destructivo

  • Inventaría el segmento con ARP, luego demuestra que DHCP funciona desde esta máquina y para una MAC desconocida
  • Ejecuta DHCPRELEASE sobre cada concesión de los vecinos — el protocolo no exige prueba de propiedad
  • Inunda con DISCOVER/REQUEST desde MACs fabricadas hasta que el servidor deja de responder
  • Re-solicita las direcciones liberadas por nombre (opción 50) una vez que el pool está agotado
  • Forja conflictos ARP RFC 5227 contra lo que tomó, para ver si los hosts ceden la dirección
  • Veredicto: ¿podría un cliente nuevo obtener una dirección después?

Liberación DHCP de clientes activos (release) — destructivo

  • Misma cadena menos la inundación: inventario → liberación → re-solicitud por nombre → conflicto ARP
  • Afecta a dispositivos conectados ahora mismo; el pool queda intacto para que la mayoría pueda re-adquirir
  • Veredicto: ¿perdió algún host su dirección y no logró obtener una nueva?

Post agotamiento / Restablecimiento (release-previous) — recuperación

  • Reproduce el diario de concesiones en disco y devuelve cada dirección que esta herramienta tomó
  • Filtrado a esta interfaz, red y servidor DHCP; --max-age descarta entradas obsoletas
  • Registra si el pool ya estaba agotado, pero libera las concesiones registradas de cualquier forma
  • Veredicto: ¿el pool vuelve a ser utilizable?

Encontrar vecinos (active-scan) — solo lectura

  • Barre el alcance con ARP, envía un DHCPINFORM para identificar los servidores DHCP
  • No toma direcciones, no altera concesiones

Escaneo pasivo (scan) — solo lectura, solo CLI

  • Observa DHCP y ARP; identifica hosts por el orden de la opción 55, con respaldo al fabricante de la MAC
  • No envía nada. Se ejecuta hasta que se detiene

Leer una ejecución

Todo termina en el registro de eventos, lo peor primero: hallazgos, luego una línea por host, y después un resumen OUTCOME. La verbosidad 0 (web) o -v0 (CLI) oculta el tráfico de paquetes. La exportación JSON es el registro completo — el log es un resumen.

Deshacer una ejecución

Las concesiones se conservan después de una ejecución para que el estado agotado pueda verificarse. Libéralas:

root@kitploit:~
sudo .venv/bin/dhcpig restore eth0             # mismo proceso aún en ejecución
sudo .venv/bin/dhcpig release-previous eth0    # en cualquier momento posterior, desde el diario de concesiones

El diario ($XDG_STATE_HOME/dhcpig/leases-<iface>.jsonl) registra MAC, IP, servidor y marca de tiempo por concesión tomada — datos de compromiso. Bórralo cuando termines.

Aviso legal

Ejecuta esto solo contra redes que poseas o para las que tengas autorización explícita de prueba. release y exhaust interrumpen clientes en vivo por diseño; --scope es opcional y por defecto cubre todo el segmento. Los autores no son responsables del mal uso.

Notas de diseño e internals: docs/DESIGN.md. Contribuciones: CONTRIBUTING.md. Licencia: GPL v2 o posterior.

Descargar herramienta