
CVE-2026-42945 - NGINX Rift Toolkit
Kit de ferramentas abrangente para escanear, corrigir e testar CVE-2026-42945 - uma vulnerabilidade crítica de RCE no nginx
Este kit fornece ferramentas abrangentes para escanear, corrigir e testar CVE-2026-42945, uma vulnerabilidade crítica de Execução Remota de Código no nginx que afeta versões anteriores a 1.26.3 (mainline) e 1.24.1 (stable).
A vulnerabilidade explora a análise malformada de cabeçalhos HTTP/2 quando o ASLR está desabilitado usando técnicas de heap spray.
Escaneia uma sub-rede ou um único host para identificar instalações vulneráveis do nginx.
Recursos:
Corrige automaticamente instâncias vulneráveis do nginx para a versão segura mais recente.
Recursos:
Testa a vulnerabilidade CVE-2026-42945 via técnica de heap spray.
Recursos:
paramiko (>= 3.0.0) - Biblioteca cliente SSH
rich (>= 13.0.0) - Formatação de terminal e barras de progresso
git clone https://github.com/gagaltotal/CVE-2026-42945-NGINX-Rift-Toolkit
cd CVE-2026-42945-NGINX-Rift-Toolkit
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

nginx_scanner.py)python3 nginx_scanner.py --subnet 192.168.1.0/24 --user root --key ~/.ssh/id_rsa
python3 nginx_scanner.py --subnet 192.168.1.10 --user root --key ~/.ssh/id_rsa
python3 nginx_scanner.py --subnet 10.0.0.0/30 --user admin --password "password"
python3 nginx_scanner.py --subnet 192.168.1.0/24 --port 2222 --user root --key ~/.ssh/id_rsa
python3 nginx_scanner.py --subnet 192.168.1.0/24 --user root --key ~/.ssh/id_rsa --output report.html
--subnet SUBNET Sub-rede alvo no formato CIDR (obrigatório)
--user USER Usuário SSH (padrão: root)
--password PASSWORD Senha SSH
--key KEY_PATH Caminho para a chave privada SSH
--port PORT Porta SSH (padrão: 22)
--timeout TIMEOUT Timeout de conexão em segundos (padrão: 5)
--output FILE Arquivo de relatório de saída (HTML/JSON)
--workers WORKERS Número de threads simultâneas (padrão: 20)
nginx_patcher.py)
python3 nginx_patcher.py --subnet 192.168.1.0/24 --user root --key ~/.ssh/id_rsa
python3 nginx_patcher.py --subnet 192.168.1.0/24 --user root --key ~/.ssh/id_rsa --dry-run
python3 nginx_patcher.py --subnet 192.168.1.0/24 --target-version 1.26.3 --user root --key ~/.ssh/id_rsa
python3 nginx_patcher.py --subnet 10.0.0.0/30 --port 2222 --user admin --password "password"
--subnet SUBNET Sub-rede alvo no formato CIDR (obrigatório)
--user USER Usuário SSH (padrão: root)
--password PASSWORD Senha SSH
--key KEY_PATH Caminho para a chave privada SSH
--port PORT Porta SSH (padrão: 22)
--timeout TIMEOUT Timeout de conexão em segundos (padrão: 30)
--target-version VERSION Versão do nginx para correção (padrão: latest)
--dry-run Mostrar o que seria corrigido sem executar
--workers WORKERS Número de threads simultâneas (padrão: 10)
exploit.py)
python3 exploit.py --target 192.168.1.100 --port 80
python3 exploit.py --target 192.168.1.100 --port 80 --command "cat /etc/passwd"
python3 exploit.py --target 192.168.1.100 --port 80 --spray 50
python3 exploit.py --target 192.168.1.100 --port 80 --verbose
--target HOST IP ou domínio do alvo (obrigatório)
--port PORT Porta alvo (padrão: 80)
--command CMD Comando a ser executado
--spray NUM Número de tentativas de heap spray (padrão: 20)
--timeout TIMEOUT Timeout de conexão em segundos (padrão: 5)
--tries NUM Número de tentativas de exploração (padrão: 10)
--verbose Habilitar saída detalhada
# Passo 1: Escanear a rede em busca de instâncias vulneráveis
python3 nginx_scanner.py --subnet 10.0.0.0/24 --user admin --key ~/.ssh/key --output scan_results.html
# Passo 2: Revisar resultados da varredura em scan_results.html
# Passo 3: Corrigir instâncias vulneráveis
python3 nginx_patcher.py --subnet 10.0.0.0/24 --user admin --key ~/.ssh/key
# Passo 4: Verificar se as correções foram aplicadas executando o escâner novamente
python3 nginx_scanner.py --subnet 10.0.0.0/24 --user admin --key ~/.ssh/key
# Passo 1: Simular para ver o que seria corrigido
python3 nginx_patcher.py --subnet 192.168.1.0/24 --user root --key ~/.ssh/id_rsa --dry-run
# Passo 2: Aplicar correções
python3 nginx_patcher.py --subnet 192.168.1.0/24 --user root --key ~/.ssh/id_rsa
# Passo 1: Primeiro verificar se o sistema está vulnerável
python3 exploit.py --target 10.0.0.50 --port 80 --verbose
# Passo 2: Se bem-sucedido, correção imediata é recomendada
python3 nginx_patcher.py --subnet 10.0.0.50 --user root --key ~/.ssh/id_rsa
python3 nginx_scanner.py --subnet 10.0.0.0/24 --user root --key ~/.ssh/id_rsa
python3 nginx_scanner.py --subnet 10.0.0.0/24 --user root --password "password"
python3 nginx_scanner.py --subnet 10.0.0.0/24 --user root --key ~/.ssh/id_rsa --port 2222
chmod 600 ~/.ssh/id_rsa--dry-run para identificar problemas sem aplicarO escâner gera relatórios detalhados em múltiplos formatos:
| Formato | Descrição |
|---|---|
| Relatório HTML | Visualizável no navegador com resumo da vulnerabilidade, hosts afetados, detalhes da versão |
| Relatório JSON | Formato legível por máquina com detalhes técnicos completos |
| Saída no Console | Progresso em tempo real com resultados codificados por cores |
Todas as operações são registradas com carimbos de data/hora para conformidade de auditoria. Verifique a saída do console para informações detalhadas de execução.
Contribuições são bem-vindas! Para contribuir:
git checkout -b feature/improvement)git commit -am 'Adicionar melhoria')git push origin feature/improvement)Este kit é fornecido apenas para testes de segurança autorizados e avaliação de vulnerabilidades. O acesso não autorizado a sistemas de computador é ilegal. Os usuários são responsáveis por garantir que possuem a devida autorização antes de usar este kit.
gagaltotal - GitHub
Este projeto está licenciado sob a Licença MIT - consulte o arquivo LICENSE para detalhes.
Última Atualização: 2026-05-20
| Propriedade | Valor |
|---|
| ID da Vulnerabilidade | CVE-2026-42945 |
| Tipo | Execução Remota de Código (RCE) |
| Pontuação CVSS | 9.8 (Crítico) |
| Versões Afetadas | < 1.26.3 (mainline) / < 1.24.1 (stable) |
| Versão Corrigida | 1.26.3+ |
| Vetor de Ataque | Análise malformada de cabeçalhos HTTP/2 |
| Pré-requisito | ASLR desabilitado no sistema alvo |
| Consideração | Detalhes |
|---|
| Gerenciamento de Chaves SSH | Armazene chaves SSH de forma segura, nunca as comprometa em repositórios |
| Acesso à Rede | Garanta o segmento adequado de rede para uso em produção |
| Ambiente de Teste | Sempre teste primeiro em ambiente não produtivo |
| Registro | Todas as operações geram logs detalhados para trilha de auditoria |
| Status do ASLR | A ferramenta de exploração requer ASLR desabilitado no alvo |
| Modo de Simulação | Use a flag --dry-run para visualizar alterações antes de aplicar |
| Backup | Sempre faça backup da configuração do nginx antes de corrigir |