Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
exploit-CVE-2016-9920 — Roundcube 1.0.0 <= 1.2.2 Remote Code Execution Exploit und angreifbarer Container | Kitploit
Tools/GitHubGitHub/t0kx/exploit-cve-2016-9920
Container-SicherheitSchwachstellenanalyseExploitationWebanwendungs-ExploitationLernen & BildungLabs & Praxis
GitHubt0kx/exploit-cve-2016-9920

exploit-CVE-2016-9920

Roundcube 1.0.0 <= 1.2.2 Remote Code Execution Exploit und angreifbarer Container

Repository anzeigen
4821vor 2 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Roundcube 1.0.0 <= 1.2.2 Remotecodeausführung

Roundcube ist eine weit verbreitete Open-Source-Webmail-Software, die von vielen Organisationen und Unternehmen auf der ganzen Welt genutzt wird. Der Spiegel auf SourceForge beispielsweise zählt allein in den letzten 12 Monaten mehr als 260.000 Downloads, was nur ein kleiner Teil der tatsächlichen Nutzer ist. Sobald Roundcube auf einem Server installiert ist, bietet es authentifizierten Benutzern eine Weboberfläche zum Senden und Empfangen von E-Mails mit ihrem Webbrowser.

In Roundcube 1.2.2 und früher fließt benutzergesteuerte Eingabe ungefiltert in das fünfte Argument eines Aufrufs der PHP-eigenen Funktion mail(), die als sicherheitskritisch dokumentiert ist. Das Problem besteht darin, dass der Aufruf der mail()-Funktion PHP veranlasst, das sendmail-Programm auszuführen. Das fünfte Argument erlaubt es, Argumente an diese Ausführung zu übergeben, was eine Konfiguration von sendmail ermöglicht. Da sendmail die Option -X bietet, um den gesamten Mail-Verkehr in einer Datei zu protokollieren, kann ein Angreifer diese Option missbrauchen und eine bösartige PHP-Datei im Webroot-Verzeichnis des angegriffenen Servers ablegen. Die folgenden Codezeilen lösen die Schwachstelle aus.

Voraussetzungen

Die Schwachstelle hat die folgenden Anforderungen für die Ausnutzung:

  • Roundcube muss so konfiguriert sein, dass es PHP's mail()-Funktion verwendet (standardmäßig, wenn kein SMTP angegeben wurde [1])
  • PHP's mail()-Funktion ist so konfiguriert, dass sie sendmail verwendet (standardmäßig, siehe sendmail_path [2])
  • PHP ist so konfiguriert, dass safe_mode deaktiviert ist (standardmäßig, siehe safe_mode [3])
  • Ein Angreifer muss den absoluten Pfad des Webroots kennen oder erraten

Diese Anforderungen sind nicht besonders anspruchsvoll, was wiederum bedeutet, dass es viele verwundbare Systeme in freier Wildbahn gab.

Verwundbare Umgebung

Um eine verwundbare Umgebung für Ihren Test einzurichten, benötigen Sie Docker und führen einfach den folgenden Befehl aus:

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

Und es wird eine verwundbare Webanwendung auf Ihrem Host auf dem Port 80 bereitstellen.

Verwundbarer Code

In Roundcube 1.2.2 und früher fließt benutzergesteuerte Eingabe ungefiltert in das fünfte Argument eines Aufrufs der PHP-eigenen Funktion mail(), die als sicherheitskritisch dokumentiert ist. Das Problem besteht darin, dass der Aufruf der mail()-Funktion PHP veranlasst, das sendmail-Programm auszuführen. Das fünfte Argument erlaubt das Übergeben zusätzlicher Parameter an diese Ausführung, was eine Konfiguration von sendmail ermöglicht. Da sendmail die Option -X bietet, um den gesamten Mail-Verkehr in einer Datei zu protokollieren, kann ein Angreifer diese Option missbrauchen und eine bösartige PHP-Datei im Webroot-Verzeichnis des angegriffenen Servers ablegen. Obwohl diese Schwachstelle selten und nicht weit verbreitet ist, wurde sie von RIPS innerhalb von Sekunden erkannt. [4]

Exploit

Um dieses Ziel auszunutzen, führen Sie einfach aus:

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

Wenn Sie dieses verwundbare Image verwenden, können Sie einfach ausführen:

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

Nach der Ausnutzung wird eine Datei namens backdoor.php im Stammverzeichnis des Webverzeichnisses gespeichert. Und der Exploit öffnet Ihnen eine Shell, in der Sie Befehle an die Hintertür senden können:

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

Credits

Dieser Fehler wurde von Robin Peraglie gefunden [4]. Der Haupttext und die Idee für dieses Lehrstück wurden von opsxcq erstellt.

Haftungsausschluss

Dieses oder frühere Programme dienen NUR zu Bildungszwecken. Verwenden Sie es nicht ohne Erlaubnis. Der übliche Haftungsausschluss gilt, insbesondere die Tatsache, dass ich (t0kx) nicht für Schäden haftbar bin, die durch direkte oder indirekte Nutzung der Informationen oder der von diesen Programmen bereitgestellten Funktionalität entstehen. Der Autor oder jeder Internetanbieter übernimmt KEINE Verantwortung für den Inhalt oder die missbräuchliche Verwendung dieser Programme oder deren Derivaten. Durch die Nutzung dieser Programme akzeptieren Sie die Tatsache, dass jeglicher Schaden (Datenverlust, Systemabsturz, Systemkompromittierung usw.), der durch die Nutzung dieser Programme verursacht wird, nicht in der Verantwortung von t0kx liegt.

Links

  • [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/
Tool herunterladen