Scanner para detecção de instâncias Nginx vulneráveis ao CVE-2026-42945 (NGINX RIFT).
Aceita IPs individuais, faixas CIDR e ASNs como entrada.
O CVE-2026-42945 afeta todas as versões do Nginx anteriores à 1.30.1.
A ferramenta sonda HTTP e HTTPS nas portas padrão, faz a leitura do cabeçalho Server da resposta e classifica cada host como vulnerável, seguro ou potencialmente afetado (versão oculta).
Os resultados são salvos em log, com uma lista dos hosts vulneráveis à CVE e ao final um arquivo .CSV detalhado.
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.txtExemplo de SCAN IP:
Exemplo de SCAN CIDR:
Exemplo de SCAN ASN:
| Parâmetro | Padrão | Descrição |
|---|---|---|
--workers |
60 | Número de threads simultâneas para o scan HTTP |
--timeout |
2.0 | Timeout das requisições HTTP em segundos |
--dns-workers |
200 | Número de threads simultâneas para resolução DNS reversa |
--dns-timeout |
1.5 | Timeout das queries DNS em segundos |
--no-confirm |
— | Pula a confirmação antes de iniciar (útil em automações) |
A resolução DNS é executada em lote antes do scan HTTP, usando uma fila dedicada de threads (
--dns-workers), evitando que a latência do DNS impacte no desempenho da varredura.
Todos os resultados são gravados em ./logs/:
| Arquivo | Conteúdo |
|---|---|
nginx_scan_<timestamp>.log |
Log completo da varredura |
nginx_scan_<timestamp>_vulneraveis.txt |
Apenas hosts vulneráveis |
nginx_scan_<timestamp>_resultados.csv |
Todos os hosts com status |
| Status | Significado |
|---|---|
VULNERÁVEL |
Versão confirmada abaixo de 1.30.1 |
SEGURO |
Versão confirmada em 1.30.1 ou superior |
AVISO (Versão Oculta) |
Nginx detectado mas versão não exposta — não confirmado seguro |
INDETERMINADO |
Versão não pôde ser interpretada |
Atualize o Nginx para a versão 1.30.1 ou superior usando o repositório oficial do 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 -vPara outras distribuições, consulte a documentação oficial do Nginx.
- NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-42945
- Changelog do Nginx: https://nginx.org/en/CHANGES
Este script é destinado ao uso em sua própria infraestrutura ou sob autorização explícita.
A varredura não autorizada pode violar diversas legislações, então use com cautela.
No mais, se tiver alguma sugestão de melhoria das funcionalidades ou bugs, fique à vontade para abrir uma issue e me enviar um Pull Request.
Toda contribuição é bem-vinda ! 🚀🚀