NAT Slipstreaming es un ataque que, en su última versión conocida, permite a un atacante remoto el acceso contra cualquier dispositivo y servicio en una red interna saltándose los sistemas NAT/Firewall simplemente llevando a la víctima a una web con código malicioso y aprovechandose del protocolo ALG.

nat slipstreaming ataques informaticos XIII

 

Este ataque como podéis imaginar representa un riesgo para todos los dispositivos de la red ya que un atacante podría actuar contra cualquier vulnerabilidad conocida, pero especialmente para aquellos que no se suelen consideran como vulnerables y por ende reciben una menor atención en temas de actualización. Hablamos de dispositivos IoT, impresoras, dispositivos SCADA... Estos, suelen ser salvo más que honrosas excepciones dispositivos que se compran e instalan sin más y que jamás se actualizan ni a nivel de software ni de firmware, incluso en los raros casos en que el fabricante se preocupe de lanzar esas actualizaciones, por lo que ante cualquier vulnerabilidad descubierta estos dispositivos serán siempre vulnerables y ahora, NAT slipstream permite llegar a ellos.

El ataque NAT Slipstreaming original

El ataque NAT slipstreaming se basa en que la víctima acceda a una web con código malicioso, en este momento ese código engaña al NAT para que espere una conexión entrante desde Internet al dispositivo de la víctima.
Este ataque es independiente del navegador y dispositivo y no requiere ninguna interacción por parte del usuario salvo visitar una web con código malicioso, además de esto, lo único necesario es que el dispositivo de la víctima tenga activado ALG.

Recordemos que el Application-Level Gateway o ALG, es una funcionalidad que utilizan algunos protocolos de aplicación especiales como DNS, FTP o SIP para poder salir al exterior a través de una NAT. En estos casos, los datagramas pueden contener la dirección IP y el puerto en el campo de datos y no en la cabecera, por lo que sería un simple NAT sería incapaz de encontrarlos. Para ello se usa ALG que ayuda a NAT a interpretar esos datos contenidos en el campo de datos del datagrama.

Esto es lo que utiliza el ataque de NAT slipstreaming para llegar a estos dispositivos internos en la red, aprovecha esta capacidad de controlar la parte de datos de los datagramas para, desde la el navegador de la víctima, y cuando esta visite link malicioso inyectar código JavaScript malicioso en la petición hacia el servidor del atacante. De esta manera este servidor recibe una petición con los datos de como llegar a la víctima.

Este tráfico se construye de manera que el NAT crea que se ha generado efectivamente desde una aplicación que requiere una respuesta desde Internet, en este caso desde el atacante a la víctima y además que esto ocurra en un puerto a la elección del atacante. En este momento el atacante puede atacar directamente cualquier puerto de la víctima a través del cual explotar una vulnerabilidad.

NAT Slipstreaming 2.0

Con la primera versión del ataque, al necesitar que el propio dispositivo de la víctima visitase una web maliciosa, podríamos pensar que simplemente con limitar esa navegación web podríamos proteger a la mayoría de dispositivos o a aquellos críticos que no dispusieran de esta salida directa, pero para llevarnos la contraria se ha descubierto recientemente NAT Slipstrem 2.0. Esta nueva variante del ataque básicamente permite al atacante crear conexiones de vuelta contra cualquier dispositivo en la red y no solo contra aquel que ha visitado el link malicioso.

Esto es posible utilizando el ALG propio de H.323, que permite al atacante crear esta conexión a través del NAT/Firewall contra cualquier IP interna y contra cualquier puerto de estas IP. Aquí entra el problema que comentábamos de los dispositivos SCADA o IoT, ya que el atacante podría alcanzar todo este tipo de dispositivos y utilizar sus, por lo general, ampliamente conocidas y raramente corregidas vulnerabilidades.

Cómo prevenir el NAT Slipstream

El ataque se está tratando desde el punto de vista de los navegadores que ya están lanzando correcciones en sus últimas versiones para evitar este tipo de ataque, aquellos basados en Chromium identifican la vulnerabilidad via CVE-2020-16043 y Firefox vía CVE-2021-23961. Por lo que por el momento lo que se debe siempre recomendar es utilizar un navegador lo más actualizado posible y jamás utilizar, al menos en entornos de producción, aquellos fuera de soporte como Internet Explorer.