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
CVE-2019-0232 — Schwachstellenanalyse und PoC für den Apache Tomcat - CGIServlet enableCmdLineArguments Remote Code Execution (RCE) | Kitploit
Tools/GitHubGitHub/jaiguptanick/cve-2019-0232
SchwachstellenanalyseExploitationWebanwendungs-ExploitationPenetrationstestsRemote-Access-ToolPayload-Entwicklung
GitHubjaiguptanick/cve-2019-0232

CVE-2019-0232

Schwachstellenanalyse und PoC für den Apache Tomcat - CGIServlet enableCmdLineArguments Remote Code Execution (RCE)

Repository anzeigen
30111vor 5 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

CVE-2019-0232

Schwachstellenanalyse und PoC für den Apache Tomcat - CGIServlet enableCmdLineArguments Remote Code Execution (RCE)

Video-PoC verfügbar unter https://www.youtube.com/watch?v=RA7kzuHOWqA

Details

Apache Tomcat hat eine Schwachstelle im CGI Servlet, die ausgenutzt werden kann, um Remote Code Execution (RCE) zu erreichen. Dies ist nur ausnutzbar, wenn auf Windows in einer nicht standardmäßigen Konfiguration in Verbindung mit Batch-Dateien ausgeführt wird. Common Gateway Interface (CGI) ist ein Standardprotokoll, das Webservern erlaubt, über Webanfragen kommandozeilenbasierte Programme/Skripte auszuführen. Dieses Protokoll ermöglicht es auch, über URL-Parameter Kommandozeilenargumente an das ausgeführte Skript oder Programm zu übergeben. Das Protokoll selbst ist in RFC 3875 definiert. Wenn auf Windows mit aktiviertem enableCmdLineArguments ausgeführt wird, ist das CGI Servlet in Apache Tomcat aufgrund eines Fehlers in der Art und Weise, wie die JRE Kommandozeilenargumente an Windows übergibt, anfällig für RCE. Das CGI Servlet ist standardmäßig deaktiviert. Die CGI-Option enableCmdLineArguments ist in Tomcat 9.0.x standardmäßig deaktiviert (und wird als Reaktion auf diese Schwachstelle in allen Versionen standardmäßig deaktiviert sein).

Betroffene Versionen

  • Apache Tomcat 9.0.0.M1 bis 9.0.17
  • Apache Tomcat 8.5.0 bis 8.5.39
  • Apache Tomcat 7.0.0 bis 7.0.93

Ausnutzungsschritte

Video-PoC verfügbar unter https://www.youtube.com/watch?v=RA7kzuHOWqA

  1. Sie sollten einen Apache-Server mit einer der oben genannten anfälligen Versionen von Tomcat auf einem Windows-PC installiert haben. Außerdem sollten Sie Java JRE auf demselben Rechner installiert haben.
  2. In meinem Fall habe ich Apache Tomcat 9.0.0.M1 auf dem XAMPP-Server installiert.
  3. Nehmen Sie nach der Installation von Tomcat die folgenden Änderungen in der Konfiguration vor:

a. Ändern Sie die Datei conf/context.xml und setzen Sie <Context privileged="true">

img

b. Nehmen Sie die folgenden Änderungen in der Datei /conf/web.xml in der Nähe der Zeilen 366 bzw. 420 vor.

img

enableCmdLineArguments muss auf True gesetzt sein, da wir Tomcat 9 verwenden.

root@kitploit:~
<servlet>
  	<servlet-name>cgi</servlet-name>
  	<servlet-class>org.apache.catalina.servlets.CGIServlet</servlet-class>
  	<init-param>
  	  <param-name>cgiPathPrefix</param-name>
  	  <param-value>WEB-INF/cgi</param-value>
  	</init-param>
  	<init-param>
  	  <param-name>executable</param-name>
  	  <param-value></param-value>
  	</init-param>
  	<init-param>
  	  <param-name>enableCmdLineArguments</param-name>
  	  <param-value>true</param-value>
  	</init-param>
  	<load-on-startup>5</load-on-startup>
  </servlet>

img

root@kitploit:~
<servlet-mapping>
<servlet-name>cgi</servlet-name>
<url-pattern>/cgi/*</url-pattern>
</servlet-mapping>
  1. Erstellen Sie einen Ordner für die CGI-Dateien in webapps\ROOT\WEB-INF\cgi und fügen Sie eine Datei ism.bat mit folgendem Inhalt hinzu:

img

root@kitploit:~
@echo off
echo Content-Type: text/plain
echo .
  1. Wir sind nun fertig; starten Sie den Server und gehen Sie zu http://localhost:8080/cgi/ism.bat?&dir, um zu prüfen, ob der Server funktioniert.

img

  1. Hier haben wir die RCE gefunden. Um eine Reverse-Shell mit netcat zu erhalten, starten Sie den Server auf dem Angreiferrechner mit nc.exe im Verzeichnis und schalten Sie einen netcat-Listener ein, um die Verbindung zu empfangen.
  2. Führen Sie nun cve-2019-0232.py aus und fügen Sie die Server-IP und den Port hinzu.
  3. Wir haben schließlich die Reverse-Shell erhalten.

img

Link zum Video-PoC: https://www.youtube.com/watch?v=RA7kzuHOWqA

Gegenmaßnahmen

  • Deaktivieren Sie die CGI-Unterstützung (sie ist standardmäßig deaktiviert).
  • Benutzer sollten den CGI-Servlet-Initialisierungsparameter enableCmdLineArguments auf false setzen, um eine mögliche Ausnutzung von CVE-2019-0232 zu verhindern.
  • Apache hat das „regex“-Muster [[a-zA-Z0-9\Q-_.\\/:\E]+] implementiert, um zu verhindern, dass Eingaben auf Windows-Systemen als Befehle ausgeführt werden.

Referenzen

  • https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-0232
  • https://wwws.nightwatchcybersecurity.com/2019/04/30/remote-code-execution-rce-in-cgi-servlet-apache-tomcat-on-windows-cve-2019-0232/
  • https://tomcat.apache.org/tomcat-9.0-doc/cgi-howto.html
  • https://www.trendmicro.com/en_us/research/19/d/uncovering-cve-2019-0232-a-remote-code-execution-vulnerability-in-apache-tomcat.html
  • https://codewhitesec.blogspot.com/2016/02/java-and-command-line-injections-in-windows.html
  • https://github.com/apache/tomcat/commit/4b244d827ade2a36ef3b8734939541207b78f35c?branch=4b244d827ade2a36ef3b8734939541207b78f35c&diff=split
Tool herunterladen