2022-03-06 21:28:14 +08:00
# :rooster:0x00 前言
2022-02-22 18:16:52 +08:00
2022-03-07 23:23:55 +08:00
> 2022年3月7日
>
> 我觉得文档写的还不是很清楚,等有空更新一下文档完整的使用教程
2022-03-08 23:17:17 +08:00
> 2022年3月8日
**使用教程**: [使用教程 ](使用教程.md )
2022-03-07 23:23:55 +08:00
2022-03-07 12:10:41 +08:00
**语言/Language**
2022-03-07 12:11:41 +08:00
English README: [English ](README.en.md )
2022-03-07 12:10:41 +08:00
2022-02-22 18:16:52 +08:00
想写个存储桶的利用,先给自己画个饼
2022-03-04 19:16:52 +08:00
2022-03-06 21:35:56 +08:00
+ 阿里云( Aliyun Cloud Oss)
+ 腾讯云( Tencent Cloud COS)
+ 华为云 ( HuaWei Cloud OBS)
+ AWS ( Amazon S3 Bucket)
+ Azure ( Azure Blob)
+ GCP ( Google Cloud Bucket)
工具名称我都没想好,相信大佬们看到项目名就知道...机翻王
2022-03-06 21:28:14 +08:00
如果觉得用的还行, 可以提issue给工具起个名字? :sos:
:waning_crescent_moon:**画饼进度**
2022-03-04 19:16:52 +08:00
1、阿里云存储桶利用
不太会用Git, 代码写的也烂, 有BUG直接提Issue即可( 好像我连issue可能都用不明白)
2022-03-06 21:28:14 +08:00
> 好在二爷给我推荐的GitHub Desktop 二爷YYDS
# :pill:0x01 依赖
2022-03-04 19:16:52 +08:00
+ pip3 install oss2
+ pip3 install colorlog
2022-03-06 21:30:46 +08:00
+ pip3 install argparse
2022-03-04 19:16:52 +08:00
2022-03-06 21:28:14 +08:00
# :gun:0x02 使用方法
2022-03-04 19:16:52 +08:00
```bash
git clone https://github.com/UzJu/Cloud-Bucket-Leak-Detection-Tools.git
python3 main.py -h
```
随后在config/conf.py中写入自己的阿里云AK, 作用如下
1、如果可以劫持, 会用该AK创建同名的存储桶
2、用来验证合法用户

## 1、当存储桶Policy权限可获取时

## 2、当存储桶不存在时(自动创建并劫持)
2022-03-06 21:40:03 +08:00

2022-03-04 19:16:52 +08:00
2022-03-06 21:28:14 +08:00
## 3、批量检测存储桶
新增批量存储桶的检测功能, 推荐fofa一键导出所有资产
**fofa**
```bash
domain="aliyuncs.com"
server="AliyunOSS"domain="aliyuncs.com" #不推荐该语法
```
```bash
python3 main.py -f filepath
```
随后等待即可, 扫描结果会在results目录下, 文件名为当天的日期
2022-03-06 21:41:07 +08:00

2022-03-06 21:28:14 +08:00
2022-03-06 21:41:07 +08:00

2022-03-06 21:28:14 +08:00
只会保存有权限操作的存储桶
2022-03-06 21:41:07 +08:00

2022-03-06 21:28:14 +08:00
2022-03-04 19:16:52 +08:00
输入存储桶地址即可自动检测,功能如下
+ 1、检测当前存储桶是否可劫持
+ 如果可劫持, 自动在config中写入的AK账号上创建同命名的存储桶并开放所有权限
+ 2、检测当前存储桶是否可列出Object
+ 3、检测当前存储桶是否可获取ACL
+ 4、检测当前存储桶是否可获取Policy策略表
+ 5、检测存储桶是否可上传Object
2022-03-06 21:28:14 +08:00
+ 6、批量检测功能
2022-03-04 19:16:52 +08:00
2022-03-07 23:23:55 +08:00
## 4、域名检测功能
很多存储桶都解析了域名, 新增判断域名的CNAME, 然后取CNAME来进行检测
**现在可以直接导入大量域名资产来进行检测, 会自动判断域名的CNAME**

2022-03-06 21:28:14 +08:00
# 0x03 阿里云存储桶利用
2022-03-04 19:16:52 +08:00
### 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
+ 尝试上传一个文件,是否可以成功上传
2022-03-06 21:28:14 +08:00
# :older_man:0x040001 更新日志
**2022年3月6日**
+ 新增批量扫描功能
+ 修复Fake_UserAgent报错的问题
> 其实是直接把这个库删了,不用了^ ^
2022-03-07 23:23:55 +08:00
**2022年3月7日**
+ 新增域名检测
2022-03-06 21:28:14 +08:00
# :cop:0xffffffff 免责声明
免责声明
1、本工具只作为学术交流, 禁止使用工具做违法的事情
2022-03-04 19:16:52 +08:00
2022-03-06 21:28:14 +08:00
2、只是写着玩
2022-03-07 23:58:40 +08:00
3、我的微信
> 如果你有更好的建议或者交个朋友
2022-03-07 23:59:32 +08:00

2022-03-08 20:48:39 +08:00
# 曲线图
[](https://starchart.cc/UzJu/Cloud-Bucket-Leak-Detection-Tools)