
Python-Skript zur Erkennung von Nginx-Instanzen, die für CVE-2026-42945 anfällig sind, in IPs, CIDRs und ASNs.
Scanner zur Erkennung von Nginx-Instanzen, die anfällig für CVE-2026-42945 (NGINX RIFT) sind.
Akzeptiert einzelne IPs, CIDR-Bereiche und ASNs als Eingabe.
CVE-2026-42945 betrifft alle Nginx-Versionen vor 1.30.1.
Das Tool testet HTTP und HTTPS auf den Standardports, liest den Server-Header der Antwort und klassifiziert jeden Host als verwundbar, sicher oder potenziell betroffen (versteckte Version).
Die Ergebnisse werden in einem Log gespeichert, mit einer Liste der für die CVE anfälligen Hosts und am Ende eine detaillierte .CSV-Datei.
pip install requests packaging urllib3 dnspython
# Einzelne IP
python nginx_scanner.py --ip 93.184.216.34
# CIDR-Bereich
python nginx_scanner.py --cidr 10.0.0.0/24
# Mehrere CIDRs
python nginx_scanner.py --cidr 10.0.0.0/24 192.168.1.0/24
# ASN (originierte Präfixe über RIPE Stat aufgelöst, Fallback zu bgp.tools)
python nginx_scanner.py --asn AS15169
# Kombination von Eingaben
python nginx_scanner.py --asn AS13335 --cidr 10.0.0.0/8 --ip 1.2.3.4
# Aus einer Datei (eine IP, ein CIDR oder ein ASN pro Zeile)
python nginx_scanner.py --file alvos.txt
Beispiel für IP-SCAN:
Beispiel für CIDR-SCAN:
Beispiel für ASN-SCAN:
Die DNS-Auflösung wird vor dem HTTP-Scan in einem Stapel ausgeführt, mit einer dedizierten Thread-Warteschlange (
--dns-workers), sodass die DNS-Latenz die Scan-Leistung nicht beeinträchtigt.
Alle Ergebnisse werden in ./logs/ geschrieben:
| Datei | Inhalt |
|---|---|
nginx_scan_<timestamp>.log | Vollständiges Scan-Protokoll |
nginx_scan_<timestamp>_vulneraveis.txt | Nur verwundbare Hosts |
nginx_scan_<timestamp>_resultados.csv | Alle Hosts mit Status |
| Status | Bedeutung |
|---|---|
VULNERÁVEL | Bestätigte Version unter 1.30.1 |
SEGURO |
Aktualisieren Sie Nginx auf 1.30.1 oder höher über das offizielle nginx.org-Repository.
# 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
Für andere Distributionen siehe die offizielle Nginx-Dokumentation.
Dieses Skript ist für die Verwendung in der eigenen Infrastruktur oder mit ausdrücklicher Genehmigung vorgesehen.
Unbefugtes Scannen kann gegen verschiedene Gesetze verstoßen. Seien Sie also vorsichtig.
Außerdem: Wenn Sie Vorschläge zur Verbesserung der Funktionen oder Fehler haben, können Sie gerne ein Issue eröffnen und mir einen Pull-Request senden.
Jeder Beitrag ist willkommen! 🚀🚀
| Parameter | Standard | Beschreibung |
|---|
--workers | 60 | Anzahl gleichzeitiger Threads für den HTTP-Scan |
--timeout | 2.0 | Timeout der HTTP-Anfragen in Sekunden |
--dns-workers | 200 | Anzahl gleichzeitiger Threads für die Reverse-DNS-Auflösung |
--dns-timeout | 1.5 | Timeout der DNS-Abfragen in Sekunden |
--no-confirm | — | Überspringt die Bestätigung vor dem Start (nützlich für Automatisierungen) |
| Bestätigte Version 1.30.1 oder höher |
AVISO (Versão Oculta) | Nginx erkannt, aber Version nicht offengelegt – nicht als sicher bestätigt |
INDETERMINADO | Version konnte nicht interpretiert werden |