Una nueva investigación ha demostrado 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í el navegador. restricciones de puerto basadas.
![](https://thehackernews.com/images/-1QGnkWEq714/X5_0aquEa_I/AAAAAAAAA80/50Ho3rP7iXAprR3hv0SKnuSQzcCwC75JwCLcBGAsYHQ/s728-e1000/firewall-bypass-NAT-Slipstreaming.jpg)
Los hallazgos fueron revelados por el investigador de privacidad y seguridad Samy Kamkar durante el fin de semana.
«NAT Slipstreaming explota el navegador del usuario junto con el mecanismo de seguimiento de conexión 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, el descubrimiento de fragmentación de IP y MTU remoto automatizado, tamaño de paquete TCP el masaje, el uso indebido de la autenticación TURN, el control preciso de los límites de los paquetes y la confusión del protocolo por 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 direcciones 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.
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 voz, video y mensajería.
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 , tamaño de paquete de datos, tamaños de encabezado TCP e IP, entre otros. 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 de cualquier par a otro cliente en la red, para llevar a cabo un desbordamiento de paquetes y causar paquetes IP. fragmentar.
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.
Conéctese 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 usando 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á, momento en el que se agrega nuestro REGISTRO SIP que contiene la dirección IP interna», Kamkar célebre. «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. obtenido previamente del rastreador.
Armado con el límite de paquete correcto, el NAT es engañado al pensar, «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.