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

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

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

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

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

Категории

Все категории
Loading categories
nginx-rift-detect — Скрипт поведенческого обнаружения для CVE-2026-42945 (NGINX Rift) — переполнение кучи в ngx_http_rewrite_module. Только обнаружение на основе сбоя, без RCE. | Kitploit
Инструменты/GitHubGitHub/iammerrida-source/nginx-rift-detect
Сканеры уязвимостейЭксплуатацияСбор информацииВеб-безопасностьСетевая безопасностьТестирование на Проникновение
GitHubiammerrida-source/nginx-rift-detect

nginx-rift-detect

Скрипт поведенческого обнаружения для CVE-2026-42945 (NGINX Rift) — переполнение кучи в ngx_http_rewrite_module. Только обнаружение на основе сбоя, без RCE.

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться
Репозиторий
33 месяцев назадЕщё не проверено

nginx-rift-detect

Скрипт поведенческого обнаружения для CVE-2026-42945 (NGINX Rift) — переполнения кучи в ngx_http_rewrite_module, присутствующего в nginx с 2008 года.

Python CVE CVSS License


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

Этот инструмент предназначен исключительно для авторизованного тестирования безопасности и исследований. Запускайте его только против систем, которыми вы владеете или на тестирование которых имеете явное письменное разрешение. Несанкционированное использование может нарушать законы о компьютерных преступлениях в вашей юрисдикции. Автор не несет ответственности за любое неправомерное использование или ущерб, причиненный этим инструментом.


Предыстория

CVE-2026-42945 — это переполнение кучи в движке скриптов перезаписи nginx (ngx_http_rewrite_module), появившееся в версии 0.6.27 (2008) и присутствующее около 18 лет.

Ошибка возникает из-за несоответствия между двумя проходами движка перезаписи:

  • Проход 1 (расчет длины): видит is_args = 0 → выделяет маленький буфер
  • Проход 2 (копирование данных): видит is_args = 1 → вызывает ngx_escape_uri, расширяя каждый экранируемый байт (например, +) до 3× размера → переполняет буфер кучи

Это позволяет неаутентифицированное удаленное выполнение кода.

Уязвимые версии:

ПродуктУязвимыеИсправленные
NGINX Open Source0.6.27 – 1.30.01.30.1, 1.31.0+
NGINX PlusR32 – R36R36 P4, R35 P2, R32 P6

Ссылки:

  • Оригинальное исследование и PoC — DepthFirstDisclosures
  • Уведомление о безопасности F5 K000160932

Как работает обнаружение

Этот скрипт не пытается выполнить RCE. Он имитирует поток PoC с использованием сырых сокетов:

  1. Канарейка — отправляет 3 обычных запроса, чтобы убедиться, что сервер стабилен перед тестированием
  2. Heap spray — открывает 20 соединений для удержания памяти
  3. Триггер — отправляет GET /api/<349×A><969×+> как частичный HTTP-запрос
  4. Зонд — если сокет триггера неожиданно закрывается (воркер упал и был перезапущен), цель помечается как уязвимая

Обнаружение основано на аварийном завершении воркера. Мастер nginx немедленно перезапустит его, но произойдет кратковременное прерывание. Используйте с осторожностью на production-системах.


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

root@kitploit:~
# Одиночная цель (HTTP)
python3 detect-CVE-2026-42945.py --host 127.0.0.1 --port 80

# Одиночная цель (HTTPS)
python3 detect-CVE-2026-42945.py --host example.com --port 443 --tls

# Список целей
python3 detect-CVE-2026-42945.py -l targets.txt

# С многопоточностью и файлом вывода
python3 detect-CVE-2026-42945.py -l targets.txt --threads 10 -o vulnerable.txt

# Больше попыток для ненадежных целей
python3 detect-CVE-2026-42945.py --host 10.0.0.1 --port 8080 --tries 5

Формат targets.txt — по одной на строку:

root@kitploit:~
http://example.com
https://example.com:8443
192.168.1.1
192.168.1.1:8080

Опции:

root@kitploit:~
--host          Хост одиночной цели
--port          Порт (по умолчанию: 80 или 443 с --tls)
--tls           Использовать TLS/HTTPS для одиночной цели
-l, --list      Файл со списком целей
--tries         Попыток обнаружения на цель (по умолчанию: 3)
--threads       Потоков для сканирования списка (по умолчанию: 5)
-o, --output    Сохранить уязвимые цели в CSV-файл

Пример вывода

root@kitploit:~
[*] CVE-2026-42945 NGINX Rift Detection | цели=2 потока=5 попыток=3

[*] http://192.168.1.1:80   - nginx/1.28.0
[*] http://192.168.1.2:8080 - nginx/1.31.0

[!!!] УЯЗВИМА | http://192.168.1.1:80 | nginx/1.28.0 | аварийное завершение воркера (соединение триггера закрыто — воркер перезапущен)
[+]   http://192.168.1.2:8080 - не уязвима (или пропуск по времени, попробуйте --tries 5)

==================================================
[*] Сканирование завершено. Просканировано 2 целей.
[!!!] 1 УЯЗВИМАЯ ЦЕЛЬ(ей):
      http://192.168.1.1:80 (nginx/1.28.0)
==================================================

Тестирование в лаборатории

Оригинальный репозиторий включает среду Docker lab:

root@kitploit:~
git clone https://github.com/DepthFirstDisclosures/Nginx-Rift
cd Nginx-Rift
chmod +x setup.sh && ./setup.sh
docker compose -f env/docker-compose.yml up -d

python3 detect-CVE-2026-42945.py --host 127.0.0.1 --port 19321

Лицензия

MIT — см. LICENSE


Оригинальное исследование уязвимости и PoC: DepthFirstDisclosures

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