Funcionamiento de UPnP:UPnP (Universal Plug and Play), es un conjunto de protocolos que
permite el intercambio de información y datos entre los dispositivos
conectados a una red que soporten UPnP, de forma independiente al
fabricante, sistema operativo, lenguaje de programación…
Un
dispositivo con UPnP activado, puede controlar otros dispositivos UPnP
tales como cortafuegos y routers, de forma automática y sin
autenticación. Por ejemplo el Messenger utiliza UPnP para abrir
automáticamente puertos en el router que tenga UPnP activado para los
siguientes servicios:
- Transferencia de Archivos: 6891-6900 TCP (UPnP)
- Webcam: Puertos Dinámicos 9000-9999 TCP ( UPnP)
- Audio: Puertos Dinámicos 5004-65535 UDP (UPnP)
- Video Conferencia: Puertos Dinámicos 5004-65535 UDP (UPnP)
La
arquitectura de UPnP esta basado en cuatro protocolos, que son: SSDP
(protocolo simple de descubrimiento de servicios), GENA (arquitectura
genérica de notificación de acontecimientos), SOAP (protocolo simple de
acceso a objetos) y formato libre XML (lenguaje de marcas extensible).
Cada uno de estas tecnologías es responsable de ocuparse de las partes
particulares de apilado de UPnP. Su patrón básico de funcionamiento es
el siguiente:
Dirección:
Cada dispositivo necesita ensamblarse en la red adquiriendo una
dirección única que los integrantes de la red puedan utilizar para
comunicarse con el dispositivo.
Descubrimiento:
Aquí es adonde SSDP entra en funcionamiento. Cada dispositivo permitido
UPnP anuncia sus servicios descritos en una URL particular. Para
anunciar esta información en UPnP, necesitamos enviar varios paquetes
SSDP.
Descripción: Una
vez que se descubran los dispositivos, se muestra la descripción del
dispositivo. Esta información se encuentra dentro de los archivos
ajustados a formato XML que se pueden mostrar en una URL obtenida del
proceso del descubrimiento.
Control:
Una vez que se termine el proceso de la descripción, se puede controlar
el dispositivo sometiendo las peticiones de configuración como mensajes
del SOAP. En el cuerpo de mensaje del SOAP proveemos el nombre y la
información del método sobre los parámetros y su valor. Entonces lo
sometemos al punto de control que procesa la petición y devuelve un
mensaje de salida, que se encapsula otra vez en SOAP.
La vulnerabilidad:
Se
ha descubierto que debido a UPnP no posee autentificación, mediante la
utilización de plugins de navegadores, un atacante puede enviar mensaje
UPnP a dispositivos locales. Los descubridores de la vulnerabilidad
utilizan un vector de ataque usando un plugin de Flash, que usan los
navegadores para visualizar animaciones.
Para que este ataque
pueda ejecutarse necesita conocer la dirección IP del dispositivo, esto
hace a los router vulnerables debido a que esta dirección puede ser
obtenida mediante los navegadores web.
A nivel de UPnP estés ataques lo que envían son mensajes de control SOAP para cambiar configuraciones del dispositivo.
El ataque:
La
mayoría de los router que se distribuyen tienen UPnP activado de
fábrica. Simplemente un usuario que acceda a una dirección web que
tenga una imagen en Flash con un vector de ataque, podría recibir
mensajes UPnP al router que cambie la configuración, desde el
direccionamiento de puertos, hasta en el peor de los casos cambiar los
DNS. Por ejemplo: Cambiando el DNS principal, poniendo un servidor DNS
del atacante, en el que la web de un banco este asociada a un servidor
del atacante creado para recoger los datos de acceso.
También
se le suma el factor de que muchos router permiten el uso de esta
tecnología a través de redes inalámbricas, con los posibles daños que
puede suponer en redes inalámbricas abiertas, usando como ejemplo un
post anterior aquí publicado llamado “Epidemia a través de router WiFi”.
Como evitarlo:
En
este momento la única forma de evitarlo es desconectando UPnP tanto en
la configuración del router como en el sistema operativo. Este ataque
es efectivo independientemente del navegador, hardware o sistema
operativo. Aunque en Linux no es muy habitual tener soporte para UPnP
en Windows si, de echo, esto le ha reportado alguna vulnerabilidad.
Como desconectarlo en Windows:
Bloquee
el puerto UDP 1900 y TCP 2869 en el Firewall. El entorno UPnP usa el
puerto UDP 1900 y el puerto TCP 2869. El Protocolo simple de
descubrimiento de servicios (SSDP) usa búsquedas de multidifusión para
detectar dispositivos UPnP. Las búsquedas de multidifusión se envían al
puerto UDP 1900 mediante puertos salientes dinámicos. Firewall de
Windows acepta respuestas de búsqueda de multidifusión coincidentes que
se reciben al cabo de tres segundos de una búsqueda de multidifusión.
Tras ello, el firewall bloqueará las respuestas de búsqueda de
multidifusión aunque coincidan con las solicitudes de búsqueda.
Deshabilite
el servicio Plug and Play universal. Al deshabilitar el servicio UPnP
se contribuye a proteger el equipo afectado de intentos de aprovechar
esta vulnerabilidad. Para deshabilitar el servicio UPnP, siga estos
pasos:
- Haga clic en Inicio y, a continuación, en Panel
de control .También puede seleccionar Configuración y, a continuación,
hacer clic en Panel de control. - Haga doble clic en Herramientas administrativas.
- Haga doble clic en Servicios.
- Haga doble clic en Host de dispositivo Plug and Play universal.
- En la lista Tipo de inicio, haga clic en Deshabilitado.
- Haga clic en Detener y, a continuación, en Aceptar.
También puede detener y deshabilitar el servicio UPnP mediante el siguiente comando en el símbolo del sistema:
sc stop UPnPHost &sc config UPnPHost start= disabled
En el caso de Windows Vista los puertos de UPnP están bloqueados en el firewall por defecto.
Flash UPnP Attack FAQ:
http://www.gnucitizen.org/blog/flash-upnp-attack-faq/
Hacking with UPnP (Universal Plug and Play):
http://www.gnucitizen.org/blog/hacking-with-upnp-universal-plug-and-play/
Hacking The Interwebs:
http://www.gnucitizen.org/blog/hacking-the-interwebs/
Microsoft Security Bulletin MS07-019 (Vulnerabilidad UPnP):
http://www.microsoft.com/technet/security/bulletin/ms07-019.mspx
Microsoft Knowledge Base Article – 931261 (Vulnerabilidad UPnP):
http://support.microsoft.com/kb/931261/es
Arquitectura UPnP:
http://www.upnp.org/resources/documents.asp
Epidemia a través de router WiFi:
http://vtroger.blogspot.com/2008/01/epidemia-travs-de-router-wifi.html
Comentarios Recientes