记录进程隐藏的挖矿病毒bioset其删除全过程
服务器感染bioset挖矿病毒后,一般手段找不出来,因为该程序通过手段隐藏了进程,
搜了搜,linux一般自带unhide命令,没有的话执行下yum install unhide
(如果是CentOs8,改为使用dnf
安装),遇到确认项时按y输出确认即可,
unhide proc
开始查找隐藏的进程,
然后发现有bioset,一搜,挖矿病毒,
去/usr/bin看了下,有这个可执行文件,于是先杀进程再删了这个文件,
再扫描一次,居然还有个bioset挖矿进程杀不掉
经过搜索,这个病毒会修改一些像top这类的系统程序,所以大概率只能做好重要数据重装系统,然后密码设置复杂些防止再次被攻击感染
但是,我不信,因为有其他服务器就没有扫描出任何隐藏进程,那我把系统程序用其他服务器的覆盖下试试(记得先备份)
如top,kill,ps,killall,然后报缺依赖(可能是系统版本不完全相同导致的,也可能是当前主机的环境变量被污染而找不到依赖导致的)
还好我备份了
systemctl status 上面查出的进程号
试试,结果提示,该进程号不属于任何自启项,那还算好的,如果是自启项需要去/etc/rc.local文件把其中包含bioset的行删掉
find / -name '*bioset*'
找还有没有残余文件试试,然后又找到一处,果断删掉/usr/local/lib/bioset.so
然后继续使用unhide proc
报了一大堆依赖错误,
ERROR: ld.so: object '/usr/local/lib/bioset.so' from /etc/ld.so.preload cannot be preloaded: ignored.
此处省略n条
那么这个ld.so.preload应该也是一个病毒文件(网上也看到了),删!
然后报权限不够,开始使用lsattr 文件名
命令看它加了什么属性
[root@ etc]# lsattr ld.so.preload ERROR: ld.so: object '/usr/local/lib/bioset.so' from /etc/ld.so.preload cannot be preloaded: ignored. ----ia---------- ld.so.preload
如上所示,加了ia属性,i不能修改,a表示该文件只能追加内容不能修改(所以一般给个i就够了)
现在来移除它们
chattr -ia ld.so.preload
在执行上述命令过程中,报chattr
命令不存在,发现该命令已被重命名,找到原来的chattr
命令后,替换回来,最终得以执行.
然后再删rm -f ld.so.preload
,成功,也没报错了,再来一次隐藏进程扫描unhide proc
,OK,没有隐藏进程了,结束
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· Windows编程----内核对象竟然如此简单?