CVE-2025-55182 Инструмент обнаружения и эксплуатации уязвимости
Описание проекта
Этот инструмент представляет собой GUI-приложение на основе Java Swing для обнаружения и эксплуатации уязвимости CVE-2025-55182. Данная уязвимость является дефектом безопасности в фреймворке Next.js, который позволяет злоумышленнику выполнять произвольные команды с помощью специально сформированных запросов.
Функциональные возможности
1. Обнаружение уязвимости
- Пакетное сканирование URL
- Многопоточное одновременное сканирование для повышения скорости обнаружения
- Отображение прогресса и счётчика в реальном времени (например: 1/1000 (0%))
- Отображение только уязвимых целей, фильтрация лишней информации
- Импорт файла для массовой проверки
- Возможность остановки сканирования
2. Выполнение команд
- Поддержка выполнения команд Linux/Windows
- Автоматический или ручной выбор целевой ОС
- Отображение результатов выполнения в реальном времени
3. Внедрение веб-шелла (Memory Shell)
- Внедрение простого командного веб-шелла
- Внедрение веб-шелла Godzilla (с шифрованием RC4)
- Автоматическая генерация информации для подключения и инструкций по использованию
4. Реверс-шелл (Reverse Shell)
- Поддержка реверс-шелла для Linux/Windows
- Поддержка пользовательских команд реверс-шелла
- Несколько способов реверс-шелла (именованный канал Linux, PowerShell Windows)
Техническая архитектура
- Язык разработки: Java
- GUI-фреймворк: Swing
- Сетевое взаимодействие: HttpURLConnection
- Обработка параллелизма: пул потоков ExecutorService
- Управление проектом: Maven
Системные требования
- JDK 8 или новее
- Maven 3.6 или новее
Сборка и запуск
1. Сборка проекта
# Переход в каталог проекта
cd CVE202555182GUI
# Компиляция и упаковка
mvn clean package
2. Запуск инструмента
# Запуск исполняемого JAR‑файла со всеми зависимостями
java -jar target/CVE202555182GUI-1.0-SNAPSHOT-jar-with-dependencies.jar
Использование
Обнаружение уязвимости
- В поле "Целевой URL" введите один или несколько целевых URL (по одному на строку)
- Или нажмите кнопку "Импорт файла" и выберите файл со списком URL
- Нажмите кнопку "Начать сканирование" для запуска
- Результаты сканирования отобразятся в области "Результаты сканирования"
- Для прерывания процесса нажмите "Остановить сканирование"
Выполнение команд
- Введите целевой URL
- Введите команду для выполнения
- Выберите целевую ОС (auto/linux/windows)
- Нажмите "Выполнить команду"
- Результат выполнения отобразится в области "Результат выполнения"
Внедрение веб-шелла
- Введите целевой URL
- Выберите тип веб-шелла (простой командный / Godzilla)
- Выберите целевую ОС (auto/linux/windows)
- Нажмите "Внедрить веб-шелл"
- Результат внедрения и информация для подключения отобразятся в области "Результат внедрения"
Реверс-шелл
- Введите целевой URL
- Введите IP и порт для обратного соединения
- Выберите целевую ОС (linux/windows)
- Опционально: введите пользовательскую команду реверс-шелла
- Нажмите "Внедрить реверс-шелл"
- Результат внедрения отобразится в области "Результат внедрения"
Принцип уязвимости
Уязвимость CVE-2025-55182 вызвана дефектом безопасности в фреймворке Next.js при обработке определённых запросов. Злоумышленник может выполнить произвольные команды на сервере, сформировав вредоносный multipart/form-data запрос.
Инструмент обнаруживает уязвимость следующим образом:
- Формирует запрос, содержащий payload для выполнения команды
- Отправляет его на путь
/_next/data целевого сервера
- Проверяет, присутствует ли в ответе ожидаемый результат выполнения команды
- На основании результата определяет наличие уязвимости
Справочные проекты
Данный проект основан на следующих открытых проектах:
- ReactExploitGUI — предоставил основные идеи и методы эксплуатации уязвимости
Предупреждение по безопасности
- Данный инструмент предназначен только для тестирования безопасности и авторизованного пентеста
- При использовании соблюдайте применимое законодательство
- Не используйте инструмент против несанкционированных целей
- После завершения тестирования своевременно удалите внедрённые веб-шеллы
Примечания
- Скорость сканирования: по умолчанию используется 10 потоков; можно настроить в зависимости от сети
- Таймаут: по умолчанию 10 секунд; можно настроить
- Подключение веб-шелла: при использовании Godzilla необходимо скачать соответствующий плагин для Node.js
- Реверс-шелл: необходимо запустить локальный слушающий порт (например:
nc -lvvp 4444)
Устранение неполадок
Часто задаваемые вопросы и решения
-
Индикатор прогресса не двигается
- Проверьте правильность целевого URL
- Проверьте сетевое подключение
- Попробуйте уменьшить количество потоков
-
Не удаётся выполнить команду
- Убедитесь, что цель уязвима
- Проверьте правильность выбора ОС
- Проверьте, соответствует ли команда синтаксису целевой системы
-
Внедрение веб-шелла не удалось
- Убедитесь, что цель уязвима
- Проверьте стабильность сетевого подключения
- Попробуйте использовать другой тип веб-шелла
-
Не удаётся подключиться к реверс-шеллу
- Убедитесь, что локальный слушающий порт запущен
- Проверьте настройки сетевого брандмауэра
- Проверьте правильность IP и порта для реверс-шелла
- Попробуйте использовать пользовательскую команду реверс-шелла
История версий
- v1.0.0: Начальная версия
- Реализована базовая функция обнаружения уязвимости
- Реализована функция выполнения команд
- Реализована функция внедрения веб-шелла
- Реализована функция реверс-шелла
Отказ от ответственности
Данный инструмент предназначен только для обучения и авторизованного тестирования безопасности. Не используйте его в незаконных целях. Любые последствия использования инструмента ложатся на самого пользователя.
Контакты
По вопросам или предложениям обращайтесь к автору.