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
Outils/GitHubGitHub/jaiguptanick/cve-2019-0232
Analyse des VulnérabilitésExploitationExploitation d'Applications WebTests d'IntrusionOutil d'Accès à DistanceDéveloppement de Charges Utiles
GitHubjaiguptanick/cve-2019-0232

CVE-2019-0232

Analyse de vulnérabilité et PoC pour Apache Tomcat - CGIServlet enableCmdLineArguments Remote Code Execution (RCE)

Voir le dépôt
30111il y a 5 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

CVE-2019-0232

Analyse de la vulnérabilité et PoC pour Apache Tomcat - CGIServlet enableCmdLineArguments Exécution de code à distance (RCE)

Vidéo PoC disponible à l'adresse https://www.youtube.com/watch?v=RA7kzuHOWqA

Détails

Apache Tomcat présente une vulnérabilité dans le servlet CGI, qui peut être exploitée pour réaliser une exécution de code à distance (RCE). Cette vulnérabilité n'est exploitable que sur Windows avec une configuration non par défaut combinée à des fichiers batch. Common Gateway Interface (CGI) est un protocole standard permettant aux serveurs web d'exécuter des programmes/scripts en ligne de commande via des requêtes web. Ce protocole permet également de passer des arguments en ligne de commande au script ou programme exécuté via les paramètres d'URL. Le protocole lui-même est défini dans la RFC 3875. Lorsqu'il est exécuté sur Windows avec enableCmdLineArguments activé, le servlet CGI d'Apache Tomcat est vulnérable à une RCE en raison d'un bug dans la manière dont le JRE transmet les arguments de ligne de commande à Windows. Le servlet CGI est désactivé par défaut. L'option CGI enableCmdLineArguments est désactivée par défaut dans Tomcat 9.0.x (et sera désactivée par défaut dans toutes les versions en réponse à cette vulnérabilité).

Versions affectées

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

Étapes d'exploitation

Vidéo PoC disponible à l'adresse https://www.youtube.com/watch?v=RA7kzuHOWqA

  1. Vous devez disposer d'un serveur Apache avec l'une des versions vulnérables de Tomcat ci-dessus installée sur un PC Windows. De plus, vous devez avoir Java JRE installé sur la même machine.
  2. Dans mon cas, j'ai installé Apache Tomcat 9.0.0.M1 sur le serveur XAMPP.
  3. Après avoir installé Tomcat, effectuez les modifications suivantes dans la configuration :

a. Modifiez le fichier conf/context.xml et définissez <Context privileged="true">

img

b. Effectuez les modifications suivantes dans le fichier /conf/web.xml près des lignes 366 et 420, respectivement.

img

enableCmdLineArguments doit être défini sur True car nous utilisons Tomcat 9.

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. Créez un dossier pour les fichiers CGI dans webapps\ROOT\WEB-INF\cgi et ajoutez un fichier ism.bat avec le contenu suivant :

img

root@kitploit:~
@echo off
echo Content-Type: text/plain
echo .
  1. Tout est prêt maintenant ; démarrez le serveur et accédez à http://localhost:8080/cgi/ism.bat?&dir pour vérifier si le serveur fonctionne.

img

  1. Ici, nous avons trouvé la RCE. Maintenant, pour obtenir un reverse shell à l'aide de netcat, démarrez un serveur sur la machine de l'attaquant avec nc.exe dans le répertoire et activez un écouteur netcat pour recevoir la connexion.
  2. Exécutez maintenant cve-2019-0232.py en y ajoutant l'adresse IP et le port du serveur.
  3. Nous avons finalement obtenu le reverse shell.

img

Lien vers la vidéo PoC : https://www.youtube.com/watch?v=RA7kzuHOWqA

Atténuation

  • Désactivez le support CGI (il est désactivé par défaut).
  • Les utilisateurs doivent définir le paramètre d'initialisation du servlet CGI enableCmdLineArguments sur false pour empêcher une éventuelle exploitation de CVE-2019-0232.
  • Apache a implémenté un motif « regex » [[a-zA-Z0-9\Q-_.\\/:\E]+] pour empêcher l'entrée d'être exécutée en tant que commandes sur les systèmes Windows.

Références

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