Clicky

Nuevo ataque permite a los hackers eludir la protección del firewall y acceder a cualquier servicio TCP/UDP

NAT Slipstreaming

Llamado NAT Slipstreaming, funciona aprovechando la segmentación de paquetes TCP e IP

Una nueva investigación ha mostrado una técnica que permite a un atacante eludir la protección del firewall y acceder de forma remota a cualquier servicio TCP/UDP en una máquina víctima.

Llamado NAT Slipstreaming, el método implica enviar al objetivo un enlace a un sitio malicioso (o un sitio legítimo cargado con anuncios maliciosos) que, cuando se visita, finalmente activa la puerta de enlace para abrir cualquier puerto TCP/UDP en la víctima, evitando así restricciones de puerto basadas en el navegador.

Los hallazgos fueron revelados durante el fin de semana por el investigador de privacidad y seguridad Samy Kamkar.

"NAT Slipstreaming explota el navegador del usuario junto con el mecanismo de seguimiento de conexión de Application Level Gateway (ALG) integrado en NAT, enrutadores y firewalls al encadenar la extracción de IP interna a través de un ataque de tiempo o WebRTC, detección remota automatizada de MTU y fragmentación de IP, masaje de tamaño de paquete TCP, uso indebido de autenticación TURN, control preciso de límites de paquetes y confusión de protocolo a través del abuso del navegador", dijo Kamkar en un análisis.

La técnica se llevó a cabo utilizando un enrutador NetGear Nighthawk R7000 con la versión 2.6.36.4 del kernel de Linux.

Determinación de los límites de los paquetes

La Traducción de Direcciones de Red (NAT) es el proceso en el que un dispositivo de red, como un firewall, reasigna un espacio de direcciones IP a otro modificando la información de la dirección de red en el encabezado IP de los paquetes mientras están en tránsito.

La principal ventaja es que limita la cantidad de direcciones IP públicas utilizadas en la red interna de una organización y mejora la seguridad al permitir que una única dirección IP pública se comparta entre múltiples sistemas.

NAT Slipstreaming funciona aprovechando la segmentación de paquetes TCP e IP para ajustar de forma remota los límites del paquete y usándolo para crear un paquete TCP/UDP comenzando con un método SIP como REGISTER o INVITE.

fragmentación de paquetes en el ataque NAT Slipstreaming

SIP (abreviatura de Session Initiation Protocol) es un protocolo de comunicaciones que se utiliza para iniciar, mantener y finalizar sesiones multimedia en tiempo real para aplicaciones de mensajería, video y voz.

En otras palabras, se puede utilizar una combinación de segmentación de paquetes y solicitudes SIP de contrabando en HTTP para engañar a NAT ALG para que abra puertos arbitrarios para conexiones entrantes al cliente.

Para lograr esto, se envía una solicitud HTTP POST grande con una ID y un formulario web oculto que apunta a un servidor de ataque que ejecuta un rastreador de paquetes, que se utiliza para capturar el tamaño de MTU, el tamaño del paquete de datos, tamaños de encabezado TCP e IP, entre otros, y posteriormente transmitir los datos de tamaño al cliente víctima a través de un mensaje POST separado.

Además, también abusa de una función de autenticación en TURN (Traversal Using Relays around NAT), un protocolo que se usa junto con NAT para retransmitir medios desde cualquier par a otro cliente en la red, para llevar a cabo un desbordamiento de paquetes y causar la fragmentación de paquetes IP.

La idea, en pocas palabras, es desbordar un paquete TCP o UDP rellenando (con caracteres "^") y forzarlo a dividirse en dos para que el paquete de datos SIP esté al comienzo del límite del segundo paquete.

Conectar a TCP/UDP a través de la alteración de paquetes

En la siguiente etapa, la dirección IP interna de la víctima se extrae utilizando WebRTC ICE en navegadores modernos como Chrome o Firefox o ejecutando un ataque de tiempo en puertas de enlace comunes (192.168.*.1, 10.0.0.1 y redes locales).

"Una vez que el cliente obtiene los tamaños de los paquetes y la dirección IP interna, construye un formulario web especialmente diseñado que rellena los datos POST hasta que creemos que el paquete se fragmentará, en ese momento se agrega nuestro REGISTRO SIP que contiene la dirección IP interna", señaló Kamkar. "El formulario se envía a través de Javascript sin el consentimiento de la víctima".

Justo cuando los paquetes llegan al servidor de ataque y se determina que el paquete SIP no se reescribe con la dirección IP pública, se envía un mensaje automático al cliente, pidiéndole que ajuste el tamaño del paquete a un nuevo límite basado en los datos obtenidos previamente del rastreador.

Armado con el límite de paquete correcto, el NAT es engañado pensando que "este es un registro SIP legítimo y de un cliente SIP en la máquina de la víctima", lo que eventualmente hace que el NAT abra el puerto en el paquete original enviado por la víctima.

"El enrutador ahora reenviará cualquier puerto que el atacante elija a la víctima interna, todo desde simplemente navegar a un sitio web", dijo Kamkar.

El código completo de prueba de concepto para NAT Slipstreaming se puede encontrar aquí.

Jesus_Caceres