Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
exploit-CVE-2016-9920 — Roundcube 1.0.0 <= 1.2.2 Exploit d'exécution de code à distance et conteneur vulnérable | Kitploit
Outils/GitHubGitHub/t0kx/exploit-cve-2016-9920
Sécurité des ConteneursAnalyse des VulnérabilitésExploitationExploitation d'Applications WebApprentissage et ÉducationLabs et Pratique
GitHubt0kx/exploit-cve-2016-9920

exploit-CVE-2016-9920

Roundcube 1.0.0 <= 1.2.2 Exploit d'exécution de code à distance et conteneur vulnérable

Voir le dépôt
4821il y a 2 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Roundcube 1.0.0 <= 1.2.2 Exécution de code à distance

Roundcube est un logiciel de webmail open-source largement distribué, utilisé par de nombreuses organisations et entreprises dans le monde entier. Le miroir sur SourceForge, par exemple, compte plus de 260 000 téléchargements au cours des 12 derniers mois, ce qui ne représente qu'une petite fraction des utilisateurs réels. Une fois Roundcube installé sur un serveur, il fournit une interface web permettant aux utilisateurs authentifiés d'envoyer et de recevoir des emails via leur navigateur web.

Dans Roundcube 1.2.2 et versions antérieures, une entrée contrôlée par l'utilisateur circule non désinfectée dans le cinquième argument d'un appel à la fonction mail() intégrée de PHP, qui est documentée comme critique pour la sécurité. Le problème est que l'invocation de la fonction mail() amène PHP à exécuter le programme sendmail. Le cinquième argument permet de passer des arguments à cette exécution, ce qui permet une configuration de sendmail. Étant donné que sendmail propose l'option -X pour journaliser tout le trafic mail dans un fichier, un attaquant peut abuser de cette option et générer un fichier PHP malveillant dans le répertoire webroot du serveur attaqué. Les lignes de code suivantes déclenchent la vulnérabilité.

Exigences

La vulnérabilité nécessite les exigences suivantes pour être exploitée :

  • Roundcube doit être configuré pour utiliser la fonction mail() de PHP (par défaut, si aucun SMTP n'a été spécifié [1])
  • La fonction mail() de PHP est configurée pour utiliser sendmail (par défaut, voir sendmail_path [2])
  • PHP est configuré avec safe_mode désactivé (par défaut, voir safe_mode [3])
  • Un attaquant doit connaître ou deviner le chemin absolu du webroot

Ces exigences ne sont pas particulièrement exigeantes, ce qui signifie qu'il y avait beaucoup de systèmes vulnérables dans la nature.

Environnement vulnérable

Pour configurer un environnement vulnérable pour votre test, vous aurez besoin de Docker installé, et exécutez simplement la commande suivante :

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

Et cela générera une application web vulnérable sur votre hôte sur le port 80

Code vulnérable

Dans Roundcube 1.2.2 et versions antérieures, une entrée contrôlée par l'utilisateur circule non désinfectée dans le cinquième argument d'un appel à la fonction mail() intégrée de PHP, qui est documentée comme critique en termes de sécurité. Le problème est que l'invocation de la fonction mail() amène PHP à exécuter le programme sendmail. Le cinquième argument permet de passer des paramètres supplémentaires à cette exécution, ce qui permet une configuration de sendmail. Étant donné que sendmail propose l'option -X pour journaliser tout le trafic mail dans un fichier, un attaquant peut abuser de cette option et générer un fichier PHP malveillant dans le répertoire webroot du serveur attaqué. Bien que cette vulnérabilité soit rare et peu connue, RIPS l'a détectée en quelques secondes. [4]

Exploit

Pour exploiter cette cible, exécutez simplement :

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

Si vous utilisez cette image vulnérable, vous pouvez simplement exécuter :

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

Après l'exploitation, un fichier appelé backdoor.php sera stocké dans le dossier racine du répertoire web. Et l'exploit vous fournira un shell où vous pourrez envoyer des commandes à la 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

Crédits

Cette faille a été découverte par Robin Peraglie [4]. Le texte principal et l'idée de ce contenu éducatif ont été créés par opsxcq.

Avertissement

Ce programme ou le précédent est UNIQUEMENT à des fins éducatives. Ne l'utilisez pas sans autorisation. L'avertissement habituel s'applique, notamment le fait que moi (t0kx) ne suis pas responsable des dommages causés par l'utilisation directe ou indirecte des informations ou fonctionnalités fournies par ces programmes. L'auteur ou tout fournisseur d'accès Internet n'encourt AUCUNE responsabilité pour le contenu ou l'utilisation abusive de ces programmes ou de leurs dérivés. En utilisant ces programmes, vous acceptez le fait que tout dommage (perte de données, crash système, compromission du système, etc.) causé par l'utilisation de ces programmes n'est pas de la responsabilité de t0kx.

Liens

  • [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/
Télécharger l’outil