Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
nginx-rift-detect — CVE-2026-42945 (NGINX Rift) の行動検出スクリプト — ngx_http_rewrite_module におけるヒープオーバーフロー。RCE はなく、クラッシュベースの検出のみ。 | Kitploit
ツール/GitHubGitHub/iammerrida-source/nginx-rift-detect
脆弱性スキャナーエクスプロイト情報収集ウェブセキュリティネットワークセキュリティペネトレーションテスト
GitHubiammerrida-source/nginx-rift-detect

nginx-rift-detect

CVE-2026-42945 (NGINX Rift) の行動検出スクリプト — ngx_http_rewrite_module におけるヒープオーバーフロー。RCE はなく、クラッシュベースの検出のみ。

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
リポジトリを見る
33ヶ月前未レビュー

nginx-rift-detect

CVE-2026-42945(NGINX Rift)の行動検出スクリプト — 2008年からnginxに存在するngx_http_rewrite_moduleのヒープバッファオーバーフロー。

Python CVE CVSS License


⚠️ 免責事項

このツールは許可されたセキュリティテストおよび研究のみを目的としています。 自分が所有しているか、明示的な書面による許可を得たシステムに対してのみ実行してください。 無断使用はお住まいの地域のコンピュータ犯罪法に違反する可能性があります。 作者は、このツールの誤用またはそれによって生じた損害について一切責任を負いません。


背景

CVE-2026-42945 は、バージョン 0.6.27(2008年)で導入され、約18年間存在していた nginx のリライトスクリプトエンジン(ngx_http_rewrite_module)におけるヒープバッファオーバーフローです。

バグはリライトエンジンの2つのパスの不一致に起因します。

  • パス1(長さ計算):is_args = 0 を確認 → 小さなバッファを割り当て
  • パス2(データコピー):is_args = 1 を確認 → ngx_escape_uri を呼び出し、エスケープ可能なバイト(+など)を3倍に展開 → ヒープバッファをオーバーフロー

これにより、認証なしのリモートコード実行が可能になります。

影響を受けるバージョン:

製品脆弱なバージョン修正済みバージョン
NGINX Open Source0.6.27 – 1.30.01.30.1, 1.31.0+
NGINX PlusR32 – R36R36 P4, R35 P2, R32 P6

参考文献:

  • 元の研究とPoC — DepthFirstDisclosures
  • F5セキュリティ勧告 K000160932

検出の仕組み

このスクリプトはRCEを試みません。PoCのフローを模倣し、生のソケットを使用します。

  1. Canary — テスト前にサーバーの安定性を確認するために3つの通常リクエストを送信
  2. ヒープスプレー — 20個の接続を開いてメモリを保持
  3. トリガー — 部分的なHTTPリクエストとして GET /api/<349×A><969×+> を送信
  4. プローブ — トリガーソケットが予期せず閉じた場合(ワーカーがクラッシュして再生成された)、ターゲットは脆弱と判定

検出はワーカープロセスのクラッシュに依存します。nginxマスターは直ちにワーカーを再生成しますが、短い中断が発生します。本番環境では注意して使用してください。


使用方法

root@kitploit:~
# 単一ターゲット(HTTP)
python3 detect-CVE-2026-42945.py --host 127.0.0.1 --port 80

# 単一ターゲット(HTTPS)
python3 detect-CVE-2026-42945.py --host example.com --port 443 --tls

# ターゲットリスト
python3 detect-CVE-2026-42945.py -l targets.txt

# スレッドと出力ファイルを使用
python3 detect-CVE-2026-42945.py -l targets.txt --threads 10 -o vulnerable.txt

# 信頼性の低いターゲットに対して試行回数を増やす
python3 detect-CVE-2026-42945.py --host 10.0.0.1 --port 8080 --tries 5

targets.txt 形式 — 1行に1つ:

root@kitploit:~
http://example.com
https://example.com:8443
192.168.1.1
192.168.1.1:8080

オプション:

root@kitploit:~
--host          単一ターゲットのホスト
--port          ポート(デフォルト: 80、--tls使用時は443)
--tls           単一ターゲットにTLS/HTTPSを使用
-l, --list      ターゲットリストを含むファイル
--tries         ターゲットあたりの検出試行回数(デフォルト: 3)
--threads       リストスキャン時の同時スレッド数(デフォルト: 5)
-o, --output    脆弱なターゲットをCSVファイルに保存

出力例

root@kitploit:~
[*] CVE-2026-42945 NGINX Rift Detection | targets=2 threads=5 tries=3

[*] http://192.168.1.1:80   - nginx/1.28.0
[*] http://192.168.1.2:8080 - nginx/1.31.0

[!!!] VULNERABLE | http://192.168.1.1:80 | nginx/1.28.0 | worker crash (trigger connection closed — worker respawned)
[+]   http://192.168.1.2:8080 - not vulnerable (or timing miss, try --tries 5)

==================================================
[*] Scan complete. 2 targets scanned.
[!!!] 1 VULNERABLE target(s):
      http://192.168.1.1:80 (nginx/1.28.0)
==================================================

ラボ環境でのテスト

元のリポジトリにはDockerラボ環境が含まれています:

root@kitploit:~
git clone https://github.com/DepthFirstDisclosures/Nginx-Rift
cd Nginx-Rift
chmod +x setup.sh && ./setup.sh
docker compose -f env/docker-compose.yml up -d

python3 detect-CVE-2026-42945.py --host 127.0.0.1 --port 19321

ライセンス

MIT — LICENSEを参照


元の脆弱性研究とPoC: DepthFirstDisclosures

ツールをダウンロード