欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

Linux挖矿病毒的清除与分析

来源:本站整理 作者:佚名 时间:2019-04-15 TAG: 我要投稿

起因
舍友在宿舍喊着,这服务器好卡啊,难受啊!我调侃他是不是被挖矿了,top命令看一下CPU占用。
一看吓一跳,一个叫做sysupdate的进程占据了绝大部分的CPU资源。CPU使用率接近100%。
看来被挖矿是坐实了。
清除过程
确定病因
这个病毒还不是算很变态,很多挖矿病毒,使用top命令都看不到挖矿程序的进程。
基本可以确定这个占据绝大部分cpu资源的进程sysupdate,就是挖矿程序了,我们需要先找到他。
使用命令:
ps -aux | grep sysupdate
查看病毒的PID号。
为了获取绝对路径,使用:
ls -l /proc/{pid号}/exe
发现sysupdate的绝对路径在/etc/sysupdate。
下载下来,上传到VirusTotal。

如图所示,就是他,挖矿病毒没跑了。
开始清除
首先干掉进程:kill -9 {pid号}
直接rm -f sysupdate会提示类似:
rm: cannot remove 'sysupdate ': Operation not permitted
基于经验,应该是病毒使用了chattr +i的命令。我们只要先执行chattr -i sysupdate,然后就可以正常删除了。
复发
然后..很快就又被创建出来了。应该是有守护进程什么的。
而且如果我们简单分析一下sysupdate,其实他并不是病毒,他只是个XMR挖矿程序。
(懂我意思吧,我们必须得找到他爸爸)。
分析的方法,可以通过findStr、IDA等工具提串或者..运行一下就明白了。下图是我虚拟机运行的截图。

好,我知道大家都不关心这个。
定时任务
我是先去看了下日志..发现什么都没有Orz,应该是被清了。
那还是先来检查下定时任务吧:
crontab -l或者cat /var/spool/cron/root
还可以去查看定时任务的日志。
more /var/log/cron log
太多的话,可以在后面加上| grep -v {要排除的关键字}来排除无用信息。

update.sh分析
找到了这个定时执行的源头,我们来简单分析一下。update.sh的内容和相关样本在文末有提供下载。
在/etc下下载了config.json(挖矿配置)、sysupdate(XMR挖矿软件)、update.sh(本脚本)、networkservice(scanner 扫描并入侵其他的主机)、sysguard(watchdog 用于监控并保证病毒的正常运行以及更新)并保证他们以root权限运行。

干掉别的挖矿病毒(见kill_miner_proc函数)。
创建/root/.ssh/authorized_keys,添加病毒作者自己的公钥,保证其可以使用SSH登录到服务器,算是个后门吧。

然后就是添加定时任务,为文件添加chattr +i,修改IPTABLES,清楚日志,关闭SELinux等等。
修复
1.rm /var/spool/cron/root或者 crontab -r删除定时任务。
2.kill命令将相关进程干掉,用chattr -i和rm命令,将上述/etc下的文件全部删除。
3./root/.ssh/authorized_keys也删掉或者修复。
至于IPTABLES、SELinux的恢复,就看大家自己的需求了。
样本分析:networkservice文件的分析
分析准备
查壳是UPX,直接使用upx -d就能脱壳了。
IDA打开发现结构很乱,Shift+F8打开Program Segmentation。

看到.gopclntab,基本就可以确定是golang编写的。我们这里使用IDAGolangHelper来帮助恢复符号信息。
从Github下载下来后,将脚本拷贝到IDA目录的python文件夹下,重启IDA,菜单选择File-Script Command..导入go_entry.py并运行。

PS:这里IDA7.0可能会遇到idc_bc695.py文件的MakeStr报错,这里给出看雪的解决办法。
如图所示,前两个按钮是用于检测Go语言的版本,输出在Output window内。我们这里选择Go1.10。然后按下剩下全部按钮进行修复~
再次看Functions window就舒服多了。不过字符串还是看着非常非常难受,因为Golang的字符串是堆成一坨的,用的时候通过偏移以及长度取。IDA没法很好的识别,只能自己从偏移处选定指定长度再按下A键进行标注。如果大佬们有更好的方式或者脚本,请务必赐教。

功能分析
我们接下来就可以从main_main函数开始看,整个程序的大概流程。
1.首先会去hxxps://pixeldra.in/api/download/I9RRye下载ips_cn.txt并保存为dkelc。

[1] [2]  下一页

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载