PsExec/Winexec/ScExec/SMBExec
Reading time: 4 minutes
tip
Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Impara e pratica il hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos github.
Come funzionano
Il processo è delineato nei passaggi seguenti, illustrando come i binari di servizio vengano manipolati per ottenere l'esecuzione remota su una macchina target tramite SMB:
- Copia del binario di servizio nella condivisione ADMIN$ tramite SMB viene eseguita.
- Creazione di un servizio sulla macchina remota viene effettuata puntando al binario.
- Il servizio viene avviato remotamente.
- Al termine, il servizio viene interrotto e il binario viene eliminato.
Processo di Esecuzione Manuale di PsExec
Assumendo che ci sia un payload eseguibile (creato con msfvenom e offuscato usando Veil per eludere la rilevazione antivirus), chiamato 'met8888.exe', che rappresenta un payload meterpreter reverse_http, vengono seguiti i seguenti passaggi:
- Copia del binario: L'eseguibile viene copiato nella condivisione ADMIN$ da un prompt dei comandi, anche se può essere posizionato ovunque nel filesystem per rimanere nascosto.
- Invece di copiare il binario, è anche possibile utilizzare un binario LOLBAS come
powershell.exe
ocmd.exe
per eseguire comandi direttamente dagli argomenti. Esempio:sc create [ServiceName] binPath= "cmd.exe /c [PayloadCommand]"
- Creazione di un servizio: Utilizzando il comando Windows
sc
, che consente di interrogare, creare ed eliminare servizi Windows da remoto, viene creato un servizio chiamato "meterpreter" per puntare al binario caricato. - Avvio del servizio: L'ultimo passaggio comporta l'avvio del servizio, che probabilmente risulterà in un errore di "timeout" a causa del binario che non è un vero binario di servizio e non riesce a restituire il codice di risposta atteso. Questo errore è irrilevante poiché l'obiettivo principale è l'esecuzione del binario.
L'osservazione del listener di Metasploit rivelerà che la sessione è stata avviata con successo.
Trova passaggi più dettagliati in: https://blog.ropnop.com/using-credentials-to-own-windows-boxes-part-2-psexec-and-services/
- Puoi anche utilizzare il binario PsExec.exe di Windows Sysinternals:
Oppure accedervi tramite webddav:
\\live.sysinternals.com\tools\PsExec64.exe -accepteula
- Puoi anche usare SharpLateral:
SharpLateral.exe redexec HOSTNAME C:\\Users\\Administrator\\Desktop\\malware.exe.exe malware.exe ServiceName
- Puoi anche usare 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
- Puoi anche utilizzare Impacket's
psexec
esmbexec.py
.
tip
Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Impara e pratica il hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos github.