Hace más de 6 años ya os hablamos de DHCP starvation, un ataque que consiste en realizar numerosas peticiones DHCP_REQUEST con direcciones MAC falsas a un servidor DHCP con el objetivo de agotar su espacio de direcciones asignables. De esta manera el servidor DHCP no será capaz de asignar más direcciones IP a los clientes que la soliciten impidiendo que puedan acceder inmediatamente a la red correspondiente.
Esta denegación de servicio temporal puede hacerse con herramientas de red/generadores de paquetes como Yersinia o Scapy, o sencillos scripts como el que vimos hace tiempo en bash, o por ejemplo DHCPig (basado en scapy).
Pero hoy, para volver a recordaros la existencia de este tipo de ataques y para añadir una herramienta más a vuestro arsenal, queríamos presentaros DHCPwn, otra herramienta en Python para saturar servidores DHCP.
Instalación:
$ git clone https://github.com/mschwager/dhcpwn.git
$ pip install -r requirements.txt
Uso:
Flood:
$ dhcpwn --interface wlan0 flood --count 256
Sniff:
$ dhcpwn --interface wlan0 sniff
Help:
$ dhcpwn -h
Recordar que este ataque de consumo de direcciones DHCP puede ser evitado fácilmente a nivel de switches y routers mediante DHCP Snooping y Dynamic ARP Inspection (DAI):
http://www.cisco.com/c/en/us/products/collateral/switches/catalyst-6500-series-switches/white_Paper_C11_603833.html
Básicamente podemos limitar el número de direcciones IP o simplemente configurar el switch para que sólo "aprenda" una MAC por puerto. También limitar el número de conexiones al servidor DHCP del router, o si lo preferís existen otras contra-medidas como 802.1x o reglas IPS.
Y vosotros ¿aplicáis alguna? Recordar que no siempre los enemigos están detrás del firewall...
Esta denegación de servicio temporal puede hacerse con herramientas de red/generadores de paquetes como Yersinia o Scapy, o sencillos scripts como el que vimos hace tiempo en bash, o por ejemplo DHCPig (basado en scapy).
Pero hoy, para volver a recordaros la existencia de este tipo de ataques y para añadir una herramienta más a vuestro arsenal, queríamos presentaros DHCPwn, otra herramienta en Python para saturar servidores DHCP.
Instalación:
$ git clone https://github.com/mschwager/dhcpwn.git
$ pip install -r requirements.txt
Uso:
Flood:
$ dhcpwn --interface wlan0 flood --count 256
Sniff:
$ dhcpwn --interface wlan0 sniff
Help:
$ dhcpwn -h
Recordar que este ataque de consumo de direcciones DHCP puede ser evitado fácilmente a nivel de switches y routers mediante DHCP Snooping y Dynamic ARP Inspection (DAI):
http://www.cisco.com/c/en/us/products/collateral/switches/catalyst-6500-series-switches/white_Paper_C11_603833.html
Básicamente podemos limitar el número de direcciones IP o simplemente configurar el switch para que sólo "aprenda" una MAC por puerto. También limitar el número de conexiones al servidor DHCP del router, o si lo preferís existen otras contra-medidas como 802.1x o reglas IPS.
Y vosotros ¿aplicáis alguna? Recordar que no siempre los enemigos están detrás del firewall...
Excelente.... Solo "a nivel de switches y routers"???? si es así, entonces el que no tenga un cisco se jodió
ResponderEliminarno sólo en switches Cisco se pueden aplicar estas contramedidas. Por ejemplo DHCP Snooping también se puede configurar en HP ProCurve, Alcatel-lucent OmniSwitch, Netgear...
EliminarEs correcto pana y vale por la aclaración, pero hablas solamente de hardware. Cuales son las contramedidas para las redes definidas por software
EliminarInteresante y una buena pregunta... supongo que en SDNs es similar salvo que hay un controlador que es el que debe distribuir la config (incluido el dhcp snooping) al hardware, que al fin al cabo sigue siendo el datapath. ¿Alguien con experiencia en SDNs?
Eliminarbuen post. un saludo desde venezuela. el debate es interesante. ¿perdona mi ignorancia pero en linux serà que se puede mitigar con alguna regla de iptables o en el servidor dhcp o en otro lado?
Eliminarcon ARPon
ResponderEliminar