Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2019-0232 — Análise de vulnerabilidade e PoC para o Apache Tomcat - CGIServlet enableCmdLineArguments Remote Code Execution (RCE) | Kitploit
Ferramentas/GitHubGitHub/jaiguptanick/cve-2019-0232
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoFerramenta de Acesso RemotoDesenvolvimento de Payloads
GitHubjaiguptanick/cve-2019-0232

CVE-2019-0232

Análise de vulnerabilidade e PoC para o Apache Tomcat - CGIServlet enableCmdLineArguments Remote Code Execution (RCE)

Ver Repositório
3011há 4 anosRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

CVE-2019-0232

Análise de vulnerabilidade e PoC para o Apache Tomcat - CGIServlet enableCmdLineArguments Execução Remota de Código (RCE)

Vídeo PoC disponível em https://www.youtube.com/watch?v=RA7kzuHOWqA

Detalhes

O Apache Tomcat possui uma vulnerabilidade no Servlet CGI, que pode ser explorada para alcançar execução remota de código (RCE). Isso é explorável apenas quando executado no Windows em uma configuração não padrão em conjunto com arquivos batch. Common Gateway Interface (CGI) é um protocolo padrão que permite que servidores web executem programas/scripts de linha de comando através de requisições web. Este protocolo também permite passar argumentos de linha de comando para o script ou programa sendo executado via parâmetros de URL. O protocolo em si é definido na RFC 3875. Quando executado no Windows com enableCmdLineArguments habilitado, o Servlet CGI no Apache Tomcat está vulnerável a RCE devido a um bug na forma como o JRE passa argumentos de linha de comando para o Windows. O Servlet CGI está desabilitado por padrão. A opção CGI enableCmdLineArguments está desabilitada por padrão no Tomcat 9.0.x (e será desabilitada por padrão em todas as versões em resposta a esta vulnerabilidade).

Versões Afetadas

  • Apache Tomcat 9.0.0.M1 até 9.0.17
  • Apache Tomcat 8.5.0 até 8.5.39
  • Apache Tomcat 7.0.0 até 7.0.93

Passos de Exploração

Vídeo PoC disponível em https://www.youtube.com/watch?v=RA7kzuHOWqA

1.Você deve ter um servidor Apache com qualquer uma das versões vulneráveis do Tomcat instalada em um PC com Windows. Além disso, você deve ter o Java JRE instalado na mesma máquina. 2.No meu caso, instalei o Apache Tomcat 9.0.0.M1 no servidor XAMPP. 3.Após instalar o Tomcat, faça as seguintes alterações na configuração:

a.Modifique o conf/context.xml e defina <Context privileged="true">

img

b.Faça as seguintes alterações no arquivo /conf/web.xml perto das linhas 366 e 420, respectivamente.

img

enableCmdLineArguments precisa ser True, pois 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.Crie uma pasta para os arquivos CGI em webapps\ROOT\WEB-INF\cgi e adicione um arquivo ism.bat com o seguinte conteúdo:

img

root@kitploit:~
@echo off
echo Content-Type: text/plain
echo .
  1. Está tudo pronto; inicie o servidor e vá para http://localhost:8080/cgi/ism.bat?&dir para verificar se o servidor está funcionando.

img

  1. Aqui, encontramos o RCE; agora, para obter um reverse shell usando netcat, inicie o servidor na máquina atacante com nc.exe no diretório e ative um listener netcat para receber a conexão.
  2. Agora execute o cve-2019-0232.py adicionando o IP do servidor e a porta nele.
  3. Finalmente obtivemos o reverse shell.

img

Link para o Vídeo PoC: https://www.youtube.com/watch?v=RA7kzuHOWqA

Mitigação

  • Desabilite o suporte CGI (está desabilitado por padrão).
  • Os usuários devem definir o parâmetro de inicialização enableCmdLineArguments do Servlet CGI como false para evitar possível exploração do CVE-2019-0232.
  • Apache implementou o padrão “regex” [[a-zA-Z0-9\Q-_.\\/:\E]+] para evitar que a entrada seja executada como comandos em sistemas Windows.

Referências

  • 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
Baixar ferramenta