警告:代码很糟糕,因为我只将其用于个人用途。等我有时间,我会让它不那么糟糕(并且更快)。
在对域进行侦察时,了解其拥有的资产非常重要。AWS S3 存储桶权限一次又一次地被混淆,从而导致敏感材料暴露。
这个工具的作用是使用我在漏洞赏金和渗透测试期间识别出的常见模式来枚举 S3 存储桶名称。它支持使用自定义词表对根域名进行排列。我强烈推荐 AltDNS 中打包的词表。
关于找到的每个存储桶,将返回以下信息:
go get -u github.com/glen-mac/goGetBucket
goGetBucket -m ~/tools/altdns/words.txt -d <domain> -o <output> -i <wordlist>
Usage of ./goGetBucket:
-d string
提供的域名(与变异标志一起使用)
-f string
Testfile 的路径(默认 "/tmp/test.file")
-i string
输入词表的路径以进行枚举
-k string
关键词列表(与变异标志一起使用)
-m string
变异词表的路径(需要域名标志)
-o string
输出文件的路径以存储日志
-t int
并发线程数(默认 100)
在我使用该工具的过程中,当我输入一个我感兴趣的根域名的子域名列表(-i)时,得到了最好的结果。例如:
www.domain.com
mail.domain.com
dev.domain.com
测试文件(-f)是脚本将尝试存储在存储桶中用于测试写入权限的文件。因此,如果是在漏洞赏金期间执行此操作,也许可以存储您的联系信息和警告信息?
关键词列表(-k)与根域名(-d)以及不带顶级域名的域名拼接,然后使用提供的排列词表(-m)进行排列。
请确保不要将线程数设置得太高(-t),因为 AWS 有 API 速率限制,一旦触发就会开始返回不期望的状态码。