router-12.jpg

Vulnerabilidades de Seguridad en UPnP ponen en riesgo de ser comprometidos, una gran cantidad de dispositivos de redes casero. La última fue revelada a inicios de Agosto, pero el aviso data del 31 de agosto. Es llamado Filet-o-Firewall y combina una serie de vulnerabilidades y debilidades en los protocolos de enrutamiento y los navegadores, que pueden exponer un equipo a internet aun esté detrás de un firewall.

El objetivo principal es el servicio UPnP, que corre en casi todos los dispositivos de redes caseros y según el aviso y la investigación de un investigador de seguridad, el ataque puede ejecutarse en pocos segundos y cualquier router corriendo UPnP esta en riesgo.

Los Exploits contra esta vulnerabilidad le permite al atacante acceso a la red, pero no necesariamente ponen en riesgo la información del usuario, pero un poco de esfuerzo y conocimiento de parte del atacante lo puede llevar a atacar otros equipos en la red y en este punto si la información estaría en riesgo.

Según el investigador, el ataque funciona accediendo a sitios que contienen código de explotación desde un navegador, en este caso las pruebas fueron realizadas usando Chrome y Firefox. Si el navegador es configurado para correr javascript, el ataque forzará al browser a hacer un request Upnp al Firewall, exponiendo la red a Ataque.

Una lista de Equipos afectados están siendo recopilados en un sitio,y el investigador esta solicitando ayuda para agregar mas dispositivos vulnerables a la lista.

Esta Vulnerabilidad no reside especificamente en un código, sino, que es el resultado de combinar varios ataques en uno, con el objetivo de atacar el servicio UpnP en los Routers caseros. Según el aviso de CERT, los routers que implementa UpnP no implementa estándares de seguridad, porque fue creado para ser usado en redes privadas, falta autenticación y los esfuerzos para crear y desplegar los estándares de seguridad nunca han sido implementadas por completo.

La Explotación exitosa de Filet-o-Firewall le podría permitir a un atacante abrir puertos en el Firewall y ejecutar comandos administrativos en los routers.

Detallando el Ataque

La idea principal es que es necesario comunicarse con el Firewall del usuario en el puerto que usa para UpnP el URL Correcto que utiliza. Esta información usualmente es estática en las implementaciones y es ahí donde reside la vulnerabilidad. Si el atacante conoce la infomación, solo debe diseñar un sitio que interactue con el router del usuario, en el puerto y URL correctos.

Ataques Combinados
  • DNS Rebind
  • JavaScript Port Scanner
  • WebRTC Private IP Disclosure
Ataque Paso a Paso
  1. El usuario visita el sitio principal
  2. Este sitio contiene Código WebRTC que extrae la IP Privada del usuario
  3. El código JavaScript escanea el Gateway del usuario en busca de puertos UpnP
  4. El Código JavaScript envia los puertos descubiertos al servidor del atacante
  5. El Servidor del atacante retransmite la información a través de Memcache al servidor DNS del Atacante
  6. El JavaScript redirige al usuario a un dominio único creado para el usuario y el puerto UpnP descubierto
  7. El Servidor DNS del atacante retorna la consulta al dominio único como múltiples respuesta de record A ( La primera siendo el servidor Web del atacante y la segunda la IP del Gateway del usuario)
  8. El Browser del usuario es redireccionado a ese dominio e inicialmente alcanza el servidor web del atacante
  9. Una vez el Javascript inicia, notifica al atacante que está listo para ejecutar el ataque
  10. El Servidor del atacante implementa una reglas de Iptables para bloquear el tráfico de la IP del usuario al puerto UpnP
  11. El Javascript inicia intentando consultar el Gateway del usuario
  12. La primera consulta Falla, y el Browser intentará con el segundo record
  13. Ahora el Browser envia consultas al Gateway del usuario en el puerto UpnP
  14. El próximo paso es que el Javascript encuentre la URL de control. Esto se encuentra en el XML que el disposirivo entrega sobre como hacer consultas a su servicio UpnP
  15. El Javascript accede a varias URL antes de encontrar el Archivo XML correcto.
  16. Una vez encuentra el XML Correcto, el Javascript hace consultas UpnP a una serie de puertos para abrir el tráfico entre la IP del Gateway y la IP del usuario
  17. El Javascript envía al servidor del atacante una lista del mapeo de las Direcciones Públicas a las Privadas
  18. El Próximo paso, el Javascript empieza a abrir todos los dispositivos de la red del usuario
  19. El Javascript hace una última entrega con el mapeo actualizado de las direcciones.

Existe una prueba de concepto para explotar la vulnerabilidad, pueden acceder al repo, hacer las pruebas y en caso de que el equipo no se encuentre en la lista que les menciona, pues a notificar.

Como no existe una solución por el momento, es recomendable seguir estas recomendaciones.

  • No seguir Links Desconocidos.
  • Deshabilitar UpnP
  • Generar los UUID de forma aleatoria en la URL de Control
  • Implementar los últimos estándares UpnP
  • Autenticar el equipo antes de poder realizar una petición UPnP

Aquí les dejo un demo del ataque realizada por el investigador.

 

Fuente: ThreatPost | Filet-o-Firewall | jsitech

¿Quién está en línea?

Hay 1219 invitados y ningún miembro en línea