Redis未授权访问获取shell

Redis 未授权访问

Redis默认未配置身份鉴别,当端口侦听在公网上时,攻击者可通过Redis未授权访问,获取到服务器shell。

上靶场!!!在这里插入图片描述
可以看到服务器开启了两个端口 48965 和 41617(由于靶场中途退出,重启后,截图上的两个端口和后边用的发生了改变),通过搭建 redis 客户端环境,对着两个端口连接测试,发现都可以直接连接到 redis 数据库。
在这里插入图片描述
先查看一波,看一下配置保存数据文件的目录,看到是 /var/lib/redis 可以判断是Linux系统主机,而且只有48965端口可以正常使用
在这里插入图片描述
看一下保存数据的文件名
在这里插入图片描述
通过查看保存文件的所在目录,可以发现该服务器操作系统为Linux,然后尝试设置配置文件目录为 /root/.ssh ,通过上传自己的ssh公钥,然后ssh远程到该服务器
在这里插入图片描述
尝试设置目录为 /root/.ssh 发现权限不够,看来通过写ssh公钥的方式是行不通了,然后想到可以写 webshell 获取系统命令执行权限,但是目标服务器似乎没有提供web服务,尝试了80和8080这些端口都不是,最后尝试了一下题目中给定的端口…
在这里插入图片描述
surprise
在这里插入图片描述
找到了web界面,然后就要去找以下该站点的物理路径了,输入一个不存在的文件名或目录名
在这里插入图片描述
通过报错可以看出,这个网站使用的中间件是Apache,我们知道Linux中Apache默认的站点目录在 /var/www/html中,尝试设置redis文件保存目录为该目录,并且设置保存文件名为php
在这里插入图片描述
很开心,我的设置是成功的,下面来验证以下这个站点的物理路径是否是该路径,这里设置一个字符串的键值,键为 script,值为我们希望写入到 shell.php中的内容,save保存以下,将该键值写入到shell.php中(之前设置了保存路径及保存文件名为 /var/www/html/shell.php)
在这里插入图片描述
通过浏览器访问试试,可以看到在 Script前后有乱码,这就是我们使用 \n\n 换行的原因
在这里插入图片描述
既然站点的物理路径找到了,而且文件写入也没有问题,下面就直接写入一句话木马,上蚁剑
将一句话木马保存到shell.php中
在这里插入图片描述
在这里插入图片描述
右击进入虚拟终端
在这里插入图片描述
获取到 flag
在这里插入图片描述

这里因为权限的原因没有使用到ssh公钥的方式,而是使用到了通过网站获取shell,通过ssh方式的话,就是将保存目录设置为 /root/.ssh ,保存文件名设置为 authorized_keys ,然后将自己生成的公钥设置为字符串的值,保存后,使用ssh连接即可(当然,对方网络中防火墙可能设置了ssh只允许固定ip连接,或不允许连接,这样的话,就只能眼睁睁的看着了…通过端口转发突破防火墙这里不谈)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值