引言
最近自己的服务器被一个名为xmrig的挖矿程序挖矿了,想查看这个进程的内容,我们首先得找到这个东西,下面就是根据进程名称查找所在目录的方法:
linux下进程运行后,进程信息存储在/proc/进程id 目录下面,进程id查看命令 ps -ef | grep 进程名,vi /proc/进程id/environ 搜索PWD字段,则是该进程运行所在目录
附属一个保守的解决方法:
挖矿病毒xmrig一般在cpu比较闲的时候会触发,并且会占用cpu 99%,造成本机资源极大浪费。
在网上搜了半天,没有发现好的解决办法,否则就只能重装操作系统了。
因为重装操作系统,损失太大,所以这里我想了一种保守疗法。
挖矿病毒有个规律,它并不是一直启动的,而且停止后,还会好长一段时间才能再运行。
根据这个特点,我做一个定时任务,定时检测xmrig,如果发现有这个进程在运行就把它杀掉。
具体实现如下:
1、实现脚本killprocess.sh,发现进程并杀掉
#!/bin/sh NAME=$1 echo $NAME #ID=`ps -ef | grep "$NAME" | grep -v "$0" | grep -v "grep" | awk '{print $2}'` CPU=`ps -aux | grep kworker | sort -rn -k +3 | head -1 | awk {'print $3'} | awk -F. '{print $1}'` ID=`ps -aux | grep kworker | sort -rn -k +3 | head -1 | awk {'print $2'}` echo $CPU echo $ID echo "---------------" sleep 1s if [ $CPU -ge 95 ]; then echo "killed $ID" kill -9 $ID fi
2、crontab设置默认1分钟定时执行
crontab -e * * * * * /etc/init.d/killprocess.sh
OK,世界从此安静了!