[ninux-not-wireless] DHCP starvator

Giuseppe De Marco demarcog83 at gmail.com
Wed May 16 18:26:42 CEST 2018


Cari amici,

facendo pausa dalla programmazione ordinaria ho dedicato un'oretta ad
una vecchia idea relativa alla difesa pro-attiva da disservizi di tipo
DHCP rogue.

Ho sviluppato un DHCP starvator in python:
https://github.com/peppelinux/pyDHCPStarvator

Ho testato il programa utilizzando come vittima un router OpenWRT, con
un timeout di 0.2 secondi riesco ad esaurire sequenzialmente un pool
/24 in meno di un minuto. L'opzione -timeout è customizzabile da
command prompt.

Il collaudo è andato benone e ovviamente credo che serva solo nelle
reti dove security-port e dhcp-snoop non siano
utilizzabili/disponibili.

Per metterlo in produzione come un "robot del bene", in background
listen, vorrò poi aggiungere la parte di sniffing che appena rileva un
DHCP NAK da un server dhcp non autorevole avvia lo starvator con
server_id l'ip del DHCP rogue. Questo fa si che il pool di ip ad
essere esaurito sia soltanto quello del DHCP rogue.

In futuro, quando ci tornerò sopra, penso di introdurre inoltre una
notazione CIDR per il pool di riferimento, un wordlist generator per
creare hostname credibili e la possibilità di parallelizzare con fork.

Se avete in mente qualche features aprite una issue, così ne parliamo su github.

Divertente!



More information about the Not-wireless mailing list