🙂起因:
好吧...这个服务器我才申请不到一天,就在凌晨收到了阿里云发来的QQ邮件:安全事件提醒、恶意入侵行为等。
❓排查:
首先是来到阿里云服务器的监控页面,一下子弹出了几条安全信息。
便随意点了几条看看:挖矿程序?恶意脚本代码执行???
不会吧?我不信。
然后到finalshell中操作了一番,发现连打条指令都好艰难了,一卡一卡的(好吧虽然这跟服务器应该关系不大,但让我意识到了问题的严重性)
然后回到阿里云服务器监控页面,观察CPU使用率动态图以及ECS同时连接数动态图,发现cpu使用率竟然飙升,ECS同时连接数也到了惊人的几十K
想借助阿里云的力量给我自动修复掉,可我发现,能修复能拦截的早已自动修复和拦截,余下的是阿里云也没办法的。。。
那只能自己解决了?!
🤯解决:
看了一下警告详情:(发现还可以把这个脚本下载下来,我就先下载到主机上了😄)
找到脚本路径以后便通过finalshell找到了这个脚本,vim打开看了看,真是复杂!!!
当然想立马rm -rf 掉,竟然说我没权限(仍然不知道为什么,明明我是root用户)
于是百度
东搞西搞就删掉了
重启服务器,不久,cpu使用率又爆满......
然后就开始各种问百度,看到了crontab这个东西
奥!脚本肯定是定时不断执行的!
立马crontab -l:果然有一条定时任务(这是我获得服务器的第一天,我保证没有自定义过定时任务)
立马crontab -r:没有权限!
???我root用户怎么什么权限都没了???
vim /etc/crontab:好家伙,里面还有一条定时任务
只读文件,内容也删不掉。
rm -rf依然没权限,但用同样的方法删除成功:
至此便把定时任务和定时任务中的脚本删除了
看另一条警告详情:
便直奔bash所在目录/usr/bin,我想看看创建时间
ls -hl | grep bash
好家伙一下子出来了几个,而bash的时间是很早之前了(依稀记得bash是linux系统有用的)
但有一个sh可执行文件的修改(创建)时间与安全警报时间相符,并且sh软链接(or硬链接)了bash。考虑到当前目录是/usr/bin,便想到会不会把sh当指令使用,来运行脚本。
删掉了sh可执行文件,查看另一条警告详情,果然与上面猜想符合:
至此,便删掉了脚本文件、crontab定时任务以及执行脚本的指令。
再次重启服务器,等待一段时间后,一切正常。
😤问题
-
是如何把脚本注入到我服务器上来的?服务器密码不简单呀。
反思了一下,防火墙没开启,各端口门户大开。立马开了防火墙,并只开放相应端口
并根据警报中的发生时间,从先到后,理了一遍入侵逻辑:
涉及了curl拉取资源以及crond定时任务,主机上访问资源路径没有反应(上方图片)
涉及了wget拉取资源以及crond定时任务,主机上访问资源路径给我自动下载了个init.sh,里面内容就是服务器上的脚本的内容
不知道是个啥,但看./zzh,zzh可能是个服务
脚本内容中确实有rm指令
看这个进程链,24407又想执行脚本,要不是我删了脚本,不知道阿里云能否拦下来
又想运行脚本
不知道我的服务器是怎么被人入侵的。查了sshd日志,只有我自己的登录记录,干干净净,不知道侵入日志是否被擦除。当然也并非只有通过22端口的sshd服务才能入侵,其他端口同样可以入侵给我注入脚本。因为我没开防火墙,各端口门户大开。
- 接下来想研究下DNS劫持😎