Redis未授权漏洞复现

本文详细描述了如何在Windows和Linux系统中利用Redis的未授权访问漏洞,包括信息收集、WebShell上传、SSH秘钥链接、Cron定时反弹shell以及利用MSF工具破解密码。同时,也提到了相应的修复措施和防范策略。
摘要由CSDN通过智能技术生成

借鉴:Redis未授权漏洞复现及利用(window,linux)_windows下redis未授权访问漏洞修复-CSDN博客

Redis是远程字典服务(是一个开源使用ANSI C语言编写的、可基于内存亦可持久化的日志型、Key-Vaule数据库、并提供多种语言API),redis默认绑定端口是0.0.0.0:6379,一般密码为空,如果没有设置密码或者密码特别简单(弱密码),会被直接未授权访问,读取数据甚至利用Redis自身的命令进行文件写入

真实场景下信息收集:使用抓包工具抓取redis服务器发送的INFO命令的Payload(是redis自身提供的命令),然后在使用Socket(请求发送功能)向目标主机端口发送Payload看是否会返回redis相关版本信息判断是否有开启redis服务

首先先在Windows和Linux虚拟机上安装Redis,并运行

这是kali靶机

这是win10测试机

进行redis直接连进kali靶机可以进行下一波操作

上传WebShell

利用redis的特性将redis的存放目录更改为想上传文件的位置

然后使用可持久化的dbfilename存放文件

并在文件中写入webshell后门完成恶意后门上传

还可以在 /var/www/html web服务器目录里面动手脚

在其中加上一句话木马即可用菜刀、御剑等直接连接(一句话木马需要在可以web服务器可以解析php代码的情况下)

SSH秘钥链接

ssh远程加密登录(秘钥登录),给一串随机字符串给访问的客户端,让客户端用自己的私钥加密然后发送回来服务器,服务器用自身的公钥解密正确就连接(流行的RSA加密方案)

1.客户端生成RSA公钥和私钥

2.客户端利用redis未授权(在root权限下)可以找到/root/.ssh目录存放自己的公钥要服务器里

3.客户端对服务器发送请求,拿到随机字符串加密

4.服务器使用我们放入的公钥解密就此破解提权

windows(利用Git Bash Here)生成密钥

利用Crontab反弹shell

crontab(是用来定时执行某些任务)将命令放入指定文件里程序会定期执行,相当于每隔一段时间自动执行命令(持久化渗透)

nc -lvp 8888 监听8888端口(等待反弹shell)

利用redis上传反弹shell

主从复制反弹Shell

利用msf破解redis密码

当redis有简易弱密码时使用msf(攻击工具,有一些针对出现漏洞的exp(利用))

相当于字典遍历密码

  • 20
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值