Tutorials

SMB Enumeration

Server Message Block SMB è un protocollo di rete utilizzato principalmente per la condivisione di file e stampanti su reti Windows. Durante un penetration test, enumerare SMB può rivelare utenti, cond

#enumeration#smb

SMB Enumeration

Introduzione

Server Message Block (SMB) è un protocollo di rete utilizzato principalmente per la condivisione di file e stampanti su reti Windows. Durante un penetration test, enumerare SMB può rivelare utenti, condivisioni e potenziali vulnerabilità.

Avvio e configurazione di Metasploit

Prima di eseguire l'enumerazione, è necessario avviare il servizio PostgreSQL per gestire il database di Metasploit:

bash
service postgresql start

Verificare lo stato del database con:

bash
db_status

Impostare globalmente l'IP del target per evitare di doverlo specificare ripetutamente:

bash
setg RHOSTS <IP_TARGET>

Ricerca dei moduli SMB in Metasploit

Per elencare i moduli relativi a SMB:

bash
search smb

Per affinare la ricerca ai soli moduli ausiliari:

bash
search type:auxiliary name:smb

Enumerazione degli utenti SMB

Per ottenere un elenco degli utenti registrati sul server SMB:

bash
use auxiliary/scanner/smb/smb_enumusers
set RHOSTS <IP_TARGET>
run

Enumerazione delle condivisioni SMB

Per identificare le cartelle condivise disponibili sul sistema:

bash
use auxiliary/scanner/smb/smb_enumshares
set RHOSTS <IP_TARGET>
run

Controllo della versione di SMB

Identificare la versione del protocollo SMB in uso può aiutare a trovare vulnerabilità specifiche:

bash
use auxiliary/scanner/smb/smb_version
set RHOSTS <IP_TARGET>
run

Una volta ottenuta la versione, possiamo cercare vulnerabilità note con:

bash
searchsploit <VERSIONE_SMB>

Oppure effettuare una ricerca manuale:

bash
search versione_smb

Attacco Brute-force su SMB

Se vogliamo tentare un attacco brute-force per trovare credenziali valide:

bash
use auxiliary/scanner/smb/smb_login
set RHOSTS <IP_TARGET>
set SMBUSER <USERNAME>
set PASS_FILE /usr/share/metasploit-framework/data/wordlists/unix_passwords.txt
run

Accesso alle condivisioni SMB

Se otteniamo credenziali valide, possiamo connetterci manualmente a una condivisione con:

bash
smbclient -L \\<IP_TARGET>\<SHARE_NAME> -U <USERNAME>

Dopo aver verificato le condivisioni disponibili, possiamo accedere con:

bash
smbclient \\<IP_TARGET>\<SHARE_NAME> -U <USERNAME>

Conclusione

L'enumerazione SMB è un passo critico nel penetration testing di reti Windows, poiché può rivelare condivisioni non protette, credenziali deboli o vulnerabilità sfruttabili. Una volta ottenute informazioni sui servizi SMB, possiamo procedere con ulteriori test di sicurezza o sfruttamento di eventuali falle di sicurezza.