Cargando



Ataque Port Stealing Simple

Tutorial sobre Seguridad IT explicando el ataque Port Stealing, detallando en qué consiste. Y viendo que incluso puede cambiar a un ataque Man in the middle.



oct 28 2014 14:52
Profesional
oct 28 2014 15:01
En una red conmutada, como por ejemplo una red Ethernet LAN doméstica, un switch o conmutador es el dispositivo utilizado para la interconexión de dispositivos de red.

El Switch utiliza la capa de Enlace para realizar la conmutación de tramas de red. En un escenario típico, Bob envía una trama de red especificando su dirección MAC como remitente (sender) y la dirección de Alice como destino, y envía la trama a través de su conexión física al Switch. Cuando el Switch recibe la trama, asocia la dirección de Bob (sender) al puerto por donde “entró la trama” al Switch; esta asociación es almacenada en una tabla conocida como “Tabla CAM”.


Pueden existir múltiples direcciones MAC asociadas a un mismo puerto del Switch, pero cada dirección MAC estará asociada a uno y solo un puerto del Switch. Una vez asociada la dirección de Bob, el Switch busca en la tabla CAM la dirección MAC de destino y procede a reenviar la trama recibida a través del puerto asociado (y solo por ese puerto).

El algoritmo no contempla validación, y el mecanismo de actualización de la tabla CAM se encuentra supeditado a la recepción de tramas, de modo tal que la dirección MAC de Bob seguirá asociada al puerto hasta que “se cumpla un tiempo de vencimiento”, o bien el Switch reciba una trama con la dirección MAC de Bob por otro puerto. Esto último por ejemplo ocurriría si Bob desconecta su cable de red del puerto “1” y conecta el mismo al puerto “2”; en el instante siguiente, si Bob envía una trama, el Switch detectará la MAC de Bob ingresando por el puerto “2” y actualizará la entrada en la tabla CAM.

En adelante, cualquier trama que Alice envíe a Bob, será encaminada al puerto que registre en la tabla CAM la dirección MAC de Bob.

Las direcciones MAC de dispositivos deben ser únicas en redes Ethernet, ya que si dos sistemas tienen la misma dirección MAC y conectan en distintos puertos del Switch, provocarán la actualización de la tabla CAM por cada trama enviada, provocando una condición de carrera por la asociación del puerto en la tabla CAM. Luego, por cada trama recibida, el Switch entregará la trama en el puerto que se encuentre asociado en el momento de procesar la misma, sin posibilidad de determinar para cuál de los dos sistemas con misma dirección MAC corresponde el tráfico de red.

La aplicación de la técnica denominada “Port Stealing” o “Robo de Puerto” en ataques informáticos, consiste básicamente en inducir una actualización de la tabla CAM de un Switch, con información de direccionamiento manipulada, de modo tal que el conmutador asocie una dirección MAC específica (sistema víctima) con el puerto conectado al dispositivo que aplica dicha técnica.

Un “Atacante” podría entonces forzar al Switch a asociar la dirección MAC de Bob al puerto donde se encuentra conectado su equipo, recibiendo así las tramas de red destinadas a la dirección MAC de Bob.

Opcionalmente el Atacante optará por reenviar las tramas o no, acción que derivará en un ataque de tipo Hombre en el Medio (MitM) o de Denegación de Servicio (DoS) respectivamente. Existe una gran variedad de aplicaciones que permiten aplicar esta técnica. A continuación se indicará un procedimiento simple utilizando GNU/Linux.

Sistemas involucrados
Bob AA:BB:CC:11:22:33 (192.168.0.1/24)
Alice AA:BB:CC:22:33:44 (192.168.0.2/24)
Atacante AA:BB:CC:33:44:55 (192.168.0.3/24)


Para el sistema atacante se utilizará GNU/Linux Ubuntu y el comando arping (versión por Thomas Habets).

Para aplicar la técnica Port Stealing utilizando arping, ejecutar como root:

# arping -s MAC_VICTIMA IP_DESTINO -S IP_ORIGEN -i INTERFAZ_LAN

Donde
MAC_VICTIMA: dirección MAC del sistema al que se pretende “robar el puerto”.
IP_DESTINO: al tratarse de un mensaje ARP request, se debe indicar una dirección IP de destino.
IP_ORIGEN: dirección IP origen o sender del mensaje ARP.
INTERFAZ_LAN: nombre de la interfaz de red a utilizar.


Desde el sistema Atacante generar tramas cuya MAC origen coincida con la MAC de la víctima, Bob:

port-stealing2.jpg


El comando arping toma el argumento -s para indicar la dirección MAC de origen o sender, por ello se especifica la dirección MAC de la víctima Bob.

El argumento -S determina la dirección IP origen, en este caso 2.2.2.2 (es opcional y arbitrario).
De no ser especificado, se tomará la dirección IP configurada en el adaptador de red.

La dirección IP 1.1.1.1 es la dirección de destino y, dado que el objetivo es solo “confundir al Switch”, el valor seleccionado es totalmente arbitrario pero requerido.

Este comando genera tráfico ARP con MAC origen AA:BB:CC:11:22:33:


Una vez asociado el puerto del Atacante con la dirección MAC de Bob, todas las tramas dirigidas a Bob serán encaminadas al puerto del Atacante:


A partir de este punto, el Atacante entra en condición de carrera con Bob. Cualquier trama que Bob envíe forzará la actualización de la tabla CAM. Un atacante podría especificar la frecuencia en la que envía mensajes ARP el comando arping mediante el parámetro -w:

# arping -s AA:BB:CC:11:22:33 1.1.1.1 -S 2.2.2.2 -w 1

El valor “1” para el parámetro “-w” indica que arping espera 1 microsegundo antes de enviar el siguiente mensaje. De este modo el atacante actuará con ventaja para obtener el puerto de la víctima.

Respecto a las direcciones IP de origen y destino, no existe observación particular, dado que no interesa que se resuelva la consulta ARP, sino que, a términos de la aplicación del ataque de robo de puerto, bastará con que la trama indique la MAC origen de la víctima.

Un sistema antivirus, IDS, o la inspección de tráfico de red podría revelar actividad sospechosa en la red, por lo que un Atacante podría preferir indicar datos concordantes con la actividad “normal” del tráfico de red:

# arping -s AA:BB:CC:11:22:33 192.168.0.2 -S 192.168.0.1 -t AA:BB:CC:22:33:44

Donde
MAC_ORIGEN: MAC de Bob, AA:BB:CC:11:22:33
IP_DESTINO: IP de Alice, 192.168.0.2
IP_ORGIEN: IP de Bob, 192.168.0.1
MAC_DESTINO: MAC de Alice, AA:BB:CC:22:33:44


Revisando el tráfico de red, se observarán consultas ARP:


El Atacante especifica la dirección MAC de destino con la dirección MAC de Bob (requerido, dado que Bob es el sistema al que se intenta “robar el puerto”).

El mensaje ARP ha sido dirigido directamente a la dirección IP de Alice, adicionalmente se ha especificado la dirección MAC de Alice para intentar forzar la entrega del mensaje ARP directamente a Alice y evitar un control por Broadcast.

Finalmente, el Atacante indica como dirección IP de origen la IP de Bob, para que el mensaje ARP contenga información válida a pesar de no ser legítimo. Esto último podría evitar la detección de la anomalía, ya que si la dirección MAC e IP de origen no coinciden con una entrada ARP anteriormente registrada, algunos sistemas antivirus podrían suponer actividad de ARP Spoofing.

Hasta este punto, el atacante obtiene las tramas que los demás hosts de la red envían a la víctima. Esta condición desenlaza un escenario de ataque de denegación de servicio ya que las tramas no solo son entregadas al Atacante sino que nunca llegan a la víctima.

Opcionalmente el Atacante podría reenviar las tramas a su víctima induciendo un ataque de hombre en el medio (Man in the middle), para el tráfico enviado hacia Bob.

¿Te ayudó este Tutorial?


13 Comentarios


Tomas Garcia
oct 28 2014 15:04
De cine, el tutorial, estaba revisando ataques de este tipo y man in the middle. Muy bien explicado Silvestre.

David Sanz
oct 28 2014 15:09
Una vez sufrí un ataque de este estilo, muy bien explicado. Otro día me animo y realizaré yo uno que conozco bien jeje.

Silvestre Figueroa
oct 28 2014 15:50
Gracias gente, esta es mi primer participación.
Próximamente subiré un tuto para derivar este ataque en un Man in the Middle.
Desafortunadamente para los que administramos IT, es un ataque simple, efectivo y con gran impacto.
Este no lo entendía muy bien, genial explicación, gracias.

Marquitos30
oct 28 2014 20:14
¿Silvestre, este tipo de ataques los puede sufrir equipos MAC? Gracias por el tutorial muy útil.

saludos.

Fiore Nella
oct 28 2014 20:53
Lo he testeado, la verdad que está muy bien explicado. Genial que hagas el desarrollo a Man in the Middle.

Silvestre Figueroa
oct 28 2014 22:55

¿Silvestre, este tipo de ataques los puede sufrir equipos MAC? Gracias por el tutorial muy útil.

saludos.



Lamentablemente SI.
La técnica Port Stealing está basada en el funcionamiento del Switch, por lo que no importa qué o cuál dispositivo esté conectado.. el hack es sobre el conmutador de la red. Es por eso mismo que no hay antivirus, sistema operativo ni firewall que pueda ayudarnos a evitar el ataque.

Existen algunas soluciones basadas en Switches administrables, un poco fuera de lo común... pero no hablamos del Switch estándar. Una opción es cargar de manera estática la tabla CAM pero esta opción no es estándar y no es practicable en redes muy grandes (ni hablar de su "no escalabilidad").

Slds.

Marquitos30
oct 29 2014 13:51

Lamentablemente SI.
La técnica Port Stealing está basada en el funcionamiento del Switch, por lo que no importa qué o cuál dispositivo esté conectado.. el hack es sobre el conmutador de la red. Es por eso mismo que no hay antivirus, sistema operativo ni firewall que pueda ayudarnos a evitar el ataque.

Existen algunas soluciones basadas en Switches administrables, un poco fuera de lo común... pero no hablamos del Switch estándar. Una opción es cargar de manera estática la tabla CAM pero esta opción no es estándar y no es practicable en redes muy grandes (ni hablar de su "no escalabilidad").

Slds.


Muchas gracias por tu respuesta. Lo tendré en cuenta en mi Oficina (Es todo Apple)

Saludos experto en seguridad

Noemi Lopez
oct 29 2014 14:31
El de Man in the Middle me viene genial para entenderlo bien. Gracias por tus aportaciones Silvestre. Te he votado 5 estrellas.

Silvestre Figueroa
oct 29 2014 14:58

El de Man in the Middle me viene genial para entenderlo bien. Gracias por tus aportaciones Silvestre. Te he votado 5 estrellas.


Muchas gracias! Seguro vuelvo sobre el tema pronto!
Colección de diferentes ataques sería la repera hehe. Buen tuto.
Genial tutorial Silvestre thx

Marquitos30
feb 25 2015 13:21

Puedo certificar que este tipo de ataques también se sufren en los MAC. Gracias Silvestre por el tutorial. muy buen aporte.

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!

X