redis未设置密码被植入挖矿脚本

2024-03-07 21:52

本文主要是介绍redis未设置密码被植入挖矿脚本,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

最近一台测试linux响应速度贼慢,检查发现cpu消耗高达100%!查看进程杀死后过段时间又重启了,一时间也摸不到头绪。无意间发现启动redis的时候cpu瞬间拉到了100%,主要就是zzh和newinit.sh两个脚本。百度了一下说是被植入了挖矿脚本,是因为redis没有设置密码。参考着搜到的博客处理了问题,但是系统好多命令和配置都被破坏了,还是有必要重装。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

删除挖矿脚本
在网上搜索 zzh,发现 zzh 是一种挖矿脚本
然后就照着网上的教程去删除脚本

攻击者是在 etc 目录下植入一个 zzh 和 zzhs 的文件
zzhs可以删掉,直接删除 zzh 会提示没权限
在这里插入图片描述
查看文件是否被禁止操作:lsattr zzh
删除 ia 参数 :chattr -ia zzh ,提示没有权限
进入/usr/bin目录,使用:ls -lh chattr;lsattr chattr,查看 chattr 命令的权限。
执行以下操作

[root@localhost bin]# cp chattr chattr.new
[root@localhost bin]# chmod a+x chattr.new
[root@localhost bin]# chattr.new -i chattr
[root@localhost bin]# rm -f chattr.new
[root@localhost bin]# chmod a+x chattr

然后再回到 etc 目录下,执行 chattr -ia zzh
这个时候再执行 rm -rf zzh 就能成功了
在这里插入图片描述
删除定时任务
先执行下面的命令,发现查到任务
在这里插入图片描述
再执行 cat /etc/crontab ,发现有一条定时任务
在这里插入图片描述
打开脚本(脚本在服务器已经删除了)
在这里插入图片描述
删除定时任务和这个脚本

ps -ef | grep zzh
find / -name "zzh"

然后执行

发现还有相关联的目录 /etc/cron.d/zzh
在这里插入图片描述

后续使用云服务器时的注意事项:
重要的端口不随便开放
迫不得已端口需要开放,请配置好相关密码,密码尽量不要太简单,要不然容易被暴力破解。
云服务器不使用了,也没有功能要用,尽量关机。redis监听的是所有IP,redis没有设置密码,别人可以直接连接我们的redis进行攻击利用我们的服务器去攻击别人redis如果不提供对外访问,直接把redis 监听改成127.0.0.1redis端口默认 ,没有密码, 知道IP一下就可以连接过来了Redis 默认情况下,会绑定在 0.0.0.0:6379,这样将会将 Redis 服务暴露到公网上,如果在没有开启认证的情况下,可以导致任意用户在可以访问目标服务器的情况下未授权访问 Redis 以及读取 Redis 的数据。攻击者在未授权访问 Redis 的情况下可以利用 Redis 的相关方法,可以成功在 Redis 服务器上写入公钥,进而可以使用对应私钥直接登录目标服务器。修复建议:1.禁止一些高危命令 修改 redis.conf 文件,添加 rename-command FLUSHALL "" rename-command CONFIG "" rename-command EVAL "" 来禁用远程修改 DB 文件地址2.以低权限运行 Redis 服务 为 Redis 服务创建单独的用户和家目录,并且配置禁止登陆3.为 Redis 添加密码验证 修改 redis.conf 文件,添加 requirepass mypassword4.禁止外网访问 Redis 修改 redis.conf 文件,添加或修改 bind 127.0.0.1 使得 Redis 服务只在当前主机可用

参考:

zzh-cpu
redis未设置密码-植入挖矿
MySQL-植入挖矿
挖矿脚本-newinit.sh
防止利用redis未设置密码漏洞入侵服务器
Linux系统上因Redis未设置密码而导致的安全问题

这篇关于redis未设置密码被植入挖矿脚本的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/784948

相关文章

redis中使用lua脚本的原理与基本使用详解

《redis中使用lua脚本的原理与基本使用详解》在Redis中使用Lua脚本可以实现原子性操作、减少网络开销以及提高执行效率,下面小编就来和大家详细介绍一下在redis中使用lua脚本的原理... 目录Redis 执行 Lua 脚本的原理基本使用方法使用EVAL命令执行 Lua 脚本使用EVALSHA命令

Redis 热 key 和大 key 问题小结

《Redis热key和大key问题小结》:本文主要介绍Redis热key和大key问题小结,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录一、什么是 Redis 热 key?热 key(Hot Key)定义: 热 key 常见表现:热 key 的风险:二、

C#使用StackExchange.Redis实现分布式锁的两种方式介绍

《C#使用StackExchange.Redis实现分布式锁的两种方式介绍》分布式锁在集群的架构中发挥着重要的作用,:本文主要介绍C#使用StackExchange.Redis实现分布式锁的... 目录自定义分布式锁获取锁释放锁自动续期StackExchange.Redis分布式锁获取锁释放锁自动续期分布式

Windows 上如果忘记了 MySQL 密码 重置密码的两种方法

《Windows上如果忘记了MySQL密码重置密码的两种方法》:本文主要介绍Windows上如果忘记了MySQL密码重置密码的两种方法,本文通过两种方法结合实例代码给大家介绍的非常详细,感... 目录方法 1:以跳过权限验证模式启动 mysql 并重置密码方法 2:使用 my.ini 文件的临时配置在 Wi

Redis Pipeline(管道) 详解

《RedisPipeline(管道)详解》Pipeline管道是Redis提供的一种批量执行命令的机制,通过将多个命令一次性发送到服务器并统一接收响应,减少网络往返次数(RTT),显著提升执行效率... 目录Redis Pipeline 详解1. Pipeline 的核心概念2. 工作原理与性能提升3. 核

redis过期key的删除策略介绍

《redis过期key的删除策略介绍》:本文主要介绍redis过期key的删除策略,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录第一种策略:被动删除第二种策略:定期删除第三种策略:强制删除关于big key的清理UNLINK命令FLUSHALL/FLUSHDB命

Redis消息队列实现异步秒杀功能

《Redis消息队列实现异步秒杀功能》在高并发场景下,为了提高秒杀业务的性能,可将部分工作交给Redis处理,并通过异步方式执行,Redis提供了多种数据结构来实现消息队列,总结三种,本文详细介绍Re... 目录1 Redis消息队列1.1 List 结构1.2 Pub/Sub 模式1.3 Stream 结

SpringBoot中配置Redis连接池的完整指南

《SpringBoot中配置Redis连接池的完整指南》这篇文章主要为大家详细介绍了SpringBoot中配置Redis连接池的完整指南,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以... 目录一、添加依赖二、配置 Redis 连接池三、测试 Redis 操作四、完整示例代码(一)pom.

Java使用ANTLR4对Lua脚本语法校验详解

《Java使用ANTLR4对Lua脚本语法校验详解》ANTLR是一个强大的解析器生成器,用于读取、处理、执行或翻译结构化文本或二进制文件,下面就跟随小编一起看看Java如何使用ANTLR4对Lua脚本... 目录什么是ANTLR?第一个例子ANTLR4 的工作流程Lua脚本语法校验准备一个Lua Gramm

C#TextBox设置提示文本方式(SetHintText)

《C#TextBox设置提示文本方式(SetHintText)》:本文主要介绍C#TextBox设置提示文本方式(SetHintText),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录C#TextBox设置提示文本效果展示核心代码总结C#TextBox设置提示文本效果展示核心代