Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2019-0232 — Analisi della vulnerabilità e PoC per Apache Tomcat - CGIServlet enableCmdLineArguments Remote Code Execution (RCE) | Kitploit
Strumenti/GitHubGitHub/jaiguptanick/cve-2019-0232
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPenetration TestingStrumento di Accesso RemotoSviluppo Payload
GitHubjaiguptanick/cve-2019-0232

CVE-2019-0232

Analisi della vulnerabilità e PoC per Apache Tomcat - CGIServlet enableCmdLineArguments Remote Code Execution (RCE)

Vedi Repository
30114 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

CVE-2019-0232

Analisi della vulnerabilità e PoC per Apache Tomcat - CGIServlet enableCmdLineArguments Esecuzione Remota di Codice (RCE)

Video PoC disponibile su https://www.youtube.com/watch?v=RA7kzuHOWqA

Dettagli

Apache Tomcat presenta una vulnerabilità nel CGI Servlet che può essere sfruttata per ottenere l'esecuzione remota di codice (RCE). È sfruttabile solo su Windows in una configurazione non predefinita in combinazione con file batch. Common Gateway Interface (CGI) è un protocollo standard che consente ai server web di eseguire programmi/script da riga di comando tramite richieste web. Questo protocollo permette anche di passare argomenti da riga di comando allo script o programma in esecuzione tramite parametri URL. Il protocollo stesso è definito nella RFC 3875. Quando eseguito su Windows con enableCmdLineArguments abilitato, il CGI Servlet in Apache Tomcat è vulnerabile all'RCE a causa di un bug nel modo in cui il JRE passa gli argomenti da riga di comando a Windows. Il CGI Servlet è disabilitato per impostazione predefinita. L'opzione CGI enableCmdLineArguments è disabilitata per impostazione predefinita in Tomcat 9.0.x (e sarà disabilitata per impostazione predefinita in tutte le versioni in risposta a questa vulnerabilità).

Versioni interessate

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

Passaggi di sfruttamento

Video PoC disponibile su https://www.youtube.com/watch?v=RA7kzuHOWqA

1.È necessario avere un server Apache con una delle versioni vulnerabili di Tomcat elencate sopra installata su PC Windows. Inoltre, è necessario avere Java JRE installato sulla stessa macchina. 2.Nel mio caso ho installato Apache Tomcat 9.0.0.M1 sul server XAMPP. 3.Dopo aver installato Tomcat, apportare le seguenti modifiche alla configurazione:

a.Modificare conf/context.xml e impostare <Context privileged="true">

img

b.Apportare le seguenti modifiche nel file /conf/web.xml rispettivamente vicino alle righe 366 e 420.

img

enableCmdLineArguments deve essere impostato su True poiché stiamo utilizzando 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.Creare una cartella per i file CGI in webapps\ROOT\WEB-INF\cgi e aggiungere un file ism.bat con il seguente contenuto:

img

root@kitploit:~
@echo off
echo Content-Type: text/plain
echo .
  1. Ora abbiamo finito; avviare il server e andare su http://localhost:8080/cgi/ism.bat?&dir per verificare che il server funzioni.

img

  1. Ora che abbiamo trovato l'RCE, per ottenere una reverse shell usando netcat, avviare il server sulla macchina attaccante con nc.exe nella directory e attivare un listener netcat per ricevere la connessione.
  2. Ora eseguire cve-2019-0232.py aggiungendo l'IP del server e la porta.
  3. Abbiamo finalmente ottenuto la reverse shell.

img

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

Mitigazione

  • Disabilitare il supporto CGI (è disabilitato per impostazione predefinita).
  • Gli utenti dovrebbero impostare il parametro di inizializzazione del CGI Servlet enableCmdLineArguments su false per prevenire un possibile sfruttamento di CVE-2019-0232.
  • Apache ha implementato il pattern “regex” [[a-zA-Z0-9\Q-_.\\/:\E]+] per impedire che l'input venga eseguito come comandi sui sistemi Windows.

Riferimenti

  • 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
Scarica lo strumento