
Exploit Python interattivo senza dipendenze per il backdoor vsftpd 2.3.4 (CVE-2011-2523).
Un piccolo exploit Python 3 senza dipendenze per la backdoor di vsftpd 2.3.4 (CVE-2011-2523). Attiva la backdoor tramite FTP e ti porta in una shell root interattiva sul listener generato.
Scritto come sostituto moderno per vecchi script di exploit che dipendevano da telnetlib — rimosso dalla libreria standard in Python 3.13. Questa versione utilizza solo la libreria standard e legge la shell con select invece di un sleep fisso, così l'output non viene troncato.
⚠️ Solo per uso autorizzato. Questa utility ha come target un servizio notoriamente vulnerabile ed è intesa per formazione sulla sicurezza e ambienti di laboratorio come Metasploitable 2. Eseguilo solo contro sistemi di tua proprietà o per i quali hai esplicita autorizzazione scritta per il test.
vsftpd 2.3.4 è stato distribuito con una backdoor dannosa: qualsiasi nome utente FTP contenente la sequenza :) provoca il bind di una shell root sulla porta TCP/6200. Lo script:
vsftpd 2.3.4.USER <nome>:) / per attivare la backdoor.PASS <qualsiasi cosa>id; uname -a.python3 vsftpd_backdoor.py <target-ip> [-p FTP_PORT] [-s SHELL_PORT] [--skip-verify]
Esempi:
# Default: FTP on 21, backdoor shell on 6200, verify banner first
python3 vsftpd_backdoor.py 192.168.243.114
# Non-standard FTP port, skip the banner check
python3 vsftpd_backdoor.py 192.168.243.114 -p 2121 --skip-verify
Digita i comandi al prompt vsftpd#; digita exit (o Ctrl-C) per uscire.
La backdoor è monouso per attivazione: la prima connessione alla porta 6200 riceve la shell, e quella shell mantiene la porta finché rimane aperta. Niente accetta mai una seconda connessione.
Conseguenze pratiche:
nc e Metasploit contro lo stesso target contemporaneamente — si contenderanno l'unico slot della shell e otterrai errori confusi ("not a fresh shell", connessione rifiutata, ecc.).exit in modo che il processo remoto muoia e rilasci la 6200. Uccidere il client in modo sporco può orfanizzare il processo e lasciare la porta bloccata aperta.Se la 6200 è già legata (porta aperta ma nessuna shell utilizzabile), resetta il target:
# On the target console
sudo netstat -tlnp | grep 6200
sudo kill -9 <pid>
Oppure riavvia semplicemente la VM per una backdoor sicuramente pulita e non attivata.
Distribuito sotto licenza MIT. Vedi LICENSE per maggiori informazioni.