Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2019-0232 — Análisis de vulnerabilidad y PoC para Apache Tomcat - CGIServlet enableCmdLineArguments Ejecución remota de código (RCE) | Kitploit
Herramientas/GitHubGitHub/jaiguptanick/cve-2019-0232
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónHerramienta de Acceso RemotoDesarrollo de Payloads
GitHubjaiguptanick/cve-2019-0232

CVE-2019-0232

Análisis de vulnerabilidad y PoC para Apache Tomcat - CGIServlet enableCmdLineArguments Ejecución remota de código (RCE)

Ver Repositorio
30111hace 5 añosRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

CVE-2019-0232

Análisis de vulnerabilidad y PoC para Apache Tomcat - CGIServlet enableCmdLineArguments Ejecución Remota de Código (RCE)

Vídeo PoC disponible en https://www.youtube.com/watch?v=RA7kzuHOWqA

Detalles

Apache Tomcat tiene una vulnerabilidad en el Servlet CGI que puede ser explotada para lograr ejecución remota de código (RCE). Esto solo es explotable cuando se ejecuta en Windows en una configuración no predeterminada junto con archivos por lotes. Common Gateway Interface (CGI) es un protocolo estándar que permite a los servidores web ejecutar programas/scripts de línea de comandos mediante solicitudes web. Este protocolo también permite pasar argumentos de línea de comandos al script o programa que se ejecuta mediante parámetros de URL. El protocolo en sí está definido en RFC 3875. Cuando se ejecuta en Windows con enableCmdLineArguments habilitado, el Servlet CGI en Apache Tomcat es vulnerable a RCE debido a un error en la forma en que el JRE pasa los argumentos de línea de comandos a Windows. El Servlet CGI está deshabilitado por defecto. La opción CGI enableCmdLineArguments está deshabilitada por defecto en Tomcat 9.0.x (y estará deshabilitada por defecto en todas las versiones en respuesta a esta vulnerabilidad).

Versiones Afectadas

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

Pasos de explotación

Vídeo PoC disponible en https://www.youtube.com/watch?v=RA7kzuHOWqA

1.Debes tener un servidor Apache con cualquiera de las versiones vulnerables de Tomcat mencionadas anteriormente instalado en . Además, debes tener Java JRE instalado en la misma máquina. 2.En mi caso, he instalado Apache Tomcat 9.0.0.M1 en el servidor XAMPP. 3.Después de instalar Tomcat, realiza los siguientes cambios en la configuración:

Windows PC

a.Modifica el archivo conf/context.xml y establece <Context privileged="true">

img

b.Realiza los siguientes cambios en el archivo /conf/web.xml cerca de las líneas 366 y 420, respectivamente.

img

enableCmdLineArguments debe ser True ya que estamos usando 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>

4.Crea una carpeta para los archivos CGI en webapps\ROOT\WEB-INF\cgi y agrega un archivo ism.bat con el siguiente contenido:

img

root@kitploit:~
@echo off
echo Content-Type: text/plain
echo .
  1. Ya hemos terminado; inicia el servidor y ve a http://localhost:8080/cgi/ism.bat?&dir para comprobar si el servidor está funcionando.

img

  1. Aquí encontramos el RCE; ahora, para obtener la shell inversa usando netcat, inicia el servidor en la máquina atacante con nc.exe en el directorio y activa un listener de netcat para recibir la conexión.
  2. Ahora ejecuta el cve-2019-0232.py agregando la IP del servidor y el puerto en él.
  3. Finalmente obtuvimos la shell inversa.

img

Enlace al Vídeo PoC: https://www.youtube.com/watch?v=RA7kzuHOWqA

Mitigación

  • Deshabilitar el soporte CGI (está deshabilitado por defecto).
  • Los usuarios deben establecer el parámetro de inicialización del Servlet CGI enableCmdLineArguments en false para prevenir una posible explotación de CVE-2019-0232.
  • Apache implementó el patrón “regex” [[a-zA-Z0-9\Q-_.\\/:\E]+] para evitar que la entrada se ejecute como comandos en sistemas Windows.

Referencias

  • 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
Descargar herramienta