
Nginxインスタンスが脆弱な**CVE-2026-42945 (NGINX RIFT)**を検出するスキャナー。
入力として個別IP、CIDR範囲、ASNを受け付けます。
CVE-2026-42945は、1.30.1より前のすべてのNginxバージョンに影響します。
このツールは、HTTPおよびHTTPSの標準ポートを調査し、レスポンスのServerヘッダーを読み取り、各ホストを脆弱、安全、または潜在的に影響を受ける(隠しバージョン)として分類します。
結果はログに保存され、CVEに脆弱なホストのリストと、最後に詳細な.CSVファイルが出力されます。
pip install requests packaging urllib3 dnspython
# 個別IP
python nginx_scanner.py --ip 93.184.216.34
# CIDR範囲
python nginx_scanner.py --cidr 10.0.0.0/24
# 複数のCIDR
python nginx_scanner.py --cidr 10.0.0.0/24 192.168.1.0/24
# ASN(RIPE Stat経由で解決された発信元プレフィックス、フォールバックはbgp.tools)
python nginx_scanner.py --asn AS15169
# 入力の組み合わせ
python nginx_scanner.py --asn AS13335 --cidr 10.0.0.0/8 --ip 1.2.3.4
# ファイルから(1行に1つのIP、CIDR、またはASN)
python nginx_scanner.py --file alvos.txt
SCAN IPの例:
SCAN CIDRの例:
SCAN ASNの例:
DNS解決はHTTPスキャンの前にバッチで実行され、専用のスレッドキュー(
--dns-workers)を使用することで、DNSレイテンシがスキャン性能に影響を与えるのを防ぎます。
すべての結果は./logs/に保存されます:
| ファイル | 内容 |
|---|---|
nginx_scan_<timestamp>.log | 完全なスキャンログ |
nginx_scan_<timestamp>_vulneraveis.txt | 脆弱ホストのみ |
nginx_scan_<timestamp>_resultados.csv | すべてのホストとステータス |
| ステータス | 意味 |
|---|---|
VULNERÁVEL | 1.30.1未満のバージョンが確認されました |
SEGURO | 1.30.1以上のバージョンが確認されました |
AVISO (Versão Oculta) |
公式のnginx.orgリポジトリを使用してNginxを1.30.1以上にアップデートしてください。
# Ubuntu / Debian
curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \
| tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null
echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \
http://nginx.org/packages/mainline/ubuntu $(lsb_release -cs) nginx" \
| tee /etc/apt/sources.list.d/nginx.list
echo -e "Package: *\nPin: origin nginx.org\nPin-Priority: 900" \
| tee /etc/apt/preferences.d/99nginx
apt update && apt install --only-upgrade nginx
nginx -v
他のディストリビューションについては、公式Nginxドキュメントを参照してください。
このスクリプトは、自身のインフラストラクチャ内または明示的な許可のもとで使用することを目的としています。
許可のないスキャンは多くの法律に違反する可能性があるため、注意して使用してください。
また、機能改善の提案やバグがあれば、お気軽にIssueを開き、Pull Requestをお送りください。
すべての貢献を歓迎します! 🚀🚀
| パラメータ | デフォルト | 説明 |
|---|
--workers | 60 | HTTPスキャンの同時スレッド数 |
--timeout | 2.0 | HTTPリクエストのタイムアウト(秒) |
--dns-workers | 200 | 逆DNS解決の同時スレッド数 |
--dns-timeout | 1.5 | DNSクエリのタイムアウト(秒) |
--no-confirm | — | 開始前の確認をスキップ(自動化に便利) |
| Nginxが検出されたがバージョンが非公開のため安全とは確認できません |
INDETERMINADO | バージョンを解釈できませんでした |