由于Redis后门漏洞导致服务器被注入挖矿脚本解决过程

由于Redis后门漏洞导致服务器被注入挖矿脚本解决过程由于Redis后门漏洞导致服务器被注入挖矿脚本解决过程事件描述某一天的早晨,我还是像往常一样搭着公交车开启打工仔的一天,一早8.30就到办公室了,坐着玩手机等上班,就这这时突然我组长飞快的回来办公室,回来就说快看看阿里云后台服务,服务是不是挂掉了,我当时就纳闷了一大早的流量不大怎么就宕机了呢,不一会我组长收到了阿里云短信通知监测到恶意脚本,接下来就是脚本的查找前期处理首先是通过阿里云的控制台发现,查看到恶意的进程PID,通过ps-ef|greap5724的确看到了当前进程,前期处理我只

大家好,又见面了,我是你们的朋友全栈君。

由于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个事情

  1. Redis不要使用默认端口设置一个其它端口
  2. Redis一定要设置密码,并且密码不要过于简单

最后如果对Redis配置文件不熟悉可以点击阅读Redis.conf文件详解

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/159200.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Unity Shader 一 激光特效Shader[通俗易懂]

    学习Shader已经有几个月的时间了,Shader作为一门GPU编程语言来说确实比较的难学。主要原因经过我的思考还是本人自己的计算机图形学和美术基础不扎实。好无奈,作为一个之前单纯手写代码的程序员真的是感觉好蛋疼。      学习期间,我也向多名Shader大神请教学习经验,得到的回应大多是让我好好去学习计算机图形学。哈哈,于是乎,本人又跑去看了一个多月的计算机图形学。接着再次回来学习Shad

    2022年4月11日
    346
  • 杭州电商团队_杭州十大跨境电商公司

    杭州电商团队_杭州十大跨境电商公司不是阿里,是….

    2022年9月13日
    3
  • 根据前序遍历和中序遍历创建二叉树

    根据前序遍历和中序遍历创建二叉树Contents 前言四种遍历树的方法简介简介两种快速获得遍历结果的方法根据前序遍历和后续遍历创建树代码实现四种遍历树的方法的代码前言昨天参加了两场笔试 都考了这个题 第一场是根据 pre

    2025年10月22日
    2
  • springcloud和dubbo区别「建议收藏」

    springcloud和dubbo区别「建议收藏」最大区别SpringCloud抛弃了Dubbo的RPC通信,采用的是基于HTTP的REST方式。这两种方式各有优劣。虽然从一定程度上来说,后者牺牲了服务调用的性能,但也避免了上面提到的原生RPC带来的问题。而且REST相比RPC更为灵活,服务提供方和调用方的依赖只依靠一纸契约,不存在代码级别的强依赖,这在强调快速演化的微服务环境下,显得更加合适。…

    2022年6月5日
    30
  • strstr函数的详细讲解

    strstr函数的详细讲解定义:strstr(str1,str2)函数用于判断字符串str2是否是str1的子串。如果是,则该函数返回str2在str1中首次出现的地址;否则,返回NULL。比如:charstr2=“cdef”;charstr1=“abcdefgh”;则通过函数,将返回strstr(str1,str2)=cdefgh;如果str1不包含有str2。charstr…

    2022年6月25日
    30
  • Json详解以及fastjson使用教程[通俗易懂]

    Json是一种轻量级的数据交换格式,采用一种“键:值”对的文本格式来存储和表示数据,在系统交换数据过程中常常被使用,是一种理想的数据交换语言。在使用Java做Web开发时,不可避免的会遇到Json的使用。下面我们就简单讲一下Json的使用以及fastjson.jar包的使用。一:JSON形式与语法1.1:JSON对象我们先来看以下数据:{ "ID":1001, "name"…

    2022年4月10日
    178

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号