大家好,又见面了,我是你们的朋友全栈君。
由于Redis后门漏洞导致服务器被注入挖矿脚本解决过程
事件描述
某一天的早晨,我还是像往常一样搭着公交车开启打工仔的一天,一早8.30就到办公室了,坐着玩手机等上班,就这这时突然我组长飞快的回来办公室,回来就说快看看阿里云后台服务,服务是不是挂掉了,我当时就纳闷了一大早的流量不大怎么就宕机了呢,不一会我组长收到了阿里云短信通知监测到恶意脚本,接下来就是脚本的查找
前期处理
首先是通过阿里云的控制台发现,查看到恶意的进程PID,通过
ps -ef | greap 5724
的确看到了当前进程,前期处理我只是通过了kill -9 5724
将进程kill了,并且把后台服务也启动了看似风平浪静,更加恐怖再后头
问题再现
但是好景不长过了30分钟作用开始有一个服务又突然宕机,接下来nginx也宕机了,我尝试启动服务,服务器启动失败,我通过top发现我们服务器的CPU与内存居然满载了,估计是由于内存满载的原因导致我宕机服务无法重启
问题排除
再次发送以上的问题后,我开始对问题进行排除,我回想刚刚我明明把进程
kill
了,怎么还出现这个问题,难道是定时任务我使用crontab -l
查看了当前liunx中的定时任务,突然发现一个奇怪30秒执行一次的脚本任务,肯定就是它了,我很庆幸居然那么快找出问题所在
清除定时任务
尝试修改定时任务内容
首先我使用了
crontab -e
尝试修改定时任务,修改完毕后:wq!
保存居然弹出不允许操作
尝试清除所有定时任务
改不了内容那我不改了,我直接
crontab -r
删除所有定时任务,居然还不行
文件权限查询
好吧看来文件被做了手脚无法修改了,然后我顺着不允许操作的文件
cd /var/spool/cron/
目录下并且查看了root
这个文件的权限,好像没毛病啊root可读 可写
文件属性查询
经过多次问题的查找,最后发现文件属性被修改了通过
lsattr root
查看到当前文件属性为a 不得任意更动文件或目录;i 让文件或目录仅供附加用途
,接下来的过程会涉及到2个比较默生的命令lsattr(查看文件属性)
与chattr(更改文件属性)
lsattr与chattr指令文档
接下来说明大部分会使用到这个指令,如果不清楚的小伙伴可以阅读一下这个指令的基本使用与说明
lsattr:文档点这里 chattr:文档点这里 修改文件属性
最后通过
chattr -ia root
指令将来root
文件的属性去掉,真可恶居然把chattr权限去掉了,但是这难不倒我
cd /usr/bin/
进入到bin目录找到chattr指令果然,权限都被去除了,我们给它加上可执行权限即可
最后回到定时任务页面尝试将来
root
文件的属性去除,去除成功并且成功的清空了定时任务
清除脚本文件
定时任务已处理了,还有一个脚本文件
newinit.sh
再etc目录下,这个简单cd .etc
使用rm newinit.sh
即可,居然不允许删除,估计还是老套路,继续使用lsattr
查看文件属性,果然最后去除文件属性,成功rm
了这个脚本文件
总结
最后经过百度发现newinit.sh
是一种挖矿脚本,是通过6379
端口接入走后门被注入进来的,说到6379
大家肯定很熟悉,没错这个就是Redis的默认端口,庆幸的是还好这个木马不是很深入,如果入侵的黑客是大神直接把木马深入到内核那这得重装系统了,经过这个事件以后我奉劝大家2个事情
- Redis不要使用默认端口设置一个其它端口
- Redis一定要设置密码,并且密码不要过于简单
最后如果对Redis配置文件不熟悉可以点击阅读Redis.conf文件详解
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/159200.html原文链接:https://javaforall.cn