DHCPwn: (otra) herramienta para saturar DHCPs

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...

6 comentarios :

  1. Excelente.... Solo "a nivel de switches y routers"???? si es así, entonces el que no tenga un cisco se jodió

    ResponderEliminar
    Respuestas
    1. no 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...

      Eliminar
    2. Es correcto pana y vale por la aclaración, pero hablas solamente de hardware. Cuales son las contramedidas para las redes definidas por software

      Eliminar
    3. Interesante 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?

      Eliminar
    4. buen 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?

      Eliminar