记几次被恶意挖矿程序占满linux服务器cpu的经历

过程一:

1. 发现cup爆满
当我部署项目时启动不了,tomcat启动不了,然后我发现cup爆满,然后查看用top查看进程

然后我再查看pstree进程树

2.杀死进程
kill -9  pid  

杀死进程suppoie 进程后,过一分钟该进程又起来了

3. 查找源文件
杀死进程又起来,肯定是有源文件在远程调用其他远程文件植入病毒,查询源文件

find  / -name '*suppoie*'

查找到了文件 在 /var/tmp 目录下  如下图

然后删除 suppoie , supsplk,config.json 文件

然后过了一会suppoie进程又起来了,那说明上面删除的文件是生成的文件,不是源文件

然后查看abrt文件夹下的文件内容

说明是远程下载图片sh脚本执行的,所以找到了罪魁祸首,杀死进程,删除这个文件,搞定了,再也没有suppoie进程了

我们的服务器被别人当成挖矿的肉鸡了
 

过程二:

看下定时任务,这主要是在top命名里面,我看到占用cpu最多的并始终保持在98%以上的程序是cron,那就找呗

crontab -e  #这个定时脚本里面一般恶意脚本不会在这里

crontab -e  #这个定时脚本里面一般恶意脚本不会在这里
 
cd /var/spool/cron    #有很多脚本都会在这里


cd /var/spool/cron    #有很多脚本都会在这里
果然是在/var/spool/cron下面,有一个仿造的mysql文件

在这个里面发现了定时脚本

* * * * * /home/mysql/.bashtemprc/a/upd>/dev/null 2>&1
@reboot /home/mysql/.bashtemprc/a/upd>/dev/null 2>&1
5 8 * * 0 /home/mysql/.bashtemprc/b/sync>/dev/null 2>&1
@reboot /home/mysql/.bashtemprc/b/sync>/dev/null 2>&1  
0 0 */3 * * /tmp/.X21-unix/.rsync/c/aptitude>/dev/null 2>&1

<

一般这个情况的定时任务都不正常。正常的定时任务,例如宝塔上添加的:

10 1 * * 5 /www/server/cron/11606daf741e6e1d62d574e8cabd963d >> /www/server/cron/11606daf741e6e1d62d574e8cabd963d.log 2>&1
30 1 * * 5 /www/server/cron/b998837571afa5e37d76e692706dce55 >> /www/server/cron/b998837571afa5e37d76e692706dce55.log 2>&1

>

确定好位置之后,挨个看它们还有没有引用其他的程序,然后全部删除

将cron所占的pid kill掉,接下来应该没问题了

果然cpu正常了
 

过程三:

问题描述

云服务器 ECS Linux 服务器上 CPU 使用率超过 70%,严重时可达到 100%,或者服务器响应越来越慢。

原因分析

恶意 minerd、tplink 进程

在服务器上运行 top 命令,结果如下:

top

可以看到,有一个 minerd (或 tplink)的异常进程,占用了大量 CPU 资源。该进程是服务器被入侵后,被恶意安装的比特币挖矿程序,一般存在于 /tmp/ 目录下。

如果使用 top 命令查看不到所述进程,可以用 ps 命令检查相关进程。例如,

ps

可以看到,服务器中存在这个进程。如果它不是您主动开启的,则很可能是被入侵所致。服务器被恶意利用来挖比特币。

隐藏的恶意模块

黑客通过驱动 rootkit 程序入侵主机,并部署隐藏挖矿程序,CPU 使用率可能达到 90-100%。该场景无法通过 top 命令和 ps 命令来检测确认。

处理方案

恶意 minerd、tplink 进程

  • 使用如下命令,通过 PID 获取对应文件的路径。然后,找到并删除对应的文件。

  • ls -l /proc/$PID/exe

  • 其中,$PID 为进程对应的 PID 号,可以通过 ps 或者 top 获取。

  • 使用 kill 命令关闭进程。

  • 建议您平时增强服务器的安全维护,优化代码,以避免因程序漏洞等导致服务器被入侵。

隐藏的恶意模块

被隐藏的恶意模块一般有:raid.ko、iptable_mac.ko、snd_pcs.ko、usb_pcs.ko 和 ipv6_kac.ko。您可以使用 file /lib/udev/usb_control/... 命令,分别检查是否存在以上模块。

例如,使用以下命令查看是否存在 iptable_mac.ko 模块:

file /lib/udev/usb_control/iptable_mac.ko

结果如下图所示,表明存在隐藏的 iptable_mac.ko 模块。ko

注:如有出现类似问题的小伙伴可以+v探讨:Redamancy_2803

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值