吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 26091|回复: 41
收起左侧

[PC样本分析] 记一次Linux挖矿病毒的清除

  [复制链接]
xuing 发表于 2019-2-13 14:43
使用论坛附件上传样本压缩包时必须使用压缩密码保护,压缩密码:52pojie,否则会导致论坛被杀毒软件等误报,论坛有权随时删除相关附件和帖子!
病毒分析分区附件样本、网址谨慎下载点击,可能对计算机产生破坏,仅供安全人员在法律允许范围内研究,禁止非法用途!
禁止求非法渗透测试、非法网络攻击、获取隐私等违法内容,即使对方是非法内容,也应向警方求助!
本帖最后由 xuing 于 2019-2-13 17:05 编辑

起因是同学过年期间因阿里云的服务器Redis弱口令(好像是没设密码)被提权植入了挖矿病毒,CPU长期占用100%。登录服务器后,首先使用Top命令,查看CPU占用。


发现CPU占用率达到100%,可是却没有相关占用高的进程。想用apt安装一些软件,来协助查毒,结果全部报错,(后证明确实是病毒搞的鬼,清完毕后,apt就能正常使用了)


遂决定手动查毒试一试。进入bin目录按照时间排序就发现了修改时间为19年2月8日的khugrepaged。正好是CPU第一次100%那天,阿里云发出警告的那天。


将他下载下来,通过VT查询,发现有多家报毒CoinMiner。使用IDA或Strings者提取字符串,发现有UPX壳,在本机通过upx -d命令进行脱壳。脱壳后再次提取字符串。

发现了大量类似XMR(门罗币缩写),矿池相关的字符串,无疑就是挖矿软件了。但是删除重启后,还是会被二次创建。
这时可以使用类似
find ./ -mtime +20 -a -mtime -50 -type f
这样的命令,查看某个时间段内有哪些文件被修改过。(但是我这里没有用这种方式。)
其实,会被二次创建完全是情理之中。因为一般挖矿软件都是开源程序,病毒只是给与他特定的参数为病毒作者挖矿。
这时我首先想到去查看有无定时任务,通过crontab -l查看所有的定时任务。


通过crontab -r删除所有定时任务。将定时任务中出现的2.jpg下载下来,发现其实是shell脚本。部分内容如下:

TIM截图20190213144435.png
该脚本的基本功能是关闭并删除其他的挖矿软件和病毒(对的,这个病毒还帮你杀毒23333)然后通过 hxxp://166.78.155.151/164 下载挖矿软件并运行。
然后喜闻乐见,删除重启后,还是再次生成了。这时,我考虑先下手解决进程隐藏的问题。通过查阅一些资料。发现很多病毒会对 /etc/ld.so.preload 做手脚以达到提前运行的目的。
查看该文件。


我们尝试删除 ld.so.preload。提示权限不足。


活学活用,在2.jpg的脚本用,看到了大量的chattr -i以及chattr +i的命令,尝试使用 chattr -i ld.so.preload,再进行rm操作就可以成功删除了。
同理其他删除不掉的病毒文件
ld.so.preload文件指向了/usr/local/lib/libftp.so。将libftp.so 拷贝出来后删除。
再尝试运行top命令,发现已经可以正常显示了。可以看到khugrepaged占了98%的CPU。


将libftp.so上传VT,报毒Processhider。很贴切的名字。对其进行简单的逆向分析。发现其Hook了readdir函数。并且发现了三个好玩的字符串。


khugrepaged是我们知道的挖矿程序,那么剩下两个呢。
通过 ps -aux| grep mdmisc 和 ps -aux| grep scsitgtd


看到了这两个文件的所在位置。使用 ls -al 列出隐藏文件。将mdmisc拷贝后删除。但是scsitgtd,bin目录下并没有找到。
我们先对mdmisc进行简单分析。字符串提取。


基本可以确定,khugrepaged就是他释放出来的。然后还修改了DNS等等的操作。
其中的一串命令如下
chattr -i /etc/init.d/mdmisc;rm -f /etc/init.d/mdmisc /etc/rc2.d/S20mdmisc/etc/rc3.d/S20mdmisc /etc/rc4.d/S20mdmisc /etc/rc5.d/S20mdmisc;
查看其中的一个内容如下:

这个是用来启动mdmisc的。把这里相关的文件也进行删除。
真正让人值得注意的是

chmod +x /bin/scsitgtd; /bin/scsitgtd; rm -f /bin/scsitgtd;
这句话。修改为可执行,运行后删除,这也就是为什么我们可以在进程中看到他,但是不能找到他的原因了。
对这个字符串做交叉引用,看是从哪里下载下来的。


可以看到是通过yxarsh.shop/165下载的。
我们请求一下,果然下载到了。upx脱壳后,IDA打开。
这是添加定时任务的代码逻辑:

主要功能逻辑:

剩下的就是把相关操作逆操作回来就好了。其实把这几个文件删了之后也就没什么大问题了。

免费评分

参与人数 14威望 +1 吾爱币 +19 热心值 +9 收起 理由
Hmily + 1 + 7 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
帅气的小笨蛋 + 1 谢谢@Thanks!
sunnylds7 + 1 + 1 热心回复!
乱码 + 1 + 1 我很赞同!
plasd + 1 + 1 用心讨论,共获提升!
MaxMadcc + 1 谢谢@Thanks!
YS123456 + 1 + 1 我很赞同!
jyjjf + 1 + 1 不错,可以学到不少东西
浅先森の小猫 + 1 谢谢
qzf5438 + 1 + 1 用心讨论,共获提升!
YAO21 + 1 我很赞同!
skinsy + 1 我很赞同!
吾爱爱吾 + 1 我很赞同!
zzmaster + 1 + 1 我很赞同!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| xuing 发表于 2019-3-11 22:14
十三夜之月 发表于 2019-3-11 17:47
解决了,感谢楼主。
另外,想问个问题,病毒我已经删了,为什么
echo 0>/var/spool/mail/root

大概是因为他们是日志文件的缘故?(笑)
你cat一下看看是不是正常日志就行了吧~
十三夜之月 发表于 2019-3-11 17:47
解决了,感谢楼主。
另外,想问个问题,病毒我已经删了,为什么
echo 0>/var/spool/mail/root
echo 0>/var/log/wtmp
echo 0>/var/log/secure
echo 0>/var/log/cron
这些日志文件还是会一直产生?
王小劣 发表于 2019-2-13 15:00
去年清理过两次,后来把一些没必要开放的端口都关了到现在没出现过了.
小谷 发表于 2019-2-13 15:58
可以不出不错
First_Account 发表于 2019-2-13 16:06 来自手机
膜拜大神,围观一下
YAO21 发表于 2019-2-13 16:08
厉害厉害
伯牙 发表于 2019-2-13 16:20
门罗币病毒,去年大火的一款病毒。
wst321 发表于 2019-2-13 16:49
感谢,学习了@
qzf5438 发表于 2019-2-13 16:53
可以 学习到了
头像被屏蔽
yaojing 发表于 2019-2-13 17:07
提示: 作者被禁止或删除 内容自动屏蔽
YS123456 发表于 2019-2-13 17:58
不错。学习了。。。。。。。。。。......
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-22 13:01

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表