一次主机被黑导致的系统负载高问题排查记录

一、问题描述

某天,在 QQ 空间看到大学同学发了一个求助帖:

求助安装一个 ffmpeg 软件 ((linux 平台下开源的音视频转码工具),本着助人为乐的想法准备提供一下帮助,了解之后才发现她想做的根本不是安装 ffmpeg,而是已经装好了发现命令执行太卡,以为自己装错了,想找个熟人重装一下。再次深入了解才发现最终的问题是这样的:她们用的腾讯云学生机 (1C1G 配置),平常在上面用 ffmpeg 做音视频转码的实验,一个 10M 左右的视频转码需要十几分钟,觉得时间太长了,并且看到的日志显示他们转码并没有消耗 CPU 资源。

最后排查下来发现系统是被黑客入侵了,排查相当顺利 (比起我们公司设备的排查简直容易一百倍),记录下排查过程。

二、排查过程

了解具体问题之后发现了两个不寻常的地方:

  1. 10M 的视频转码要 10 分钟以上-----单核 CPU 应该也不至于此。
  2. 她们看到的日志显示没有占用 CPU 资源-----没有 GPU,视频转码不耗 CPU 不太可能。

首先登陆上设备,看 CPU 占用:发现设备上以 ftpuser 运行了一个 bash64 的进程,常年占用 CPU 在 97% 以上。

第一眼看上去就很奇怪,为什么 ftpuser 会运行 bash64?而且一般的 bash 也不叫 bash64,为什么 CPU 占用会这么高?一种不妙的感觉顿时涌上心头,当时感觉就可能是被黑了。

尝试关闭进程,果然,根本关不掉,关了又起来。 ps 查看文件所在位置之后删除也不行,删除后还会自动创建,进程也还是会起来。

再仔细一看,发现进程执行的程序是放在 ftpuser 主目录下的一个隐藏文件夹下,同时还有个配置参数,cat 这个文件竟然是一串 ssh 密钥。这明显就是一个挖矿进程了。

。。。于是乎,排查结束!

三、解决方案

结论

系统被黑客入侵,植入了挖矿程序,一直占用 CPU 导致其他程序无法得到 CPU 资源,出现了 ffmpeg 转码卡慢的问题。

解决方案

因为工作太忙 (当时已经是晚上快十点了还在公司加班。。。) 没有深入分析下去,直接建议重装系统了。

事后发现

腾讯云早已发送告警短信到她手机,她熟视无睹:

发表评论