
Laboratorio autorizzato Kali–Metasploitable2 che utilizza Python e Nmap NSE per validare CVE-2011-2523 in vsFTPd 2.3.4.
⚠️ Solo laboratorio autorizzato — condotto in una rete isolata VirtualBox Host-Only utilizzando Kali Linux e Metasploitable2. Nessun sistema non autorizzato è stato scansionato o a cui è stato effettuato accesso in qualsiasi momento.
CVE-2011-2523 è una delle compromissioni della catena di approvvigionamento più note nella storia dell'open source. Nel 2011, il codice sorgente ufficiale di vsFTPd 2.3.4 è stato oggetto di backdoor sul server di download del progetto — un attaccante ha modificato il binario in modo che l'inserimento di un nome utente contenente :) attivasse una shell backdoor sulla porta TCP 6200, garantendo l'accesso root a qualsiasi attaccante remoto.
Questo laboratorio convalida CVE-2011-2523 utilizzando una metodologia strutturata di valutazione delle vulnerabilità:
ftp-vsftpd-backdoorSi tratta di un'attività reale di valutazione delle vulnerabilità — la stessa metodologia utilizzata dai penetration tester e dagli analisti SOC che conducono valutazioni di sicurezza autorizzate.
| Componente | Dettagli |
|---|---|
| Macchina attaccante | Kali Linux |
| Macchina target | Metasploitable2 (intenzionalmente vulnerabile) |
| Hypervisor | Oracle VirtualBox |
| Rete | Adattatore Host-Only — isolata, senza accesso a Internet |
| Strumenti | Python 3, Nmap, NSE, libreria python-nmap |
| IP target | 192.168.56.103 |
| Campo | Dettagli |
|---|---|
| ID CVE | CVE-2011-2523 |
| Software interessato | vsFTPd 2.3.4 |
| Punteggio CVSS | 10.0 — Critico |
| Tipo di vulnerabilità | Backdoor / Compromissione della catena di approvvigionamento |
| Vettore di attacco | Rete — nessuna autenticazione richiesta |
| Impatto | Accesso remoto a shell root (uid=0) |
| Scoperta | Luglio 2011 |
| MITRE ATT&CK | T1195.002 (Compromise Software Supply Chain) |
Come funziona la backdoor:
Quando un client si connette a vsFTPd 2.3.4 e invia un nome utente contenente i caratteri :) (faccina sorridente), viene attivato il codice della backdoor — aprendo una shell in ascolto sulla porta TCP 6200. La connessione alla porta 6200 garantisce una shell root interattiva senza ulteriori autenticazioni richieste.
Step 1: Confirm target IP on Host-Only network
└── ifconfig / ip addr on Metasploitable2
Step 2: Verify connectivity
└── ping 192.168.56.103 from Kali
Step 3: Service & version detection
└── nmap -sV -p 21 192.168.56.103
└── Confirm: vsftpd 2.3.4
Step 4: Python-automated NSE scan
└── python3 pythonnmap.py --host 192.168.56.103 --ports 21
└── NSE scripts executed:
ftp-anon
ftp-bounce
ftp-libopie
ftp-proftpd-backdoor
ftp-vsftpd-backdoor ← CVE-2011-2523 validation
Step 5: Document findings & remediation
sudo nmap -sV -p 21 192.168.56.103
Output:
PORT STATE SERVICE VERSION
21/tcp open ftp vsftpd 2.3.4
sudo python3 pythonnmap.py --host 192.168.56.103 --ports 21
sudo nmap --script ftp-vsftpd-backdoor -p 21 192.168.56.103
| Servizio | Porta | Risultato | Evidenza |
|---|---|---|---|
| FTP | TCP 21 | vsFTPd 2.3.4 identificato — versione con backdoor nota | Scansione servizio/versione Nmap |
| FTP | TCP 21 | Login FTP anonimo consentito | Output NSE ftp-anon |
| FTP | TCP 21 | Target confermato vulnerabile a CVE-2011-2523 | Output NSE ftp-vsftpd-backdoor |
| CVE-2011-2523 | TCP 6200 | La shell backdoor ha restituito uid=0(root) gid=0(root) | Output di validazione NSE |



In un ambiente di produzione reale, la remediation includerebbe:
| Azione | Priorità |
|---|---|
| Rimuovere immediatamente vsFTPd 2.3.4 e sostituirlo con una versione corretta | 🔴 Critica |
| Verificare l'integrità del software utilizzando checksum SHA-256 rispetto agli hash ufficiali del fornitore prima dell'installazione | 🔴 Critica |
| Disabilitare l'accesso FTP anonimo a meno che non sia esplicitamente richiesto | 🟠 Alta |
| Limitare l'esposizione del servizio FTP tramite regole firewall e segmentazione di rete | 🟠 Alta |
Monitorare i log di autenticazione FTP per nomi utente sospetti contenenti :) | 🟡 Media |
| Considerare la sostituzione completa di FTP con SFTP (SSH File Transfer Protocol) | 🟡 Media |
| Controllo | Framework | Rilevanza |
|---|---|---|
| T1195.002 | MITRE ATT&CK | Compromissione della supply chain software — backdoor iniettata nel codice sorgente di vsFTPd |
| T1133 | MITRE ATT&CK | Servizi remoti esterni — la backdoor apre una shell root remota |
| T1190 | MITRE ATT&CK | Sfruttamento di applicazioni esposte pubblicamente — servizio FTP sfruttato da remoto |
| SI-2 | NIST SP 800-53 | Correzione delle vulnerabilità — applicare patch e rimuovere il software vulnerabile |
| SI-7 | NIST SP 800-53 | Integrità del software — verificare i checksum del software prima del deployment |
| RA-5 | NIST SP 800-53 | Monitoraggio e scansione delle vulnerabilità |
| A.12.6 | ISO 27001 | Gestione delle vulnerabilità tecniche |
Lo script pythonnmap.py automatizza la scansione Nmap NSE utilizzando la libreria python-nmap:
# Key functionality
import nmap
scanner = nmap.PortScanner()
scanner.scan(
hosts=target_host,
ports=target_ports,
arguments='-sV --script ftp-anon,ftp-bounce,ftp-libopie,ftp-proftpd-backdoor,ftp-vsftpd-backdoor'
)
Vantaggi dell'automazione Python: