本文最后更新于 2024-09-12,文章内容可能已经过时。

Linux挖矿病毒排查

排查中常用的命令

检查一下/etc/passwd,cat /etc/passwd

image-20240912181026943

top命令实时查看系统使用资源详细

image-20240912181108333

查看一些重要的命令的状态

image-20240912181137907

看看定时任务状态

crontab -l

image-20240912181218561

当前网络连接情况netstat -antpnetstat -anp

image-20240912181323646

image-20240912181407922

上传挖矿病毒并运行

上传挖矿病毒到实验主机的/opt目录中,解压后赋予可执行权限并执行

image-20240912172824823

输入top查看实时的进场信息,发现cpu明显升高,没有开启之前是10%一下,下面两个不知名的进程一直占用cpu内存,疑似在进行挖矿

image-20240912173532162

输入netstat -antp查看后发现多出好多外部链接,都是之前的进程创建的

image-20240912173808672

看看定时任务,多了一个奇怪的定时任务

image-20240912174235992

image-20240912173857577

随便选择两条外部链接,194.38.23.2和121.21.119.166,上微步威胁分析查看

image-20240912174029968

image-20240912174254715

可以明确是挖矿病毒

清除步骤

先执行命令netstat -antlp 查看一下向外连接的进程有哪些,可以看到PID分别是11452和11560这两个进程

image-20240912174600455

查看一下这两个目录,这是两个进程执行时候的信息,可以看到两个执行文件都已经被删掉了,所以我们无法在磁盘上用find命令找到他们,但是他们都在内存中执行

(可以看到find无法在磁盘中找到病毒的位置)

image-20240912174745056

查看病毒在内存中驻留的位置

cd /proc/11452

cd /proc/11560

image-20240912174955823

image-20240912175034059

可以看到这两个进程在执行,并且互为备份

image-20240912175300865

可以使用crontab -l先查看一下定时任务,可以发现这个jegw4o的文件,所在目录一直在改变,并且每一分钟改变一次目录

image-20240912175423197

记住这两个PID:11452和11560

1)先删除定时任务(这个定时里的内容每隔一分钟都会变化,目录会变化),同时kill上面这两个病毒进程

crontab -r
kill -9 11452 11560

image-20240912175744433

2)删除病毒

执行完上面两个步骤就可以了,我们还可以把这个定时任务里的可执行文件jegw4o下载到本地,并且上传到尾部沙箱检测一下。并在linux中清除这个文件。

rm -f jegw4o

执行top和netstat -antp查看后,发现系统恢复正常,网络连接情况发现已经没有对外连接了,资源使用也一切正常

image-20240912175949879

image-20240912180126845

下载病毒到本地(在删除之前下载),并上传微步沙箱查看

https://s.threatbook.com/

image-20240912180342331

image-20240912180436588

image-20240912180418452

关键步骤

top,查看进程;

netstat -anpt,查看是否有外连可疑的IP;

crontab -l,查看定时任务;

删除病毒要同时kill进程和结束定时任务:

crontab -r
kill -9 [进程id-1] [进程id-2] ...

额外的分析:

通过微步在线分析ip;
通过微步在线分析病毒源文件。

附件:

在线杀毒:

可以把疑似病毒样本上传到在线杀毒网站

https://www.virustotal.com/gui/home/upload

还可以把病毒样本上传到云沙箱中运行分析:

https://s.threatbook.com/