
Модули Metasploit, Python PoC и одноразовые Docker-лаборатории для четырёх CVE на разных платформах: Keycloak (CVE-2026-18963), Apache NiFi (CVE-2026-39816), HashiCorp Vault (CVE-2026-5006), HashiCorp Nomad (CVE-2026-7474).
Исследование уязвимостей, проведённое мной в четырёх широко развёрнутых сервисах платформ: Keycloak, Apache NiFi, HashiCorp Vault и HashiCorp Nomad. Для каждой находки в этом репозитории хранятся артефакты, которые я реально использую, модуль Metasploit, где это имело смысл, автономный Python-эксплойт (proof of concept) и небольшой Docker-лабораторный стенд, поднимающий только уязвимый сервис, чтобы любой мог воспроизвести баг, не полагаясь на моё слово.
Ничто здесь не нацелено на живую среду. Лабораторные стенды — это одноразовые контейнеры на вашем собственном хосте.
| CVE | Компонент | Класс | Затронутые версии | Metasploit | PoC | Lab |
|---|---|---|---|---|---|---|
| CVE-2026-18963 | Keycloak | Перехват учётной записи через липкий селектор при сбросе учётных данных | < 26.7.2 | да | да | да |
| CVE-2026-39816 | Apache NiFi | Tinkerpop / ExecuteGraphQuery Groovy RCE в обход шлюза execute-code | 2.0.0-M1 .. 2.8.0 | да | да | да |
| CVE-2026-5006 | HashiCorp Vault | Инъекция слэша в метаданных шаблонной политики (HCSEC-2026-32) | <= 2.0.3 | да | да | да |
| CVE-2026-7474 | HashiCorp Nomad | Обход пути plugin_id динамического host-тома до корня (HCSEC-2026-15) | <= 2.0.0 | да | да |
metasploit-custom-modules/ Модули Metasploit + документация модулей, в обычном дереве фреймворка
exploits/ по одному автономному Python-PoC на каждый CVE
docker-lab/ по одному одноразовому Docker-лабораторному стенду на каждый CVE, поднимает только уязвимый сервис
У каждой из этих трёх папок есть собственный README с подробностями. Кратко:
~/.msf4). Три модуля: перехват Keycloak, инъекция слэша в метаданных Vault и
RCE в NiFi.Выберите CVE, поднимите его стенд, запустите PoC. Например, Keycloak:
cd docker-lab/keycloak-cve-2026-18963
docker compose up -d
cd ../..
python3 exploits/kc_ato_18963.py \
--base http://127.0.0.1:8080 --realm larkspur \
--victim j.okonkwo --newpass Chang3d-by-attacker!
Остальные три следуют той же схеме. Сначала прочитайте README конкретного стенда — паре из них
нужен --build и минута на подготовку.
Все четыре были сообщены соответствующим вендорам и исправлены в версиях, указанных выше.
Всё опубликованное здесь работает против намеренно устаревших образов в docker-lab/.
Нацелите это на что-то, что вам не принадлежит, — и это уже ваша ответственность.
MIT. См. LICENSE.