
Script Python per il rilevamento di istanze Nginx vulnerabili al CVE-2026-42945 su IP, CIDR e ASN.
Scanner per il rilevamento di istanze Nginx vulnerabili a CVE-2026-42945 (NGINX RIFT).
Accetta IP individuali, intervalli CIDR e ASN come input.
Il CVE-2026-42945 colpisce tutte le versioni di Nginx precedenti alla 1.30.1.
Lo strumento sonda HTTP e HTTPS sulle porte standard, legge l'header Server della risposta e classifica ogni host come vulnerabile, sicuro o potenzialmente interessato (versione nascosta).
I risultati vengono salvati in un log, con un elenco degli host vulnerabili al CVE e, alla fine, un file .CSV dettagliato.
pip install requests packaging urllib3 dnspython
# IP individual
python nginx_scanner.py --ip 93.184.216.34
# Faixa CIDR
python nginx_scanner.py --cidr 10.0.0.0/24
# Múltiplos CIDRs
python nginx_scanner.py --cidr 10.0.0.0/24 192.168.1.0/24
# ASN (prefixos originados resolvidos via RIPE Stat, fallback para bgp.tools)
python nginx_scanner.py --asn AS15169
# Combinação de entradas
python nginx_scanner.py --asn AS13335 --cidr 10.0.0.0/8 --ip 1.2.3.4
# A partir de um arquivo (um IP, CIDR ou ASN por linha)
python nginx_scanner.py --file alvos.txt
Esempio di SCAN IP:
Esempio di SCAN CIDR:
Esempio di SCAN ASN:
La risoluzione DNS viene eseguita in batch prima della scansione HTTP, utilizzando una coda dedicata di thread (
--dns-workers), evitando che la latenza del DNS influisca sulle prestazioni della scansione.
Tutti i risultati vengono salvati in ./logs/:
| File | Contenuto |
|---|---|
nginx_scan_<timestamp>.log | Log completo della scansione |
nginx_scan_<timestamp>_vulneraveis.txt | Solo host vulnerabili |
nginx_scan_<timestamp>_resultados.csv | Tutti gli host con stato |
| Stato | Significato |
|---|---|
VULNERÁVEL | Versione confermata inferiore alla 1.30.1 |
SEGURO |
Aggiorna Nginx alla versione 1.30.1 o successiva utilizzando il repository ufficiale di nginx.org.
# 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
Per altre distribuzioni, consulta la documentazione ufficiale di Nginx.
Questo script è destinato all'uso nella propria infrastruttura o sotto autorizzazione esplicita.
La scansione non autorizzata può violare diverse legislazioni, quindi usalo con cautela.
Inoltre, se hai suggerimenti per migliorare le funzionalità o per bug, sentiti libero di aprire una issue e inviarmi una Pull Request.
Ogni contributo è benvenuto! 🚀🚀
| Parametro | Default | Descrizione |
|---|
--workers | 60 | Numero di thread simultanei per la scansione HTTP |
--timeout | 2.0 | Timeout delle richieste HTTP in secondi |
--dns-workers | 200 | Numero di thread simultanei per la risoluzione DNS inversa |
--dns-timeout | 1.5 | Timeout delle query DNS in secondi |
--no-confirm | — | Salta la conferma prima di iniziare (utile nelle automazioni) |
| Versione confermata 1.30.1 o successiva |
AVISO (Versão Oculta) | Nginx rilevato ma versione non esposta — non confermato sicuro |
INDETERMINADO | Versione non interpretabile |