Tutorials

Guida all'Attacco SMB Relay

L'attacco SMB Relay è una tecnica di attacco che sfrutta la vulnerabilità nel protocollo SMB Server Message Block. Questo protocollo è utilizzato principalmente per la condivisione di file e stampanti

#exploitation#windows#smb

Guida all'Attacco SMB Relay

Introduzione

L'attacco SMB Relay è una tecnica di attacco che sfrutta la vulnerabilità nel protocollo SMB (Server Message Block). Questo protocollo è utilizzato principalmente per la condivisione di file e stampanti nelle reti Windows. L'attacco SMB Relay permette a un attaccante di intercettare e relazionare una comunicazione SMB tra un client e un server, effettuando un relaying dei dati per acquisire credenziali valide e ottenere l'accesso ai sistemi vulnerabili.

L'attacco SMB Relay può essere effettuato attraverso l'uso di strumenti come Responder, Metasploit, e Impacket, che sfruttano la debolezza nella gestione delle autenticazioni SMB e la mancanza di validazioni adeguate.

Obiettivi

In questa guida esploreremo i seguenti aspetti:

  • Come funziona l'attacco SMB Relay.
  • Come eseguire un attacco SMB Relay con strumenti come Responder e Impacket.
  • Come prevenire e mitigare gli attacchi SMB Relay.

Prerequisiti

Per eseguire un attacco SMB Relay, è necessario avere:

1. Accesso alla rete: essere in grado di sniffare il traffico di rete e intercettare le comunicazioni SMB. 2. Strumenti necessari: avrai bisogno di strumenti come Responder e Impacket (specificamente il tool ntlmrelayx). 3. Privilegi di amministratore: in alcuni casi, è necessario eseguire i tool come root o con privilegi elevati per ottenere l'accesso alle funzionalità di rete richieste.

Come funziona l'Attacco SMB Relay

L'attacco SMB Relay sfrutta la relaying delle credenziali SMB per ottenere accesso a un sistema target. I passaggi tipici di un attacco SMB Relay sono:

1. Intercettazione delle credenziali: L'attaccante intercetta le credenziali di un client che cerca di autenticarsi su un server SMB. 2. Relay delle credenziali: L'attaccante "rilancia" le credenziali intercettate verso un altro server SMB che appartiene alla stessa rete, tentando di autenticarsi come l'utente originale. 3. Autenticazione riuscita: Se l'autenticazione ha successo, l'attaccante ottiene l'accesso al sistema target con le stesse credenziali dell'utente legittimo.

Il flusso di attacco

1. Client (utente legittimo) invia una richiesta di autenticazione SMB a un server SMB di rete. 2. Attaccante intercetta questa richiesta grazie alla vulnerabilità nel meccanismo di autenticazione SMB, e "rilancia" i dati di autenticazione verso un altro server di rete. 3. Server vulnerabile accetta la richiesta di autenticazione con le credenziali dell'utente legittimo, consentendo all'attaccante di acquisire l'accesso al sistema target.

Come Eseguire un Attacco SMB Relay

In questa guida, utilizzeremo Responder e Impacket per eseguire l'attacco SMB Relay. Entrambi sono strumenti potenti e facili da usare.

1. Esecuzione dell'Attacco con Responder

Responder è uno strumento che può essere utilizzato per sfruttare le vulnerabilità di SMB (e di altri protocolli di rete) in un ambiente LAN.

#### Passo 1: Avviare Responder

Responde alle richieste di autenticazione SMB in modo da intercettare e rilanciare le credenziali.

bash
sudo responder -I eth0

In questo comando:

  • -I eth0: Specifica l'interfaccia di rete da utilizzare (assicurati che sia corretta per il tuo sistema).
  • Responder ascolterà ora tutte le richieste di autenticazione SMB sulla rete.

#### Passo 2: Esegui l'Attacco

Quando un client tenta di autenticarsi in SMB, Responder cattura la richiesta. Se il client non utilizza la protezione di autenticazione (come il Signaling), le credenziali possono essere intercettate e utilizzate per l’attacco.

2. Esecuzione dell'Attacco con ntlmrelayx (Impacket)

ntlmrelayx è uno strumento avanzato di Impacket che permette di eseguire l'attacco SMB Relay, permettendo al relè di inviare le credenziali a server vulnerabili per ottenere l'accesso.

#### Passo 1: Installare Impacket

Se non hai già installato Impacket, puoi farlo con il seguente comando:

bash
sudo apt-get install impacket-scripts

#### Passo 2: Esegui ntlmrelayx

Una volta che Impacket è installato, puoi utilizzare il comando ntlmrelayx per eseguire l'attacco.

bash
sudo ntlmrelayx.py -smb2support -t smb://192.168.1.10 -i eth0

In questo comando:

  • -smb2support: Supporta anche la versione SMB2.
  • -t smb://192.168.1.10: Target SMB da attaccare (ad esempio, un server vulnerabile).
  • -i eth0: Interfaccia di rete da utilizzare.

3. Monitorare il Traffico

Puoi anche utilizzare Wireshark o tcpdump per monitorare il traffico di rete e verificare che l'attacco stia avendo successo.

#### Esempio con tcpdump:

bash
sudo tcpdump -i eth0 -nn -v -s 0 port 445

Questo comando cattura il traffico sulla porta 445 (porta SMB).

Come Prevenire l'Attacco SMB Relay

Esistono diverse misure preventive per difendersi dall'attacco SMB Relay:

1. Disabilitare SMBv1: SMBv1 è vulnerabile a numerosi attacchi, inclusi gli attacchi di relay. Assicurati che SMBv1 sia disabilitato nelle configurazioni di Windows. Per disabilitare SMBv1 su un sistema Windows, esegui:

bash
sc.exe config lanmanserver depend= bowser/mrxsmb10/nsi
    sc.exe config mrxsmb10 start= disabled
2. Abilitare l'autenticazione SMB con Signing: Assicurati che le comunicazioni SMB siano firmate. Questo impedisce agli attaccanti di rilanciare i pacchetti intercettati. Puoi forzare SMB signing su un server Windows con il seguente comando:
bash
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters' -Name RequireSecuritySignature -Value 1
3. Utilizzare SMBv2 o SMBv3: Le versioni più recenti di SMB (SMBv2 e SMBv3) offrono protezioni migliori contro gli attacchi di relay rispetto alla versione SMBv1. 4. Rete Segregata: Limitare l'accesso ai server SMB solo a client autenticati e configurare correttamente i firewall per proteggere il traffico SMB. 5. Autenticazione Mutua (Mutual Authentication): Configurare l'autenticazione reciproca (Mutual Authentication) in modo che le macchine si verifichino l'una con l'altra prima di stabilire una connessione.

Conclusioni

L'attacco SMB Relay è una tecnica di attacco potente che può compromettere gravemente la sicurezza di una rete. Conoscere come funziona e come eseguirlo può aiutarti a proteggere meglio le tue infrastrutture e a prevenire incidenti di sicurezza.

Usa queste informazioni in modo responsabile e solo in contesti legittimi, come durante test di penetrazione con il consenso dell'azienda o nel tuo ambiente di laboratorio.