Redis 不设置密码,你知道会有多严重吗?
mhr18 2024-11-09 12:22 19 浏览 0 评论
推荐阅读:
闭关修炼21天,“啃完”283页pdf,我终于4面拿下字节跳动offer
肺炎在家“闭关”,阿里竟发来视频面试,4面顺利拿下offer
小编前言:近日因为redis服务器运行在docker下被挖矿程序入侵了,虽然问题解决了,但是看到有个博主有相关得文章写的不错,特分享一下。小编机器被黑截图
(xmrig-notls=> 门罗币挖矿病毒)
公司目前架构为exsi虚拟化平台,在一台物理机上面虚拟多个虚拟机,然后安装不同的业务,其中开发有需要安装redis的需求,因此给开发安装了一个基于docker的redis数据库。由于当时开发那边没有密码的要求,所以当时就没有配置密码。因此隐患就来了。
一段时间后,发现公司连接机房的网络经常中断,3389远程连接中断,ssh连接断线重连,于是就开始排查问题,终于发现redis数据库中存在异常情况
从上面的图,可以看出redis的数据明显是被串改了,然后填入了黑客的数据,并让redis定时执行一个黑客脚本。
如下的黑客脚本我已经下载一下了,有兴趣研究的同学,可以下载下来研究一下。地址如下:
https://shell-1251121573.cos.ap-guangzhou.myqcloud.com/tmp.tKOLZdySXb
br
处理异常
由于redis我是基于docker搭建,于是就删除了原来的redis容器,创建一个新的容器,并配置了密码。这个操作对实体服务器并没有影响,我就没有在意多的事情,这个事情告一段落了。
发现新的问题
由于实体服务器有好多虚拟机,一段时间后,有部分虚拟机的cpu还有网络经常提示有异常。cpu占用100%,网络流量很大,定时任务经常被清空等等问题出现,我猜测可能是当时redis没有配置密码。导致其他弱口令的机器被批量扫描入侵了。然后种植了挖矿木马
于是一个个排查弱口令的机器。终于在有的机器上面发现了异常情况,这台机器有大量的异常进程,cpu占用很高,网络流量也很大
通过
top -c
br
查看服务器cpu使用情况
发现进程pid为13427的明显有问题。后面带有一串不熟悉的网址。初步判断是挖矿木马
ps -ef 查看所有进程`
br
发现了一堆的异常进程,这样cpu不耗尽才怪呢。
ifconfig 查看一下网络流量。简直是巨大,我说为什么我的ssh经常掉线呢,宽带都被挤没了
br
确定了 pid为13427进程有问题,于是就开始排查了
ll /proc/13427
br
查看这个进程里面的的一些关联信息(由于13427进程id被我干掉了,有生成了新的13699进程,)
exe -> /var/tmp / user/sh
br
一般exe对应的就是执行的程序的路径,就像下面那个。对应 /usr/sbin/smbd
但是上面那个奇葩的路径什么鬼?一脸迷茫。
cd /var/tmp/ user/sh
br
根本进不去
cd /var/tmp/
br
进入这个目录也没有找到user/sh 这个文件路径啊,我顿时就迷茫了,难道病毒压根就没有这文件。但是不可能啊,明明就指向这个路径,怎么可能没有呢,难道隐藏了?执行了ls -a命令。也是没有发现任何隐藏的文件
在同事的提醒下,于是我进入到 /var/tmp/ 执行了ls- l命令。
一般的ll,只会显示 ./和…/路径,可是多出来一个/是什么东西。如果不仔细,还真是发现不了。于是就猜测,黑客可能是把文件夹名称通过转义隐藏了,导致我们在/var/tmp目录下执行 cd / 只会回到根目录,而压根进不去黑客隐藏的目录。
就在尝试了好多次都没有办法的时候,我突然想到,能不能通过给这个文件夹重命名呢,于是执行了如下命令
mv \ 111
br
就是把名字为\的文件夹重命名为111,结果奇迹出现了
重命名成功了。原来黑客利用了转移字符 \ 这个字符明明的文件夹,在linux下是不会显示任何东西的,只会显示一个空格。而你不会轻易发现。这个操作真是玩的很溜。
现在知道问题了,而且已经重命名了,接下来执行查看进程看一下
ll /proc/13427
br
下面就显示正常了
exe ->/var/tmp/111/god/haiduc
br
这个路径就行黑客的木马路径了。然后果断删除这个111整个文件夹。然后整个系统的cpu和网络全部降下来了。
黑客还利用了定时任务,让木马每分钟的都启动
定时任务里面,也是隐藏了路径,开始看到这个路径,我也是一脸懵逼。
/var/tmp /user/miner
br
这样的奇怪的写法从来没有见过,在根目录下也找不到/user/miner这个路径。
后来其实只要看成下面的写法就可以理解。
/var/tmp/\/user/miner
br
好了,病毒文件夹删除了,定时任务也清空了,接下来就开始排查其他服务器有没有什么问题了。
感谢开发的同事tim给我提供灵感,和我一起解决这个问题。其实清理这个木马的难点就是黑客使用了迷雾。使用转移字符转换了文件夹路径,导致好多人发现不了,这点实在是高明。
作者:diyiday
原文:https://blog.csdn.net/diyiday/article/details/83755205
相关推荐
- 使用 Docker 部署 Java 项目(通俗易懂)
-
前言:搜索镜像的网站(推荐):DockerDocs1、下载与配置Docker1.1docker下载(这里使用的是Ubuntu,Centos命令可能有不同)以下命令,默认不是root用户操作,...
- Spring Boot 3.3.5 + CRaC:从冷启动到秒级响应的架构实践与踩坑实录
-
去年,我们团队负责的电商订单系统因扩容需求需在10分钟内启动200个Pod实例。当运维组按下扩容按钮时,传统SpringBoot应用的冷启动耗时(平均8.7秒)直接导致流量洪峰期出现30%的请求超时...
- 《github精选系列》——SpringBoot 全家桶
-
1简单总结1SpringBoot全家桶简介2项目简介3子项目列表4环境5运行6后续计划7问题反馈gitee地址:https://gitee.com/yidao620/springbo...
- Nacos简介—1.Nacos使用简介
-
大纲1.Nacos的在服务注册中心+配置中心中的应用2.Nacos2.x最新版本下载与目录结构3.Nacos2.x的数据库存储与日志存储4.Nacos2.x服务端的startup.sh启动脚...
- spring-ai ollama小试牛刀
-
序本文主要展示下spring-aiollama的使用示例pom.xml<dependency><groupId>org.springframework.ai<...
- SpringCloud系列——10Spring Cloud Gateway网关
-
学习目标Gateway是什么?它有什么作用?Gateway中的断言使用Gateway中的过滤器使用Gateway中的路由使用第1章网关1.1网关的概念简单来说,网关就是一个网络连接到另外一个网络的...
- Spring Boot 自动装配原理剖析
-
前言在这瞬息万变的技术领域,比了解技术的使用方法更重要的是了解其原理及应用背景。以往我们使用SpringMVC来构建一个项目需要很多基础操作:添加很多jar,配置web.xml,配置Spr...
- 疯了!Spring 再官宣惊天大漏洞
-
Spring官宣高危漏洞大家好,我是栈长。前几天爆出来的Spring漏洞,刚修复完又来?今天愚人节来了,这是和大家开玩笑吗?不是的,我也是猝不及防!这个玩笑也开的太大了!!你之前看到的这个漏洞已...
- 「架构师必备」基于SpringCloud的SaaS型微服务脚手架
-
简介基于SpringCloud(Hoxton.SR1)+SpringBoot(2.2.4.RELEASE)的SaaS型微服务脚手架,具备用户管理、资源权限管理、网关统一鉴权、Xss防跨站攻击、...
- SpringCloud分布式框架&分布式事务&分布式锁
-
总结本文承接上一篇SpringCloud分布式框架实践之后,进一步实践分布式事务与分布式锁,其中分布式事务主要是基于Seata的AT模式进行强一致性,基于RocketMQ事务消息进行最终一致性,分布式...
- SpringBoot全家桶:23篇博客加23个可运行项目让你对它了如指掌
-
SpringBoot现在已经成为Java开发领域的一颗璀璨明珠,它本身是包容万象的,可以跟各种技术集成。本项目对目前Web开发中常用的各个技术,通过和SpringBoot的集成,并且对各种技术通...
- 开发好物推荐12之分布式锁redisson-sb
-
前言springboot开发现在基本都是分布式环境,分布式环境下分布式锁的使用必不可少,主流分布式锁主要包括数据库锁,redis锁,还有zookepper实现的分布式锁,其中最实用的还是Redis分...
- 拥抱Kubernetes,再见了Spring Cloud
-
相信很多开发者在熟悉微服务工作后,才发现:以为用SpringCloud已经成功打造了微服务架构帝国,殊不知引入了k8s后,却和CloudNative的生态发展脱轨。从2013年的...
- Zabbix/J监控框架和Spring框架的整合方法
-
Zabbix/J是一个Java版本的系统监控框架,它可以完美地兼容于Zabbix监控系统,使得开发、运维等技术人员能够对整个业务系统的基础设施、应用软件/中间件和业务逻辑进行全方位的分层监控。Spri...
- SpringBoot+JWT+Shiro+Mybatis实现Restful快速开发后端脚手架
-
作者:lywJee来源:cnblogs.com/lywJ/p/11252064.html一、背景前后端分离已经成为互联网项目开发标准,它会为以后的大型分布式架构打下基础。SpringBoot使编码配置...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- oracle位图索引 (63)
- oracle批量插入数据 (62)
- oracle事务隔离级别 (53)
- oracle 空为0 (50)
- oracle主从同步 (55)
- oracle 乐观锁 (51)
- redis 命令 (78)
- php redis (88)
- redis 存储 (66)
- redis 锁 (69)
- 启动 redis (66)
- redis 时间 (56)
- redis 删除 (67)
- redis内存 (57)
- redis并发 (52)
- redis 主从 (69)
- redis 订阅 (51)
- redis 登录 (54)
- redis 面试 (58)
- 阿里 redis (59)
- redis 搭建 (53)
- redis的缓存 (55)
- lua redis (58)
- redis 连接池 (61)
- redis 限流 (51)