Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
cve-2026-42945-scan — Analise sua configuração do NGINX para determinar se ela é afetada pelo CVE-2026-42945. | Kitploit
Ferramentas/GitHubGitHub/realityone/cve-2026-42945-scan
Análise EstáticaScanners de VulnerabilidadesAuditoria de ConfiguraçãoSegurança WebConfiguração Incorreta
GitHubrealityone/cve-2026-42945-scan

cve-2026-42945-scan

Analise sua configuração do NGINX para determinar se ela é afetada pelo CVE-2026-42945.

Ver Repositório
13há 3 mesesAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

cve-2026-42945-scan

Scanner estático para arquivos de configuração do NGINX que detecta o padrão rewrite/set associado ao CVE‑2026‑42945.

O scanner interpreta configurações do NGINX usando crossplane, percorre os blocos location e imprime cada localização que pareça afetada, no seguinte formato:

root@kitploit:~
/<caminho>/xxx.conf:<número‑da‑linha> -> location XXXXX

Exemplo:

root@kitploit:~
/path/to/nginx.conf:39 -> location ~ ^/api/(.*)$

Referência: CVE‑2026‑42945‑POC.

Requisitos

  • Python 3.10 ou superior
  • uv

As dependências são gerenciadas com uv em pyproject.toml e travadas em uv.lock. A única dependência em tempo de execução é .

crossplane

Configuração

A partir da raiz do repositório:

root@kitploit:~
uv sync

Você também pode pular a etapa de configuração separada e deixar que uv run crie o ambiente na primeira execução.

Uso

Escaneie um único arquivo de configuração:

root@kitploit:~
uv run ./scan.py /etc/nginx/nginx.conf

Escaneie um diretório recursivamente:

root@kitploit:~
uv run ./scan.py -r /etc/nginx

Escaneie recursivamente a partir do diretório atual em busca de arquivos *.conf:

root@kitploit:~
uv run ./scan.py -r './*.conf'

Coloque os globs entre aspas quando desejar que o scanner os expanda recursivamente. Se o seu shell expandir ./*.conf primeiro, o scanner receberá apenas os arquivos que o shell encontrou.

Escaneie apenas os arquivos fornecidos e não siga as diretivas include:

root@kitploit:~
uv run ./scan.py --single ./site.conf

Mostre os avisos do parser, incluindo arquivos de include ausentes:

root@kitploit:~
uv run ./scan.py -v -r /etc/nginx

Versão em Go

Uma implementação em Go com o mesmo formato de saída e códigos de saída está disponível em go/. Ela utiliza nginx‑go‑crossplane para análise de configurações do NGINX e pflag para os flags da CLI. Requer Go 1.23 ou superior.

Execute‑a com go run:

root@kitploit:~
cd go
go run . -r ../tests/fixtures

Quando houver achados, o scanner sairá com o código 1. O go run imprimirá uma linha extra exit status 1 nesse caso; compile o binário quando quiser apenas a saída do scanner.

Compile um binário autônomo:

root@kitploit:~
cd go
go build -o cve-2026-42945-scan-go .
./cve-2026-42945-scan-go -r ../tests/fixtures

O Que Ele Detecta

O padrão de configuração arriscado é um bloco location que contém:

  • uma diretiva rewrite cuja substituição contém um ? não escapado
  • nenhuma flag terminal de rewrite como last, break, redirect ou permanent
  • uma diretiva set posterior que copia uma captura de regex como $1, ${1}, $name ou ${name}

Exemplo de padrão vulnerável:

root@kitploit:~
location ~ ^/api/(.*)$ {
    rewrite ^/api/(.*)$ /internal?migrated=true;
    set $original_endpoint $1;
}

O scanner informa a linha do location, não a linha do rewrite ou set, porque a location é o bloco acionável para inspecionar e corrigir.

Fixtures de Teste

O diretório tests/fixtures/ contém pequenas configurações do NGINX que podem ser usadas como exemplos:

FixtureResultado esperado
tests/fixtures/vulnerable.confrelata um achado de captura posicional
tests/fixtures/named_capture.confrelata um achado de captura nomeada
tests/fixtures/missing_include_still_scans.confrelata um achado mesmo com um include ausente
tests/fixtures/safe_break_flag.confnenhum achado porque o rewrite usa break
tests/fixtures/safe_no_capture.confnenhum achado porque não há captura disponível

Execute o scanner contra todas as fixtures de exemplo:

root@kitploit:~
uv run ./scan.py -r tests/fixtures

Achados esperados:

root@kitploit:~
/absolute/path/to/tests/fixtures/missing_include_still_scans.conf:6 -> location ~ ^/partial/(.*)$
/absolute/path/to/tests/fixtures/named_capture.conf:2 -> location /users
/absolute/path/to/tests/fixtures/vulnerable.conf:2 -> location ~ ^/api/(.*)$

Saída

Se forem encontradas localizações afetadas, cada achado é impresso em sua própria linha:

root@kitploit:~
/absolute/path/to/file.conf:30 -> location ~ ^/aaaa/dddd/(.*)$
/absolute/path/to/nginx.conf:39 -> location ~ ^/api/(.*)$

Nenhuma saída significa que nenhuma localização afetada foi encontrada na configuração analisada.

Limitações

Este é um scanner estático de configuração. Ele não:

  • verifica a versão do NGINX em execução
  • comprova explorabilidade
  • executa ou testa requisições contra um servidor
  • avalia completamente variáveis dinâmicas ou configurações geradas
  • detecta trechos vulneráveis que estão ocultos em arquivos de include ausentes

Trate os achados como localizações que precisam de revisão e correção. Um host só é realmente afetado quando tanto a faixa de versão vulnerável do NGINX quanto o padrão de configuração arriscado estão presentes.

Desenvolvimento

Execute a suíte de testes:

root@kitploit:~
uv run python -m unittest discover -s tests -v

Execute a suíte de testes em Go:

root@kitploit:~
cd go
go test ./...

Execute a verificação de sintaxe:

root@kitploit:~
uv run python -m py_compile scan.py

Execute contra a configuração POC incluída:

root@kitploit:~
uv run ./scan.py CVE-2026-42945-POC/env/nginx.conf

Saída esperada:

root@kitploit:~
/absolute/path/to/CVE-2026-42945-POC/env/nginx.conf:39 -> location ~ ^/api/(.*)$
Baixar ferramenta