NAT Slipstreaming v2.0: cómo un sitio web puede abrir puertos en tu router

Fuentes: NAT Slipstreaming v2.0

NAT Slipstreaming es una técnica de ataque que permite a un sitio web remoto eludir el NAT y el cortafuegos de la víctima para alcanzar cualquier servicio TCP o UDP ligado a una máquina de su red local. La versión 1.0 fue publicada el 31 de octubre de 2020 por Samy Kamkar; la 2.0, lanzada el 26 de enero de 2021, es obra conjunta de Samy Kamkar con los investigadores Ben Seri y Gregory Vishnipolsky, de Armis.

El ataque explota el mecanismo ALG (Application Level Gateway), presente en NAT, routers y cortafuegos para soportar protocolos multi-puerto como SIP, FTP o IRC DCC. La cadena combina extracción de la IP interna del usuario (por temporización o WebRTC), descubrimiento remoto del MTU y de la fragmentación IP, manipulación del tamaño de paquetes TCP, uso indebido de la autenticación TURN, control preciso de los límites de paquete y confusión de protocolo mediante el navegador. Como es el propio NAT el que abre el puerto de destino, el ataque sortea las restricciones de puerto del navegador.

¿Para qué sirve y a quién afecta? Funciona contra prácticamente cualquier navegador moderno y se dirige a NAT que soporten ALG; permite acceso a servicios internos como impresoras, NAS o consolas de administración. Como contramedidas se recomienda desactivar ALG cuando sea posible y mantener el firmware actualizado. El código fuente y la prueba de concepto están disponibles en el repositorio de GitHub del autor.