2022-03-07 12:11:41 +08:00

138 lines
4.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# :rooster:0x00 前言
**语言/Language**
English README: [English](README.en.md)
想写个存储桶的利用,先给自己画个饼
+ 阿里云Aliyun Cloud Oss
+ 腾讯云Tencent Cloud COS
+ 华为云 HuaWei Cloud OBS
+ AWS Amazon S3 Bucket
+ Azure Azure Blob
+ GCP Google Cloud Bucket)
工具名称我都没想好,相信大佬们看到项目名就知道...机翻王
如果觉得用的还行可以提issue给工具起个名字:sos:
:waning_crescent_moon:**画饼进度**
1、阿里云存储桶利用
不太会用Git代码写的也烂有BUG直接提Issue即可好像我连issue可能都用不明白
> 好在二爷给我推荐的GitHub Desktop 二爷YYDS
# :pill:0x01 依赖
+ pip3 install oss2
+ pip3 install colorlog
+ pip3 install logging
+ pip3 install argparse
# :gun:0x02 使用方法
```bash
git clone https://github.com/UzJu/Cloud-Bucket-Leak-Detection-Tools.git
python3 main.py -h
```
随后在config/conf.py中写入自己的阿里云AK作用如下
1、如果可以劫持会用该AK创建同名的存储桶
2、用来验证合法用户
![image-20220304184757595](https://uzjumakdown-1256190082.cos.ap-guangzhou.myqcloud.com/UzJuMarkDownImageimage-20220304184757595.png)
## 1、当存储桶Policy权限可获取时
![image-20220304185015693](https://uzjumakdown-1256190082.cos.ap-guangzhou.myqcloud.com/UzJuMarkDownImageimage-20220304185015693.png)
## 2、当存储桶不存在时(自动创建并劫持)
![image](https://user-images.githubusercontent.com/50813806/156925718-9a3dc236-0ef6-4afa-8d26-a2946fe876b2.png)
## 3、批量检测存储桶
新增批量存储桶的检测功能推荐fofa一键导出所有资产
**fofa**
```bash
domain="aliyuncs.com"
server="AliyunOSS"domain="aliyuncs.com" #不推荐该语法
```
```bash
python3 main.py -f filepath
```
随后等待即可扫描结果会在results目录下文件名为当天的日期
![image](https://user-images.githubusercontent.com/50813806/156925744-3c012b86-6449-4cf1-a790-b2c1282f76bd.png)
![image](https://user-images.githubusercontent.com/50813806/156925758-36a8fcba-8bc8-4d1a-8863-d8110dbe0b71.png)
只会保存有权限操作的存储桶
![image](https://user-images.githubusercontent.com/50813806/156925766-15d415d3-d573-4b54-ab0f-5c79bc1966ad.png)
输入存储桶地址即可自动检测,功能如下
+ 1、检测当前存储桶是否可劫持
+ 如果可劫持自动在config中写入的AK账号上创建同命名的存储桶并开放所有权限
+ 2、检测当前存储桶是否可列出Object
+ 3、检测当前存储桶是否可获取ACL
+ 4、检测当前存储桶是否可获取Policy策略表
+ 5、检测存储桶是否可上传Object
+ 6、批量检测功能
# 0x03 阿里云存储桶利用
### 1、实现思路
首先实现了`OssBucketCheckFromSDK`
+ AliyunOssBucketDoesBucketExist
+ 用来判断当前存储桶是否存在首先如果存储桶存在那么就返回一个True继续走下面的流程如果存储桶不存在那么就调用OssBucketExploitFromSDK类创建存储桶并且设置ACL权限上传访问策略随后上传一个文件进行验证如果存储桶此时存在或者为AccessDenied继续走下面的流程
+ AliyunOssGetBucketObjectList
+ 判断是否可以遍历存储桶中的内容如果可以则会选择前3个内容进行遍历并显示
> 如果想遍历更多的内容可以查看aliyunOss.py中的AliyunOssGetBucketObjectList方法
+ AliyunOssGetBucketAcl
+ 判断能否访问当前Bucket的ACL如果可以的话就返回当前Bucket的ACL如果不可以就继续走下面的Check流程
+ AliyunOssGetBucketPolicy
+ 判断能否访问当前Bucket的Policy如果可以的话就会返回当前Bucket的ACL如果不可以就继续走下面的Check
+ AliyunOssGetBucketObject
+ 尝试上传一个文件,是否可以成功上传
# :older_man:0x040001 更新日志
**2022年3月6日**
+ 新增批量扫描功能
+ 修复Fake_UserAgent报错的问题
> 其实是直接把这个库删了,不用了^ ^
# :cop:0xffffffff 免责声明
免责声明
1、本工具只作为学术交流禁止使用工具做违法的事情
2、只是写着玩