Linux服务器中了挖矿的病毒,成功清理

文章目录

    • 1. 遇到个奇怪的问题
    • 2. Linux上排查
      • 2.1 检查硬盘容量
      • 2.2 检查内存
      • 2.3 top
      • 2.4 ps查看进程信息
      • 2.5 netstat查看该进程占用的端口
      • 2.6 lsof
    • 3.动手
      • 3.1 检查定时任务
      • 3.2 做掉
      • 3.3 善后
      • 3.4 结果
    • 4. 总结

1. 遇到个奇怪的问题

同事发消息说开发环境某个服务(化名A服务)Jenkins构建失败了。A服务一个普通的Java项目,springboot的jar包,使用的docker发布。
看了看日志,build成功,但是deploy失败了。日志上没显示什么有效信息,于是去服务器上查看。

2. Linux上排查

登录的到Jenkins所在的服务器。检查流程如下

2.1 检查硬盘容量

df -h

结果比较正常,硬盘空间足够,不是日志爆满。

2.2 检查内存

free -h

结果比较正常,内存是足够用的。

2.3 top

top

U以CPU维度排序,按M以内存维度排序,按c显示进程详情。
发现某个进程CPU占用很大
Linux服务器中了挖矿的病毒,成功清理_第1张图片
rGDkIakd,不知为何物,第一反应是中毒了。但是搜索引擎搜不到。
TOP页面,按c看进程详情,没有作用。

2.4 ps查看进程信息

ps -ef |grep rGDkIakd

还是一无所获。

2.5 netstat查看该进程占用的端口

netstat -ntlp |grep 19536
netstat -ntlp |grep rGDkIakd

两个命令均无所获,没有任何信息。

2.6 lsof

最后查看文件,有结果了

lsof |grep rGDkIakd

其实有很多条,只截了一条。

打码的是我服务器的domain,一个陌生的ip,查一下,是棒子南朝鲜的ip(也有可能是肉鸡地址,无所谓了就是棒子),

3.动手

现在已经怀疑是个病毒了,现在比较容易中挖矿的病毒,CPU飙升通常是在挖矿。
这种进程,怕死掉,一般会有个保活机制(死掉拉起)。

3.1 检查定时任务

crontab -l

发现了内容

找到这个文件,内容是base64,原文不放了,放个打码的截图

Linux服务器中了挖矿的病毒,成功清理_第2张图片

解析一下,原文不放了,放个打码的截图

Linux服务器中了挖矿的病毒,成功清理_第3张图片

3.2 做掉

文件都删掉,

rm -rf /root/.sysxxx/xxxx.sh

定时任务也给删掉

crontab -e

3.3 善后

服务器恢复了正常。
后续交给运维善后了,他给的结论

Jenkins的漏洞,被棒子利用了,会在/tmp下创建个文件,把定时任务执行的文件拉过去,然后写到定时任务里面定时检查进程是否还在。

顺手还把Jenkins做了升级。

3.4 结果

一定要经常看看服务器的状态,加一些监控报警。本次中毒的服务器因为某些原因开了公网,之前是内网的服务器所以没监控疏于防范。大家一定要注意啊。

4. 总结

先看几个硬盘、内存、CPU等指标,再看进程、文件句柄,最后检查定时任务。可以揪出来一些简单的有害进程。

关注公众号- 编程highway - 获取更多好文和学习资料

你可能感兴趣的:(linux,linux,网络安全,运维开发)