PsExec/Winexec/ScExec/SMBExec
Reading time: 4 minutes
tip
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Aprenda e pratique Hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporte o HackTricks
- Confira os planos de assinatura!
- Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para o HackTricks e HackTricks Cloud repositórios do github.
Como eles funcionam
O processo é descrito nos passos abaixo, ilustrando como os binários de serviço são manipulados para alcançar a execução remota em uma máquina alvo via SMB:
- Cópia de um binário de serviço para o compartilhamento ADMIN$ via SMB é realizada.
- Criação de um serviço na máquina remota é feita apontando para o binário.
- O serviço é iniciado remotamente.
- Ao sair, o serviço é parado e o binário é deletado.
Processo de Execução Manual do PsExec
Assumindo que há um payload executável (criado com msfvenom e ofuscado usando Veil para evadir a detecção de antivírus), nomeado 'met8888.exe', representando um payload meterpreter reverse_http, os seguintes passos são tomados:
- Cópia do binário: O executável é copiado para o compartilhamento ADMIN$ a partir de um prompt de comando, embora possa ser colocado em qualquer lugar no sistema de arquivos para permanecer oculto.
- Em vez de copiar o binário, também é possível usar um binário LOLBAS como
powershell.exe
oucmd.exe
para executar comandos diretamente a partir dos argumentos. Ex.:sc create [ServiceName] binPath= "cmd.exe /c [PayloadCommand]"
- Criação de um serviço: Utilizando o comando
sc
do Windows, que permite consultar, criar e deletar serviços do Windows remotamente, um serviço chamado "meterpreter" é criado para apontar para o binário carregado. - Iniciando o serviço: O passo final envolve iniciar o serviço, o que provavelmente resultará em um erro de "time-out" devido ao binário não ser um verdadeiro binário de serviço e falhar em retornar o código de resposta esperado. Este erro é irrelevante, pois o objetivo principal é a execução do binário.
A observação do listener do Metasploit revelará que a sessão foi iniciada com sucesso.
Saiba mais sobre o comando sc
.
Encontre passos mais detalhados em: https://blog.ropnop.com/using-credentials-to-own-windows-boxes-part-2-psexec-and-services/
- Você também pode usar o binário PsExec.exe do Windows Sysinternals:
Ou acessá-lo via webddav:
\\live.sysinternals.com\tools\PsExec64.exe -accepteula
- Você também pode usar SharpLateral:
SharpLateral.exe redexec HOSTNAME C:\\Users\\Administrator\\Desktop\\malware.exe.exe malware.exe ServiceName
- Você também pode usar SharpMove:
SharpMove.exe action=modsvc computername=remote.host.local command="C:\windows\temp\payload.exe" amsi=true servicename=TestService
SharpMove.exe action=startservice computername=remote.host.local servicename=TestService
- Você também pode usar Impacket's
psexec
esmbexec.py
.
tip
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Aprenda e pratique Hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporte o HackTricks
- Confira os planos de assinatura!
- Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para o HackTricks e HackTricks Cloud repositórios do github.