El protocolo NAT-PMP (Port Mapping Protocol) es un protocolo implementado en múltiples routers domésticos y otros dispositivos de red. Este protocolo permite que un equipo detrás de un router haciendo NAT, configure automáticamente el router para permitir conexiones a servicios TCP y UDP internos, de lo contrario se tendrían que abrir puertos manualmente.
Un claro ejemplo del uso de NAT-PMP es por ejemplo en programas de intercambio P2P como uTorrent, este programa permite auto-configurar el router para abrir los puertos TCP que necesita, sin necesidad de crear una regla nueva en «Port Forwarding» o también conocido como «Reenvío de puertos», así no tendremos que saber el número de puerto, el protocolo que usa (TCP o UDP) ni tampoco la dirección IP privada del ordenador en cuestión, facilitando enormemente el uso de estos programas.
En la siguiente captura, se puede ver cómo se activa el mapeo de puertos NAT-PMP en uTorrent:
Los investigadores de Rapid7, han descubierto que hay aproximadamente 1,2 millones de dispositivos en Internet con una implementación de NAT-PMP incorrecta, por lo que serían vulnerables a distintos ataques. Algunas de las vulnerabilidades que han encontrado son por ejemplo que algunos equipos permiten interceptar el tráfico NAT interno, también se podría interceptar el tráfico NAT externo (este es el problema más común, ya que el 86% de dispositivos afectados tienen este problema). Otros problemas es que por ejemplo se podría acceder a los servicios de los clientes NAT internos, hacer denegación de servicio contra el host e incluso obtener información sobre el dispositivo.
Estas vulnerabilidades residen en configuraciones incorrectas de miniupnpd, el demonio UPnP que soporta NAT-PMP y que se usa ampliamente en los firmwares basados en Linux. Desde la versión 1.8.20141022, miniupnpd descarta los paquetes NAT-PMP recibidos en la interfaz de Internet (WAN) y el archivo de configuración permite configuraciones más seguras.
Algunos de los fabricantes afectados son NETGEAR, Technicolor, Ubiquiti Networks, ZTE y ZyXEL. Os recomendamos visitar este post de Rapid7 donde se detallan todos los fallos de seguridad encontrados.
Os recomendamos leer el tutorial sobre qué es y para qué sirve en los routers el puerto WAN.