La versión de Windows para Internet de las Cosas (IoT) es vulnerable a un exploit que podría permitir que un atacante tomara el control completo del sistema, según una presentación dada por una empresa de seguridad este fin de semana.
En el WOPR Summit en New Jersey, Dor Azouri, un experto en seguridad de SafeBreach, demostró como un exploit permitiría a un dispositivo conectado ejecutar comandos de nivel sistema en dispositivos que ejecuten el sistema operativo de Microsoft.
Windows IoT es el sucesor de Windows Embedded. La versión light de Windows 10 está diseñada con acceso a bajo nivel para los desarrolladores y también soporta CPUs ARM, que son muy usadas entre los dispositivos IoT. Según el 2018 IoT Developer Survey de la Eclipse Foundation, el sistema operativo está presente en el 22,9% del mercado IoT, con una presencia notable en los gateways IoT.
¿Cómo funciona?
El ataque se realiza con algunas salvedades. Según el documento técnico publicado, solo funciona con la versión descargable de Windows IoT Core, y no en las versiones personalizadas que pueden ser utilizadas por los desarrolladores de productos. Además, el atacante solo puede realizar el ataque desde una maquina conectada directamente al dispositivo objetivo a través de un cable Ethernet.
El exploit tiene como objetivo el Hardware Library Kit (HLK), que es una herramienta de certificación utilizada para procesar comprobaciones de hardware y enviar los resultados. El protocolo propietario que emplea HLK es Sirep, y ese es el punto débil. Un servicio de comprobación de Sirep normalmente envía el ID único en la red local para advertir de la presencia del dispositivo IoT. Windows IoT Core también está a la escucha de conexiones entrantes en tres puertos abiertos en su firewall.
Sin embargo las conexiones entrantes al servicio de comprobaciones de Sirep no se autentifican, por lo que cualquier dispositivo se puede comunicar con el siempre que esté conectado a través de un cable Ethernet y no inalámbricamente. Azouri cree que esto se puede deber porque el servicio de comprobación IoT proviene del antiguo sistema operativo Windows Phone, que se basaba en conexiones USB
Sin embargo, lo más potente puede ser el comando LaunchCommandWithOutput. Este recupera la ruta del programa y los parámetros de la línea de comandos necesarios para ejecutar comandos en el dispositivo. Esto opera con privilegios de nivel sistema. El atacante puede utilizar esta información para ejecutar procesos en un dispositivo IoT desde un ordenador sin autentificar.
Los investigadores crearon una herramienta en Python llamada SirepRAT que permite a los ciberdelincuentes utilizar el exploit en Windows IoT. Incluso desarrollaron una plantilla para cargar payloads para diferentes comandos, con ejemplos.
La respuesta de Microsoft
Según la presentación de Azouri en el WOPR, Microsoft le dijo que no iba a solucionar el problema ya que Sirep es una función opcional de Windows IoT Core, y en su documentación se define como un paquete de pruebas, y que ha informado que planea:
Actualizar la documentación para mencionar que imágenes ejecutando TestSirep permiten que cualquiera con acceso a través de la red local pueda acceder al dispositivo y ejecutar cualquier comando como SISTEMA sin *ninguna* autenticación y que está diseñado así.
Para manteneros al día de las últimas amenazas haceros fans de nuestra página de Facebook o síguenos en Twitter para intercambiar experiencias en torno al mundo de la seguridad. Si deseas recibir nuestro boletín de seguridad en tu correo electrónico, suscríbete en la siguiente aplicación: