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

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占用很大

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,原文不放了,放个打码的截图

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

3.2 做掉

文件都删掉,

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

定时任务也给删掉

crontab -e

3.3 善后

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

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

顺手还把Jenkins做了升级。

3.4 结果

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

4. 总结

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

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

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

编程还未

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值