Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2019-0232 — Анализ уязвимости и PoC для Apache Tomcat - CGIServlet enableCmdLineArguments Remote Code Execution (RCE) | Kitploit
Инструменты/GitHubGitHub/jaiguptanick/cve-2019-0232
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеИнструмент Удаленного ДоступаРазработка Полезной Нагрузки
GitHubjaiguptanick/cve-2019-0232

CVE-2019-0232

Анализ уязвимости и PoC для Apache Tomcat - CGIServlet enableCmdLineArguments Remote Code Execution (RCE)

Репозиторий
301155 лет назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

CVE-2019-0232

Анализ уязвимости и PoC для Apache Tomcat - CGIServlet enableCmdLineArguments Remote Code Execution (RCE)

Видео PoC доступно по адресу https://www.youtube.com/watch?v=RA7kzuHOWqA

Подробности

Apache Tomcat содержит уязвимость в CGI-сервлете, которая может быть использована для удаленного выполнения кода (RCE). Эта уязвимость проявляется только при работе на Windows в нестандартной конфигурации совместно с пакетными файлами. Common Gateway Interface (CGI) — это стандартный протокол, позволяющий веб-серверам выполнять программы/скрипты командной строки через веб-запросы. Этот протокол также позволяет передавать аргументы командной строки скрипту или программе через параметры URL. Сам протокол определён в RFC 3875. При работе на Windows с включенным enableCmdLineArguments CGI-сервлет в Apache Tomcat уязвим для RCE из-за ошибки в том, как JRE передает аргументы командной строки в Windows. CGI-сервлет отключен по умолчанию. Опция CGI enableCmdLineArguments отключена по умолчанию в Tomcat 9.0.x (и будет отключена по умолчанию во всех версиях в ответ на эту уязвимость).

Затронутые версии

  • 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

Шаги эксплуатации

Видео PoC доступно по адресу https://www.youtube.com/watch?v=RA7kzuHOWqA

  1. У вас должен быть сервер Apache с любой из указанных выше уязвимых версий Tomcat, установленных на Windows ПК. Также на той же машине должна быть установлена Java JRE.
  2. В моем случае я установил Apache Tomcat 9.0.0.M1 на сервер XAMPP.
  3. После установки Tomcat внесите следующие изменения в конфигурацию:

a. Измените conf/context.xml и установите <Context privileged="true">

img

b. Внесите следующие изменения в файл /conf/web.xml около строк 366 и 420 соответственно.

img

enableCmdLineArguments должно быть установлено в True, так как мы используем Tomcat 9.

<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

<servlet-mapping>
<servlet-name>cgi</servlet-name>
<url-pattern>/cgi/*</url-pattern>
</servlet-mapping>
  1. Создайте папку для CGI-файлов в webapps\ROOT\WEB-INF\cgi и добавьте файл ism.bat со следующим содержимым:

img

@echo off
echo Content-Type: text/plain
echo .
  1. Теперь всё готово; запустите сервер и перейдите по адресу http://localhost:8080/cgi/ism.bat?&dir, чтобы проверить, работает ли сервер.

img

  1. Здесь мы нашли RCE; теперь, чтобы получить обратную оболочку с помощью netcat, запустите сервер на машине атакующего с nc.exe в директории и включите слушатель netcat для приема соединения.
  2. Теперь запустите cve-2019-0232.py, добавив IP-адрес и порт сервера.
  3. Наконец, мы получили обратную оболочку.

img

Ссылка на видео PoC: https://www.youtube.com/watch?v=RA7kzuHOWqA

Смягчение

  • Отключите поддержку CGI (по умолчанию она отключена).
  • Пользователям следует установить параметр инициализации CGI-сервлета enableCmdLineArguments в значение false, чтобы предотвратить возможную эксплуатацию CVE-2019-0232.
  • Apache реализовал шаблон “regex” [[a-zA-Z0-9\Q-_.\\/:\E]+] для предотвращения выполнения ввода как команд в системах Windows.

Ссылки

  • 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
Скачать инструмент