Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
exploit-CVE-2016-9920 — Exploit di esecuzione remota di codice per Roundcube 1.0.0 <= 1.2.2 e container vulnerabile | Kitploit
Strumenti/GitHubGitHub/t0kx/exploit-cve-2016-9920
Sicurezza dei ContenitoriAnalisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebApprendimento e FormazioneLab e Pratica
GitHubt0kx/exploit-cve-2016-9920

exploit-CVE-2016-9920

Exploit di esecuzione remota di codice per Roundcube 1.0.0 <= 1.2.2 e container vulnerabile

Vedi Repository
482142 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Roundcube 1.0.0 <= 1.2.2 Esecuzione di codice in remoto

Roundcube è un software di webmail open-source ampiamente distribuito, utilizzato da molte organizzazioni e aziende in tutto il mondo. Lo specchio su SourceForge, ad esempio, conta più di 260,000 download negli ultimi 12 mesi, che rappresentano solo una piccola frazione degli utenti reali. Una volta installato Roundcube su un server, esso fornisce un'interfaccia web per consentire agli utenti autenticati di inviare e ricevere email tramite il proprio browser web.

In Roundcube 1.2.2 e versioni precedenti, l'input controllato dall'utente giunge non sanificato al quinto argomento di una chiamata alla funzione integrata mail() di PHP, che è documentata come critica per la sicurezza. Il problema è che l'invocazione della funzione mail() fa sì che PHP esegua il programma sendmail. Il quinto argomento consente di passare argomenti a questa esecuzione, permettendo una configurazione di sendmail. Poiché sendmail offre l'opzione -X per registrare tutto il traffico di posta in un file, un attaccante può abusare di questa opzione e generare un file PHP malevolo nella directory webroot del server attaccato. Le seguenti righe di codice attivano la vulnerabilità.

Requisiti

Per lo sfruttamento, la vulnerabilità richiede i seguenti requisiti:

  • Roundcube deve essere configurato per utilizzare la funzione mail() di PHP (per impostazione predefinita, se non è stato specificato alcun SMTP [1])
  • La funzione mail() di PHP è configurata per utilizzare sendmail (per impostazione predefinita, vedere sendmail_path [2])
  • PHP è configurato con safe_mode disattivato (per impostazione predefinita, vedere safe_mode [3])
  • Un attaccante deve conoscere o indovinare il percorso assoluto della webroot

Questi requisiti non sono particolarmente impegnativi, il che a sua volta significa che c'erano molti sistemi vulnerabili in giro.

Ambiente vulnerabile

Per configurare un ambiente vulnerabile per il tuo test avrai bisogno di Docker installato, e ti basterà eseguire il seguente comando:

root@kitploit:~
docker build -t vuln/cve-2016-9920 .
docker run --rm -it -p 80:80 vuln/cve-2016-9920

E genererà un'applicazione web vulnerabile sul tuo host sulla porta 80

Codice vulnerabile

In Roundcube 1.2.2 e versioni precedenti, l'input controllato dall'utente giunge non sanificato al quinto argomento di una chiamata alla funzione integrata mail() di PHP, documentata come critica in termini di sicurezza. Il problema è che l'invocazione della funzione mail() fa sì che PHP esegua il programma sendmail. Il quinto argomento consente di passare parametri aggiuntivi a questa esecuzione, permettendo una configurazione di sendmail. Poiché sendmail offre l'opzione -X per registrare tutto il traffico di posta in un file, un attaccante può abusare di questa opzione e generare un file PHP malevolo nella directory webroot del server attaccato. Sebbene questa vulnerabilità sia rara e poco conosciuta, RIPS la rilevò in pochi secondi. [4]

Exploit

Per sfruttare questo target è sufficiente eseguire:

root@kitploit:~
./exploit.py --host HOST --user USERNAME --pwd PASSWORD --path PATH --www_path WEB_DIRECTORY

Se stai usando questa immagine vulnerabile, puoi semplicemente eseguire:

root@kitploit:~
./exploit.py --host 127.0.0.1 --user username --pwd password --path roundcube --www_path "/var/www/html/roundcube"

Dopo lo sfruttamento, un file chiamato backdoor.php verrà salvato nella cartella root della directory web. L'exploit ti fornirà una shell dove poter inviare comandi alla backdoor:

root@kitploit:~
./exploit.py --host 127.0.0.1 --user username --pwd password --path roundcube --www_path "/var/www/html/roundcube"
[+] CVE-2016-9920 exploit by t0kx
[+] Exploiting 127.0.0.1
[+] Target exploited, acessing shell at http://127.0.0.1/roundcube/backdoor.php
[+] Running whoami: www-data
[+] Done

Crediti

Questa falla è stata trovata da Robin Peraglie [4]. Il testo principale e l'idea di questo materiale didattico sono stati creati da opsxcq.

Disclaimer

Questo o il programma precedente è SOLO a scopo educativo. Non usarlo senza permesso. Vale il solito disclaimer, in particolare il fatto che io (t0kx) non sono responsabile per alcun danno causato 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 loro derivati. Usando 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.

Link

  • [1] https://github.com/roundcube/roundcubemail/wiki/Configuration#sending-messages-via-smtp
  • [2] http://php.net/manual/en/mail.configuration.php
  • [3] http://php.net/manual/en/ini.sect.safe-mode.php
  • [4] https://blog.ripstech.com/2016/roundcube-command-execution-via-email/
Scarica lo strumento