通过监控证书透明度日志发现有趣的 Amazon S3 存储桶。
该工具仅监听各种证书透明度日志(通过 certstream),并尝试从证书域名的排列中寻找公开的 S3 存储桶。

请负责任地使用。 我创建此工具主要是为了强调公开 S3 存储桶相关的风险,并为常规的字典攻击提供不同的思路。如果您使用 S3 存储桶,以下是一些快速提示:
company-backup.s3.amazonaws.com。感谢我的好朋友 David(@riskobscurity)提出这个想法。
需要 Python 3.4+ 和 pip3。然后只需:
git clone https://github.com/eth0izzle/bucket-stream.gitpip3 install virtualenv && virtualenv .virtualenv && source .virtualenv/bin/activate 创建虚拟环境pip3 install -r requirements.txtpython3 bucket-stream.py只需运行 python3 bucket-stream.py。
如果您在 config.yaml 中提供了 AWS 访问密钥和秘密密钥,Bucket Stream 将尝试访问经过身份验证的存储桶并识别存储桶所有者。未经身份验证的用户会受到严重的速率限制。
usage: python bucket-stream.py
Find interesting Amazon S3 Buckets by watching certificate transparency logs.
optional arguments:
-h, --help 显示此帮助信息并退出
--only-interesting 仅记录那些内容与 keywords.txt 中任何内容匹配的“有趣”存储桶(默认:False)
--skip-lets-encrypt 跳过由 Let's Encrypt CA 颁发的证书(因此也跳过列出的域名)(默认:False)
-t , --threads 要生成的线程数。更多线程 = 更强力量。未经身份验证时限制为 5 个线程。
(默认:20)
--ignore-rate-limiting
如果您忽略速率限制,则不会检查所有存储桶(默认:False)
-l, --log 将找到的存储桶记录到文件 buckets.log(默认:False)
-s, --source 数据源,用于检查存储桶排列。如果未指定,则使用证书透明度日志。
(默认:None)
-p, --permutations 包含要尝试的排列列表的文件路径(参见 permutations/ 目录)。(默认:permutations\default.txt)
似乎没有发生任何事
耐心!有时证书透明度日志可能会安静几分钟。理想情况下,在 config.yaml 中提供 AWS 秘密,因为这可以大大加快检查速度。
我发现了高度机密的内容
请报告它——感谢!您通常可以通过存储桶名称或进行一些快速侦察来确定所有者。如果无法确定,请联系亚马逊支持团队。
git checkout -b my-new-featuregit commit -am 'Add some feature'git push origin my-new-featureMIT。参见 LICENSE