【技术原创】渗透基础——Minio版本探测 - 嘶吼 RoarTalk – 网络安全行业综合服务平台,4hou.com

【技术原创】渗透基础——Minio版本探测

3gstudent 技术 2023-07-27 12:00:00
62728
收藏

导语:本文将要介绍Minio版本探测的方法,通过Python实现自动化,记录开发细节,开源代码。

0x00 前言

本文将要介绍Minio版本探测的方法,通过Python实现自动化,记录开发细节,开源代码。

0x01 简介

本文将要介绍以下内容:

实现思路

实现细节

开源代码

0x02 基础知识

MinIO是一款基于Go语言发开的高性能、分布式的对象存储系统。Minio可以做为云存储的解决方案用来保存海量的图片,视频,文档。由于采用Go语言实现,服务端可以工作在Windows,Linux, OS X 和FreeBSD上,并且只需要单独的可执行程序就可以运行。

在Windows上的环境搭建可参考:https://min.io/docs/minio/windows/index.html

1.下载

最新版本:https://dl.min.io/server/minio/release/windows-amd64/minio.exe

历史版本:https://dl.min.io/server/minio/release/windows-amd64/archive/

历史版本在下载后将文件后缀名添加.exe,运行即可

2.启动服务

命令行参数:minio.exe server C:\minio --console-address :9090

3.Web访问

URL地址:http://127.0.0.1:9090

默认用户名:minioadmin

默认口令: minioadmin

0x03 实现思路

Minio的版本探测需要登录到Web后台

访问位置:Health页面,如下图

下载.png

从页面中可以看到当前版本以及节点和存储的信息

在程序实现上,我们可以通过抓包的方式分析认证过程,具体内容如下:

1.登录

访问地址:http://127.0.0.1:9090/api/v1/login

通过json格式传入认证信息,具体内容如下:

微信截图_20230404144856.png

登录成功后返回状态码204,在Header中添加Cookie: token=xxxx作为凭据

2.读取版本信息

访问地址:http://127.0.0.1:9090/api/v1/admin/info

需要带有Cookie: token=xxxx作为凭据

返回结果为json格式,如下图

下载 (1).png

补充:获得Minio的最新版本

访问地址:http://127.0.0.1:9090/api/v1/check-version

0x04 实现细节

1.登录

这里需要考虑一个问题:默认端口被修改的情况

在用程序实现自动化时,通常会使用端口9000,但存在端口被修改为9001的情况,也存在很少一部分将端口修改为其他不常见的端口

如果端口错误,会返回状态码400,返回内容示例:

1.png

所以在程序实现上这里可以添加一个判断:当使用默认端口9000时,如果返回特定条件,提示端口错误,接下来尝试端口9001,如果再次失败,提示修改默认端口

完整示例代码:

2.png3.png

2.读取版本信息

返回结果为json格式,结果示例:

4.png这里存在多个servers的情况,所以在解析时需要使用遍历,示例代码如下:

微信截图_20230404145258.png

0x05 开源代码

完整的实现代码已上传至github,地址如下:https://github.com/3gstudent/Homework-of-Python/blob/master/MinIO_GetVersion.py

代码支持以下两种命令:

getversin:用来获得版本信息

getinfo:用来获得完整信息

0x06 小结

本文介绍了Minio版本探测的方法,结合实际环境介绍了通过Python开发的细节,开源代码。


本文为 3gstudent 原创稿件,授权嘶吼独家发布,如若转载,请注明原文地址
  • 分享至
取消

感谢您的支持,我会继续努力的!

扫码支持

打开微信扫一扫后点击右上角即可分享哟

发表评论

 
本站4hou.com,所使用的字体和图片文字等素材部分来源于原作者或互联网共享平台。如使用任何字体和图片文字有侵犯其版权所有方的,嘶吼将配合联系原作者核实,并做出删除处理。
©2022 北京嘶吼文化传媒有限公司 京ICP备16063439号-1 本站由 提供云计算服务