UzJu 4cc669edd0 2022-5-29-Update-Info
感谢各位大佬的star和支持
add
1、add Aws S3 Bucket Core(新增AWS存储桶检测功能)
Fix
1、The function to save detection results to CSV is moved to config/conf.py(将检测结果CSV保存功能移至config/conf.py)
2、Fix boto3 error(修复Boto3报错问题)
3、Change the problem that some documents are not clear(更新部分文档内容不清晰的问题)
2022-05-29 14:07:45 +08:00

5.7 KiB
Raw Permalink Blame History

🐓0x00 前言

image-20220529132925098

2022年3月7日

我觉得文档写的还不是很清楚,等有空更新一下文档完整的使用教程 2022年3月8日

2022年5月29日

1、更新了aws存储桶检测功能

2、感觉更新有些慢了这段时间比较忙其实本地的新版本写好了一直没有push

使用教程: 使用教程

语言/Language

English README: English

想写个存储桶的利用,先给自己画个饼

  • 阿里云Aliyun Cloud Oss
  • 腾讯云Tencent Cloud COS
  • 华为云 HuaWei Cloud OBS
  • AWS Amazon S3 Bucket
  • Azure Azure Blob
  • GCP Google Cloud Bucket)

工具名称我都没想好,相信大佬们看到项目名就知道...机翻王

如果觉得用的还行可以提issue给工具起个名字🆘

🌘画饼进度

1、阿里云存储桶利用

不太会用Git代码写的也烂有BUG直接提Issue即可好像我连issue可能都用不明白

好在二爷给我推荐的GitHub Desktop 二爷YYDS

2、AWS存储桶利用

💊0x01 依赖

  • pip3 install oss2
  • pip3 install colorlog
  • pip3 install argparse
  • pip3 install boto3

🔫0x02 使用方法

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

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

image-20220304185015693

2、当存储桶不存在时(自动创建并劫持)

image

3、批量检测存储桶

新增批量存储桶的检测功能推荐fofa一键导出所有资产

fofa

domain="aliyuncs.com"
server="AliyunOSS"domain="aliyuncs.com" #不推荐该语法
python3 main.py -f aws/aliyun filepath

# 例如
python3 main.py -f aws ./url.tx\\\\\\\``````````````````````````````````````````````````````````````````````````

随后等待即可扫描结果会在results目录下文件名为当天的日期

image

image

只会保存有权限操作的存储桶 image

输入存储桶地址即可自动检测,功能如下

  • 1、检测当前存储桶是否可劫持
    • 如果可劫持自动在config中写入的AK账号上创建同命名的存储桶并开放所有权限
  • 2、检测当前存储桶是否可列出Object
  • 3、检测当前存储桶是否可获取ACL
  • 4、检测当前存储桶是否可获取Policy策略表
  • 5、检测存储桶是否可上传Object
  • 6、批量检测功能

4、域名检测功能

很多存储桶都解析了域名新增判断域名的CNAME然后取CNAME来进行检测

现在可以直接导入大量域名资产来进行检测会自动判断域名的CNAME

image-20220307231827585

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

    • 尝试上传一个文件,是否可以成功上传

0x04 Aws存储桶利用

python3 main.py -aws xxxx

image-20220529094124272

0x05 利用后results文件解释

在results目录下可以看到存在问题的存储桶

image-20220529134339645

1、ListObject 代表该存储桶的内容可以列出来

2、PutObject 代表该存储桶可以上传任意的文件

3、NoSuchBucket 代表该存储桶可以接管

4、GetBucketACL 代表可以获取该存储桶的ACL

5、GetBucketPolicy 代表可以获取该存储桶的策略配置

👴0x040001 更新日志

2022年3月6日

  • 新增批量扫描功能
  • 修复Fake_UserAgent报错的问题

其实是直接把这个库删了,不用了^ ^

2022年3月7日

  • 新增域名检测

2022年5月29日

  • 新增AWS存储桶扫描

👮0xffffffff 免责声明

免责声明

1、本工具只作为学术交流禁止使用工具做违法的事情

2、只是写着玩

3、我的微信

如果你有更好的建议或者交个朋友

image

曲线图

Stargazers over time