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

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

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

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

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

Категории

Все категории
Loading categories
POC-CVE-2025-24813-Apache-Tomcat-Remote-Code-Execution — Этот репозиторий содержит автоматизированный эксплойт, разработанный в образовательных и исследовательских целях в области кибербезопасности, предназначенный для демонстрации потенциальной уязвимости удаленного выполнения кода (RCE) в Apache Tomcat (CVE-2025-24813). | Kitploit
Инструменты/GitHubGitHub/makavellik/poc-cve-2025-24813-apache-tomcat-remote-code-execution
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийОбход WAFТестирование на ПроникновениеОбучение и ОбразованиеРазработка Полезной Нагрузки
GitHubmakavellik/poc-cve-2025-24813-apache-tomcat-remote-code-execution

POC-CVE-2025-24813-Apache-Tomcat-Remote-Code-Execution

Этот репозиторий содержит автоматизированный эксплойт, разработанный в образовательных и исследовательских целях в области кибербезопасности, предназначенный для демонстрации потенциальной уязвимости удаленного выполнения кода (RCE) в Apache Tomcat (CVE-2025-24813).

Репозиторий
271 год назадЕщё не проверено

Популярное

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

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

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

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

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

Python Лицензия MIT Активен Скрытый режим Симбиоз


⚠️🚀 CVE-2025-24813 — Apache Tomcat RCE Exploitation Suite

root@kitploit:~

⚡ Версия: 1.0 🛡️ ID CVE: CVE-2025-24813 (Apache Tomcat RCE) 🧬 Полезные нагрузки: ysoserial / Java 🌐 Режим: Интерактивный + Скрытный 🔬 Использование: Этическое, исследовательское, образовательное


🌌 Обзор

Этот инструмент разработан как футуристический набор эксплойтов, ориентированный на:

  • 🔍 Оценку Apache Tomcat на уязвимость CVE-2025-24813
  • 🛠️ Автоматизацию процесса доказательства концепции (PoC)
  • 🧠 Выполнение пользовательских полезных нагрузок с продвинутым обходом
  • 🧬 Адаптацию к современным защитам (WAF, обнаружение, имитация трафика)

🧪 Предназначен для профессионалов в области кибербезопасности, исследователей, пентестеров и red team.


🧠 Что делает этот скрипт?

🛸 Основные функции

✅ Интерактивный и интуитивно понятный интерфейс

✅ Динамические полезные нагрузки (ysoserial или скомпилированный Java)

✅ Хамелеонские заголовки для обхода WAF

✅ Автоматический обход + фрагментация полезных нагрузок

✅ Снятие отпечатков выполнения на сервере

✅ Детальное логирование по каждой цели

✅ Динамический баннер в стиле киберпанк (🔮 glitch animation)

✅ Live feedback в консоли (с Rich & Colorama)


⚙️ Требования

Установите необходимые зависимости с помощью:

root@kitploit:~
pip install -r requirements.txt

Зависимости:

root@kitploit:~
requests
colorama
rich
validators

И убедитесь, что у вас есть:

  • ☕ Java и javac в PATH
  • 📦 ysoserial.jar, если вы используете полезную нагрузку типа ysoserial

🧪 Режим использования

Запустите скрипт:

root@kitploit:~
python3 POC-Exploit_CVE_2025_24813.py

И завершите настройку:

🧬 Выберите тип полезной нагрузки 💣 Укажите команду 🌐 Введите URL цели 🔧 Настройте обход и SSL

🎯 Визуальный пример:

root@kitploit:~
🔗 [?] Введите URL цели: https://victima.org
💣 [?] Команда для выполнения: whoami
🧬 [?] Тип полезной нагрузки: ysoserial
📂 [?] Путь к ysoserial.jar: ysoserial.jar
🔧 [?] Гаджет: CommonsCollections6
🔐 [?] Проверять SSL? (да/нет): нет

🚀 Выполнение...
🧬 Обнаружен WAF... меняем стратегию
⚙️ Загрузка полезной нагрузки...
💥 Подтверждение удаленного выполнения
✅ Результат: 'apache'

🌈 Визуальная архитектура скрипта

root@kitploit:~
┌──────────────────────────────┐
│  Интерактивный режим          │
├──────────────────────────────┤
│  Валидация URL                │
│  Обнаружение сессии           │
│  Обнаружение WAF              │
│  Генерация полезной нагрузки  │
│  Обходная загрузка через PUT  │
│  Проверка выполнения          │
└──────────────────────────────┘
        ↘ ЛОГИ ПО ЦЕЛИ

🧬 Типы полезных нагрузок

  • ysoserial: На основе известного инструмента ysoserial, сериализует уязвимые гаджеты для выполнения команд.
  • Java Custom: Компилирует пользовательский .java, который выполняет удаленную команду с сервера.

Распространенные гаджеты:

  • CommonsCollections6
  • Spring1
  • Jdk7u21

📁 Структура проекта

root@kitploit:~
POC-Exploit_CVE_2025_24813.py   # Основной скрипт
ysoserial.jar               # Требуется, если используете 'ysoserial'
logs/                       # Папка с отдельными логами по каждой цели
payload.ser                 # Временно сгенерированная полезная нагрузка
Exploit.java / .class       # Временные файлы для Java

👨‍⚖️ Ответственное и этическое использование

Этот инструмент был создан исключительно в законных и образовательных целях.

✅ Разрешено:

  • Аудиты безопасности с разрешения
  • Личные лаборатории и тестовые среды
  • Академические исследования

🚫 Запрещено:

  • Использование на чужих системах без согласия
  • Незаконная или несанкционированная деятельность
  • Распространение со злонамеренными целями

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

Ни автор, ни соавторы не несут ответственности за неправомерное использование. Вы отвечаете за свои действия.


🧠 Авторы

  • 👤 Автор: [ByMakaveli]
  • 🔬 Исследование: Основано на современных методах обхода и эксплуатации Java
  • 🧰 Использованные инструменты: ysoserial, Java, Rich, Colorama, requests

🛰️ Ссылка на CVE

📄 CVE-2025-24813: Удаленное выполнение кода в Apache Tomcat 🔗 Подробнее на CVE MITRE


📜 Лицензия

root@kitploit:~
MIT License

Copyright (c) 2025

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files...

Обратитесь к файлу LICENSE для получения дополнительной информации.


💎 Визуальное вдохновение

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

✨ Не просто эксплойты... это техническая симфония обхода и цифрового контроля.



🔧 Необходимые зависимости

1. Python

  • Рекомендуемая версия: Python 3.8+

  • Библиотеки Python, которые необходимо установить:

    root@kitploit:~
    pip install requests colorama
    

2. Java

Скрипт использует два способа создания полезных нагрузок:

  1. Ysoserial → внешний Java-инструмент, генерирующий полезные нагрузки для десериализации.
  2. Собственная компиляция на Java → когда вы выбираете опцию "java" вместо "ysoserial".

Поэтому вам нужно:

  • Java JDK (не только JRE, потому что код компилируется). Проверьте с помощью:

    root@kitploit:~
    java -version
    javac -version
    

    Если обе команды работают, вы готовы.


3. Ysoserial

  • Скачайте .jar отсюда 👉 https://github.com/frohoff/ysoserial

  • Сохраните его в той же директории, что и скрипт, или укажите полный путь, когда вас спросят. Пример:

    root@kitploit:~
    java -jar ysoserial.jar CommonsCollections6 "calc.exe" > test.ser
    

4. Операционная система

  • В Windows полезная нагрузка по умолчанию (calc.exe) откроет калькулятор.
  • В Linux/Mac вы можете изменить команду, например, на gnome-calculator или xcalc.

⚙️ Краткое описание установки

  1. Установить Python 3.8+

  2. Установить библиотеки:

    root@kitploit:~
    pip install requests colorama etc
    
  3. Установить Java JDK 8+

    root@kitploit:~
    java -version
    javac -version
    
  4. Скачать ysoserial.jar в папку со скриптом.


👉 После этого вы сможете запустить скрипт в безопасном лабораторном режиме (только в контролируемых средах, для тестирования).


🛡️ README — Безопасный пошаговый учебник

Версия: 1.0 Цель: Это руководство объясняет, как подготовить полностью безопасную среду для тестирования имеющегося у вас скрипта, не затрагивая реальные системы. Включает тестовый сервер (mock), безопасный режим (DRY_RUN / SAFE_TEST) и четкие шаги для запуска инструмента в лаборатории.


⚠️ Правовое и этическое предупреждение (ПРОЧИТАТЬ ПЕРЕД НАЧАЛОМ)

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

🔍 Что содержит этот учебник

  1. Подготовка изолированной среды Python.
  2. Создание тестового сервера (mock), который имитирует ответы целевого сервиса.
  3. Подготовка фиктивной (безвредной) полезной нагрузки для тестирования.
  4. Добавление безопасного режима (SAFE_TEST) в скрипт, чтобы он не выполнял внешние инструменты и опасные действия.
  5. Пошаговый запуск и проверка результатов (логи).
  6. Автоматизированные тесты и лучшие практики.

🧾 Требования

  • Python 3.8+ установлен.
  • pip доступен.
  • Рекомендуется: virtualenv или venv.

Установите зависимости:

root@kitploit:~
python3 -m venv .venv
source .venv/bin/activate   # Linux / macOS
.\.venv\Scripts\activate  # Windows (PowerShell/Command Prompt)

pip install -U pip
pip install requests colorama flask

Примечание: flask используется только для локального тестового сервера (mock).


🧪 1) Тестовый сервер (mock) — безопасный код

Создайте файл mock_server.py со следующим содержимым. Сервер имитирует конечные точки, которые ожидает скрипт, и возвращает управляемые статусы (200, 409, 500), чтобы вы могли проверить логику скрипта, не трогая реальные серверы.

root@kitploit:~
# mock_server.py — безопасный тестовый сервер
from flask import Flask, request, make_response, jsonify

app = Flask(__name__)
uploads = {}

@app.route('/index.jsp', methods=['GET'])
def index():
    # Имитирует страницу, которая может вернуть cookie JSESSIONID или текст с "Session ID"
    resp = make_response('Index page — Session ID: testsession')
    resp.set_cookie('JSESSIONID', 'testsession')
    return resp

@app.route('/check.txt', methods=['PUT'])
def check_put():
    # Имитирует ресурс, доступный для записи
    return ('OK', 200)

@app.route('/uploads/../sessions/<session_id>.session', methods=['PUT'])
def upload_session(session_id):
    # Имитирует, что загрузка была принята, но возвращает 409 (поведение, которое ожидает скрипт)
    uploads[session_id] = True
    return ('Conflict - uploaded', 409)

@app.route('/', methods=['GET'])
def root():
    # Если cookie совпадает и сессия была "загружена", возвращаем 500, имитируя сбой из-за десериализации
    session = request.cookies.get('JSESSIONID')
    if session and uploads.get(session):
        return ('Internal Server Error', 500)
    return ('Hello from mock server', 200)

if __name__ == '__main__':
    app.run(host='127.0.0.1', port=8000, debug=True)

Как запустить:

root@kitploit:~
python mock_server.py
# Mock будет слушать на http://127.0.0.1:8000

📁 2) Подготовка фиктивной (безвредной) полезной нагрузки

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

root@kitploit:~
echo "DUMMY_PAYLOAD" > payload.ser

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


⚙️ 3) Добавление безопасного режима (SAFE_TEST) в исходный скрипт

Чтобы скрипт не вызывал внешние утилиты (Java/ysoserial) и не выполнял опасные действия, добавьте этот блок в начало основного скрипта (перед любой генерацией/вызовом subprocess):

root@kitploit:~
import os
SAFE_TEST = os.environ.get('SAFE_TEST', '0') == '1'

Затем измените (или оберните) функции генерации/загрузки, чтобы они вели себя безопасно, когда SAFE_TEST равно True.

Пример минимальных изменений для generate_ysoserial_payload и generate_java_payload:

root@kitploit:~
def generate_ysoserial_payload(command, ysoserial_path, gadget, payload_file, target_url):
    if SAFE_TEST:
        log_info("SAFE_TEST активен — создаем фиктивную полезную нагрузку (неисполняемую)", target_url)
        with open(payload_file, 'wb') as f:
            f.write(b"DUMMY_PAYLOAD")
        return payload_file
    # --- оригинальное поведение только если SAFE_TEST == False ---


def generate_java_payload(command, payload_file, target_url):
    if SAFE_TEST:
        log_info("SAFE_TEST активен — создаем фиктивную java полезную нагрузку (неисполняемую)", target_url)
        with open(payload_file, 'wb') as f:
            f.write(b"DUMMY_JAVA_PAYLOAD")
        return payload_file
    # --- оригинальное поведение только если SAFE_TEST == False ---

А в upload_and_verify_payload, если SAFE_TEST равно True, используйте обычный поток (mock его примет), но не выполняйте команды за пределами скрипта.

Как активировать SAFE_TEST:

  • Linux/macOS:

    root@kitploit:~
    export SAFE_TEST=1
    
  • Windows (PowerShell):

    root@kitploit:~
    $env:SAFE_TEST = "1"
    

▶️ 4) Пошаговый запуск (безопасный режим)

  1. Запустите виртуальное окружение и убедитесь, что зависимости установлены (см. раздел Требования).

  2. Запустите mock_server.py:

    root@kitploit:~
    python mock_server.py
    
  3. Создайте фиктивную полезную нагрузку, если вы не используете SAFE_TEST или он не создает ее за вас:

    root@kitploit:~
    echo "DUMMY_PAYLOAD" > payload.ser
    
  4. Активируйте безопасный режим в терминале:

    root@kitploit:~
    export SAFE_TEST=1   # Linux/macOS
    # или в PowerShell: $env:SAFE_TEST = "1"
    
  5. Запустите основной скрипт:

    root@kitploit:~
    python3 ваш_скрипт.py
    
  6. Ответьте на запросы (вы будете использовать лабораторные значения):

    • Enter target URL: http://127.0.0.1:8000
    • Enter command to execute: оставьте по умолчанию (не будет выполнена в SAFE_TEST)
    • Payload type: ysoserial (скрипт, с SAFE_TEST=1, создаст фиктивную полезную нагрузку вместо вызова внешних инструментов)
    • Path to ysoserial.jar: (можно оставить ysoserial.jar — не будет использоваться в безопасном режиме)
    • Verify SSL? no (ваш mock использует HTTP)
  7. Наблюдайте вывод в консоли: вы должны увидеть сообщения Server is writable via PUT, Payload uploaded with status 409 и Exploit succeeded! Server returned 500 after deserialization. — это только на mock и означает, что логический поток скрипта работает.

  8. Проверьте логи в logs/ — скрипт сохраняет записи с метками времени. Например, logs/127_0_0_1_8000.log (в зависимости от санитизированного имени цели).


🔎 5) Что проверять в тестах

  • Что функция check_writable_servlet обнаруживает успешный PUT к конечной точке /check.txt.
  • Что при загрузке payload.ser mock возвращает 409, а затем скрипт делает GET с cookie JSESSIONID.
  • Что mock возвращает 500 и скрипт интерпретирует это как успех логической проверки.
  • Что логи содержат все ожидаемые записи и что временные файлы (если они есть) удаляются.

🧪 6) Модульные тесты (рекомендация)

  • Используйте pytest и requests-mock для имитации HTTP-ответов.

  • Создайте тесты для:

    • validate_url — правильные/ошибочные вводы.
    • retry_request — имитация исключений и повторных попыток.
    • detect_waf — имитация заголовков Server с сигнатурами и без.
    • upload_and_verify_payload — использование имитации сервера для проверки потока.

Простой пример с requests-mock (скелет):

root@kitploit:~
# test_script.py
import requests
import requests_mock
from ваш_скрипт import validate_url, retry_request

def test_validate_url():
    assert validate_url('http://127.0.0.1:8000')
    assert not validate_url('notaurl')

def test_retry_request_success():
    # используйте requests_mock для имитации GET и проверки retry_request
    pass

Автор:ByMakavali

❌ Что НЕ делать

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

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