一、事件背景
最近接到客户反馈,发现Linux机器卡顿,CPU使用量超标高达90%以上,怀疑被挖矿,深信服EDR安全团队第一时间进行了应急处理,并发现该挖矿木马为一款新型的Linux挖矿木马,并对此样本进行了深入的研究分析。
二、样本分析
1.对一系列矿池地址进行DNS查询请求,如下:
相应的矿池地址列表如下:
pool.minexmr.com,xmr-eu1.nanopool.org,xmr-eu2.nanopool.org
xmr-us-east1.nanopool.org,xmr-us-west1.nanopool.org,xmr-asia1.nanopool.org
xmr-jp1.nanopool.org,xmr-au1.nanopool.org,xmr.crypto-pool.fr
fr.minexmr.com、de.minexmr.com、ca.minexmr.com、sg.minexmr.com
pool.supportxmr.com、xmr-usa.dwarfpool.com、xmr-eu.dwarfpool.com
xmr.prohash.net、xmrpool.eu、mine.ppxxmr.com、jw-js1.ppxxmr.com
xmr.f2pool.com、xmr.pool.minergate.com、monerohash.com
pool.monero.hashvault.pro、gulf.moneroocean.stream
us-east.cryptonight-hub.miningpoolhub.com
europe.cryptonight-hub.miningpoolhub.com
asia.cryptonight-hub.miningpoolhub.com
2.通过chattr -i删除掉文件保护属性,重新感染主机系统,如下:
3.通过进程/proc/[进程ID]/exe,获取文件的路径,如下:
4.在内存中拼接字符串,如下所示:
相应的命令行如下:
5.运行/bin/sh执行之前拼接出来的命令,复制自身,添加相应的自启动项,进行持久化操作,如下所示:
相应的反汇编代码如下:
6.通过rm -f进行自删除操作,如下:
7.修改resolv.conf配置文件,如下:
相应的反汇编代码如下:
修改之后的resolv.conf文件如下:
8.修改crontab定时任务文件,如下:
相应的反汇编代码,如下:
9.修改之后的定时文件内容,如下:
10.判断是否可以读取如下文件,如下:
11.修改原系统中的top程序,如下:
将内存中的数据,写入新生成的top程序,如下:
12.修改复制后的文件保护属生,如下:
13.生成临时记录文件mmlog,如下:
14.设置系统内存属性等,如下:
15.干掉其它网络请求程序,如下:
16.干掉其它挖矿进程,如下:
通过/bin/sh执行如下命令:
17.启动新的挖矿进程,然后进行挖矿操作,挖矿的进程名从列表中随机选取,如下:
随机进程列表如下:
[aio][async][ata][ata_aux][bdi-default][cpuset][crypto][ecryptfs-kthrea]
[events][ext4-dio-unwrit][flush-251:0][flush-8:0][jbd2][kacpi_hotplug]
[kacpi_notify][kacpid][kblockd][kconservative][kdmflush][khelper][khubd]
[khungtaskd][kintegrityd][kmmcd][kmpath_handlerd][kmpathd][kondemand]
[kpsmoused][kseriod][ksmd][ksnapd][ksoftirqd][kstriped][ksuspend_usbd]
[kswapd0][kswapd1][kthreadd][migration][netns][pm][scsi_eh_0][sync_supers]
[usbhid_resumer][watchdog][xfs_mru_cache][xfsaild][xfsbufd][xfsconvertd]
[xfsdatad][xfslogd][xfssyncd]
18.内置的挖矿程序,通过配置文件启动挖矿程序,进行挖矿,如下:
19.同时发现程序内置了一个py脚本,执行下载执行程序,由于远程服务器地址失效了,无法下载相应的样本,导致无法分析,提取出来的相应的py脚本如下:
20.抓获取的相应的数据包如下,此样本批量DNS请求相应的矿池地址,如下:
挖矿的网络数据包,如下:
跟踪TCP数据流如下:
把矿池的IP地址到VT上进行查询,如下:
钱包地址:
462ESZn57F4fBneHKXhnEM4TmgCvgrsErGJBLY1T61fmKGymjFuEZup6pnqhT3iJtw4fgbsjdPLwUgsGnr1zzDKuFSkZaF1
通过钱包地址查询,如下:
三、解决方案
该Linux挖矿木马清除解决方案如下:
1.结束相关的进程,通过ps查找相关进程,挖矿的进程名在随机进程列表中
进程[xfslogd]占用CPU较高,通过kill -9 24984结束此进程,同时可以看到此进程是由我们分析的母体进行创建的
2.清理定时任务
清除掉最后一行定时任各启动libiacpkmn.so.3
3.清除/usr/lib/目录下的libiacpkmn.so.3文件,清除文件保护属性后删除
4.清除/bin和/etc/init.d两个目录下的nfstruncate文件,清除文件保护属性后删除
5.清除rc*.d文件下的文件链接,分别为rc0.d-rc6.d文件中的S01nfstruncate文件
四、相关IOC
MD5
8D80041CDEA7DC172FFF87A6758ED548
*本文作者:千里目安全实验室,转载请注明来自FreeBuf.COM