【技术解读】【CloudSec】HEXACON2022 - Hunting for cloudy SSRFs by Nicolas Joly

视频总结

image

如何进行研究目标的选择

亮点

在研究AKS(Azure Kubernetes Service)的过程中,由于在k8s中,API Server和kubelet是存在双向通信的。所以作者在windows节点上设置的http代理(burpsuite),只能捕获 kubelet发送到 API Server 的http/https流量,
但是API Server主动发送给kubelet的http/https 请求,是不会经过这个http代理的,所以burpsuite是捕获不到的。
于是作者使用Windbg,附加到kubelet进程中,并篡改在kubelet的http/https响应包为30x重定向,从而实现API Server的SSRF.

而且,go自带的http请求库是会follow 30x跳转的,所以这里又机会升级SSRF为POST请求.

疑问1

kubelet又不是服务端,为什么 API Server会主动对kubelet发请求? 结合作者的幻灯片和演讲视频,以及K8s官方文档,kubelet其实也是开放了http端点的,换言之,kubelet也开启了web服务的.
具体可参考k8s的官方文档

疑问2

这里有个疑问,就是篡改kubelet响应给API Server的流量,造成SSRF,这是否没法修复?因为节点上的kubelet肯定是可以被控制的,甚至还能修改源码重新编译一个kubelet。
-> (后来想想)其实可以修复的啦!只要让API Server不follow 30x重定向即可。

Reference

https://www.youtube.com/watch?v=Q-N-LR_NoSY&list=PLiEHUFG7koLsvukxg6wI1yaXRl_pmh3PZ&index=15
https://chatgpt.com/share/65e6346e-d392-4201-a86d-89dedb104238
https://kubernetes.io/zh-cn/docs/concepts/architecture/control-plane-node-communication/#api-server-to-kubelet

posted @ 2025-02-21 21:29  wh03ver-momo  阅读(4)  评论(0)    收藏  举报