记一次Linux挖矿程序解决经历

tech2025-10-22  3

注意:线上当时没截图,以下截图均为解决问题后截取的。

使用top命令可看到CPU使用180%~200%。

$ top

使用free -m 查看内存使用情况,此时内存并没多少占用。

$ free -m

系统符合被挖矿特征,同时阿里云控制台也检测到疑似被挖矿程序入侵。 首先通过top命令可以查看到进程的pid:

可以通过ls -l /proc/xxx/exe命令查找到进程对应资源的位置,xxx表示进程的pid。

# xxx为pid $ ls -l /proc/xxx/exe

查找到文件位置之后,就可以kill掉问题进程:

# pid为问题进程的pid $ kill -9 pid

此时可以去对应的资源路径删除对应的资源,但是木马文件一般删除不掉,因为修改了属性。

扩展知识点:

chattr和lsattr

chattr和lsattr用来改变文件、目录属性和查看这种文件属性;chmod只是改变文件的读、写、执行权限,更底层的属性控制是由chattr来改变。

文件隐藏属性

a:即append,设定该参数后,只能向文件中添加数据,而不能删除,多用于服务器日志文件安全,只有root才能设定这个属性。c:即compresse,设定文件是否经压缩后再存储。读取时需要经过自动解压操作。d:即no dump,设定文件不能成为dump程序的备份目标。i:设定文件不能被删除、改名、设定链接关系,同时不能写入或新增内容。i参数对于文件 系统的安全设置有很大帮助。j:即journal,设定此参数使得当通过mount参数:data=ordered 或者 data=writeback 挂 载的文件系统,文件在写入时会先被记录(在journal中)。如果filesystem被设定参数为 data=journal,则该参数自动失效。s:保密性地删除文件或目录,即硬盘空间被全部收回。u:与s相反,当设定为u时,数据内容其实还存在磁盘中,可以用于undeletion。

此时通过lsattr命令查看文件权限:

# fileName为文件名称 $ lsattr fileName

这个是正常的文件,当时病毒文件还有a、i属性,所以不能直接使用他们rm -rf删除。

如下图: 删除文件前必须先需要去除a、i属性,所以使用chattr命令去除属性。

# fileName为文件名称 $ chattr -a fileName $ chattr -i fileName

但此时很意外,居然提示:

刚开始还以为是真的权限不足,到处去查权限,走了不少弯路。后台才发现,这病毒作者真狗!

查看chattr位置:

$ whereis chattr

查看文件内容:

$ cat /usr/bin/chattr

!!! 知道这作者有多那啥了吧。后来找到另外一个正常系统的chattr文件,想把正常内容替换到病毒文件中。 但是!chattr文件也被设置了a、i隐藏属性!这…这不是套娃了嘛。 再后来将正常的chattr文件重命名为chattrNew,复制到问题系统的/usr/bin/中,再使用

$ chattrNew -a chattr $ chattrNew -i chattr

就可以删除chattr文件了,

$ rm -rf /usr/bin/chattr

然后再将chattrNew文件重命名为chattr:

$ mv /usr/bin/chattrNew /usr/bin/chattr

现在,chattr命令就可以正常使用了!

再使用chattr命令去掉病毒文件的a、i属性:

$ chattr -a fileName $ chattr -i fileName

现在就可以删除病毒文件了!大功告成!

最新回复(0)