bitcoin prize

          "OLFATEAR EN SWITCHS"
                  "MAC-FLOODING" 
Una practica comun en las auditorias de seguridad es el sniffeo de los paquetes de redes , pero que pasa cuando esto no puede ocurrir,  es decir cuando no podemos obtener el trafico destinado a los demas si no solo el nuestro?, pues tenemos que hacer a como de lugar que el trafico pase por nosotros, una practica tan antigua como el hacking mismo es que el switch se comporte como un hub, un hub era un dispositivo que re-transmitia todos los paquetes de red de un puerto en todos los puertos es decir enviaba una tormenta de broadcast, este dispositivo quedo en desuso porque generaba muchos paquetes malformados, retransmisiones, y consumia mucho ancho de banda, por lo cual rapidamente fue sustituido por los switchs quienes son mas inteligentes y tienen incorporada una memoria para guardar los registros de las computadoras conectadas por sus diferentes puertos.

los switchs son mas inteligentes e incorporan una tabla llamada  "CAM" que es la responsable de guardar en buffer los puertos y las direcciones fisicas conectadas al switch,  pero aqui ocurrre un problema grave y el principal fallo de seguridad:
esta memoria es limitada.

El switch no aprende las direcciones por si solo, si no que,  las aprende cada vez que detecta una interfaz conectada y como sus paquetes pasan por este mismo.

a continuacion se muestra una imagen de un switch y un hub.
como vemos no hay notables diferencias fisicas, excepto por su funcionamiento:


 Como podemos observar el hub es solo una interfaz electronica que retransmite todo lo que conecta a su paso, es decir regenera todo lo que pasa a traves de el , no tiene nada de "inteligencia", contrario el switch tiene un ancho de banda dedicado y el trafico pasa unica y exclusivamente por ese puerto dedicado especifico.

Aqui se muestran imagenes breves de la tabla mac:


Lo que sucede con esta tabla es que llega un momento en el que no puede soportar mas direcciones fisicas(MAC) e inicia su transmision en un Modo De Repeticion similar a un hub, al crear este escenario ahoar si es posible sniffear todo lo que pase a traves del switch, pero claro esta, primero deberemos investigar muy bien la direccion de red del switch para poder efectuar este ataque,  tendremos que hacer una buena enumeracion para investigar los posibles switchs dentro de la empresa o a la victima que estemos auditando en ese momento.

Y como sabemos que estamos frente a un switch?
pues es facil, al estar dentro de la red que atacaremos ,el trafico no pasara delante de nosotros, aun asi, si lo ponemos en modo promiscuo, al estar en esta situacion tendremos que efectuar una enumeracion como lo anterior dicho y descubrir cual es verdaderamente la direccion de red del switch de la subred.

Funcionamiento del ataque:
1._cuando el switch debe aprender una direccion mac este envia un paquete ARP-BROADCAST
es decir un paquete con la direccion FFFF:FFFF:FFFF:FFFF y dice quien tiene esta ip? 192.168.0.2?
2._ El Host A envía una trama con dirección de destino bbbb.bbbb.bbbb. Esta trama es recibida por el Switch.
3.: El Switch lee la dirección de destino de la trama y la busca en su tabla de MACs. La dirección bbbb.bbbb.bbbb está asociada a la interfaz Fa0/2.
3.: El Switch reenvía la trama únicamente a través de la interfaz Fa0/2 y esta es recibida por el Host B.

Este es un ejemplo muy sencillo de la lógica de reenvío utilizada por los Switchs, pero aún nos faltan un par de detalles importantes por conocer para entender bien el ataque "MAC Flood"...

 Un detalle importante es que el switch cada vez que recibe una trama, lee la mac de origen y la asocia a su interfaz conectada de la cual fue recibida, una sola interfaz puede estar asociada con multiples macs dependiendo de las estaciones conectadas, por ejemplo una interfaz del switch que conecta asu vez con otro switch recibira por su boca multiples direcciones mac, que tendran asociadas diferentes direcciones de origen que todas seran asociadas  asu vez a la misma interfaz del switch.

 Y si el switch recibe una direccion fisica de destino que no esta en su tabla?
aqui reside la esencia elegante del ataque , como el switch no sabe por cual interfaz debe reenviar la trama entonces la reenvia por medio de una tormenta de broadcast a traves de todas sus interfaces, si existe ese "destino" entonces responda ala solicitud entonces el envio vuelve a ser unicast, es decir de un solo sentido, el switch a partir de ahora asociara la mac con la interfaz por donde se recibio la respuesta.

un aspecto importante de este ataque es que si la tabla se llena se sobreescribiran las nuevas direcciones mas con las antiguas y estas a su vez por las que vayan llegando.

Y que pasa si una memoria del switch llega su limite?
el switch leera la direccion de destino en su tabla mac y no encontrara la mac de destino porque la tabla ha alcanzado su punto maximo , se rendira y enviara todo por broadcast.

si ejecutamos un ponemos en modo escucha el switch con wireshark podemos ver todo el trafico que no va destinado a nosotros, es decir habremos forzado a que envie todo por todos los puertos.

la herramienta mas popular para este caso es Macof,  este programa genera muchas direcciones mac falsificadas con destino al router para que este mismo se confunda con lo anterior explicado.

aqui una imagen del macof y su ataque:

Conclusion:
para evitar este ataque debemos poner direcciones con reglas ACL bien especificas y tablas estaticas, ademas debemos conectarlos al port security para configurar el numero maximo de direcciones mac que el switch puede aprender para que el atacante no pueda regenerar muchas mac falsificadas.
el otro metodo preventivo es usar autenticacion entre el origen y el destino con el protocolo 802.x para que haya una negociacion cada vez que se quieran comunicar,  si el atacante envia una mac falseada esta se rechazara y le prohibira el acceso al switch previniendo la inundacion de las direcciones falseadas.

Referencias:
nos vemos en otro articulo.
Luis Stuxnet

0 comments:

Publicar un comentario

My Instagram

Uso cookies para darte un mejor servicio.
Mi sitio web utiliza cookies para mejorar tu experiencia. Acepto Leer más