21 votos

¿Cómo funciona el software de sniffing de red a través de un switch?

Tenemos varios conmutadores estándar no gestionados de 3com en una red. Pensaba que los switches sólo debían enviar paquetes entre pares de una conexión.

Sin embargo, parece que el software de detección de redes que se ejecuta en un ordenador conectado a uno de los conmutadores es capaz de detectar el tráfico (es decir, la transmisión de vídeo de YouTube, páginas web) de otros ordenadores conectados a otros conmutadores de la red.

¿Es esto posible o la red está completamente rota?

1 votos

0 votos

Mi experiencia sugiere una situación más parecida al caso de la respuesta de David. El ordenador que husmea parece estar recibiendo no algunos sino todos los paquetes, pero todos los demás ordenadores están transmitiendo.

0 votos

¿Estás seguro de que no estás viendo sólo tráfico de transmisión en el software de sniffing? Sólo porque veas algo, no significa que lo estés viendo todo.

23voto

jfgagne Puntos 796

Para completar la respuesta de David, un switch aprende quién está detrás de un puerto mirando las direcciones MAC de los paquetes recibidos en ese puerto. Cuando el switch está encendido, no sabe nada. Una vez que el dispositivo A envía un paquete desde el puerto 1 al dispositivo B, el switch aprende que el dispositivo A está detrás del puerto 1, y envía el paquete a todos los puertos. Una vez que el dispositivo B responde a A desde el puerto 2, el conmutador sólo envía el paquete por el puerto 1.

Esta relación entre la MAC y el puerto se almacena en una tabla en el switch. Por supuesto, muchos dispositivos pueden estar detrás de un solo puerto (si se conecta un switch al puerto, por ejemplo), por lo que puede haber muchas direcciones MAC asociadas a un solo puerto.

Este algoritmo se rompe cuando la tabla no es lo suficientemente grande para almacenar todas las relaciones (no hay suficiente memoria en el conmutador). En este caso, el switch pierde información y comienza a enviar paquetes a todos los puertos. Esto se puede hacer fácilmente (ahora ya sabes cómo hackear tu red) falsificando muchos paquetes con diferentes MAC desde un solo puerto. También se puede hacer falsificando un paquete con la MAC del dispositivo que quieres espiar, y el switch comenzará a enviarte el tráfico de ese dispositivo.

Los switches gestionados pueden ser configurados para aceptar una sola MAC de un puerto (o un número fijo). Si se encuentran más MACs en ese puerto, el switch puede apagar el puerto para proteger la red, o enviar un mensaje de registro al administrador.

EDITAR:

Sobre el tráfico de youtube, el algoritmo descrito anteriormente sólo funciona en el tráfico unicast. La difusión Ethernet (ARP como ejemplo), y la multidifusión IP (utilizada a veces para el streaming) se manejan de manera diferente. No sé si youtube utiliza multicast, pero podría ser un caso en el que se puede olfatear el tráfico que no le pertenece.

Sobre el tráfico de la página web, esto es extraño, ya que el handshake TCP debería haber establecido la tabla de MAC a puerto correctamente. O la topología de la red tiene en cascada un montón de switches muy baratos con tablas pequeñas que siempre están llenas, o alguien está jugando con la red.

0 votos

Intentaré aprender modelos de interruptores e informaré. ¿Podría ser el culpable un interruptor barato situado en la parte superior de la topología de la red? Supongo que en ese caso la cosa se complica aún más. ¿Cuál sería la política de un switch si un paquete que no pertenece a ninguno de sus puertos llega desde el switch barato situado por encima de él en la topología?

0 votos

Si un paquete llega a un conmutador, y la dirección MAC de destino de este paquete no se conoce, el paquete se envía a todos los puertos (incluso si el conmutador es gestionado o no gestionado, y el hecho de que el paquete venga de un conmutador o de un dispositivo no es importante). Además, la tabla se actualiza con la dirección MAC de origen del paquete, lo que dará lugar a muchas posibilidades: que no haya ningún problema con la actualización, que la tabla esté llena y la adición elimine una entrada válida, o que la actualización elimine una relación válida entre la MAC y el puerto. Los dos últimos casos conducen a problemas en la red.

6voto

David Schwartz Puntos 22683

Este es un malentendido común. A menos que esté configurado estáticamente, un conmutador debe enviar cada paquete por cada puerto en el que no puede demostrar que no necesita enviar ese paquete.

Esto podría significar que un paquete sólo se envía al puerto que contiene el dispositivo de destino. Pero esto no puede ser siempre así. Por ejemplo, considera el primer paquete que recibe el switch. ¿Cómo podría saber a qué puerto enviarlo?

Suprimir que los paquetes se envíen por el puerto "equivocado" es una optimización que un switch utiliza cuando puede. No es una función de seguridad. Los conmutadores gestionados suelen proporcionar seguridad real en los puertos.

4 votos

La frase que buscas es "inundación de cuadros hacia destinos desconocidos".

0voto

lutzky Puntos 101

Es posible que el envenenamiento de la caché ARP esté en efecto. Esta es una técnica utilizada, a menudo de forma maliciosa, para husmear en una red conmutada. Esto se hace convenciendo a todas las máquinas de la red de que todas las demás tienen tu dirección MAC (usando el protocolo ARP). Esto hará que el conmutador reenvíe todos los paquetes a su máquina - usted querrá reenviarlos después del análisis. Esto es comúnmente usado en ataques man-in-the-middle, y está disponible en varias herramientas de sniffing como Cain & Abel o ettercap.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: