
Exploiting misconfigured firebase databases
利用存在漏洞或配置错误的 Firebase 数据库
非标准 Python 模块:
如果以下命令成功运行,你就可以使用该脚本了:
git clone https://github.com/Turr0n/firebase.git
cd firebase
pip install -r requirements.txt
python3 firebase.py [-h] [--dnsdumpster] [-d /path/to/file.htm] [-o results.json] [-l /path/to/file] [-c 100] [-p 4]
参数:
-h 显示帮助信息
-d 下载的 HTML 文件的绝对路径。
-o 输出文件名。默认值:results.json
-c 在 Alexa 前 100 万个域名中爬取。设置要爬取的域名数量,例如:100。最多 1000000
-p 要执行的进程数。默认值:1
-l 包含要爬取的数据库的文件路径。每行一个数据库名称。此选项不能与 -d 或 -c 一起使用
--dnsdumpster 使用 DNSDumpster API 收集数据库
--just-v 忽略“非易受攻击”的数据库
--amass Amass 扫描输出文件([-o] 参数)的路径
示例:
python3 firebase.py -p 4 -f results_1.json -c 150 --dnsdumpster 这会查找 Alexa 文件中的前 150 个域名以及 DNSDumpster 提供的数据库。结果将保存到 results_1.json 中,整个脚本将使用 4 个并行进程执行。
该脚本会创建一个 JSON 文件,其中包含收集到的易受攻击的数据库及其转储内容。每个数据库都有一个状态:
为了获得更好的结果,请访问 pentest-tools.com 并在其子域名扫描器中输入以下域名:firebaseio.com。扫描完成后,保存页面 HTML(CRL+S),并使用 -d [路径] 参数,这会让脚本分析该服务发现的子域名。未来可能会支持更多的子域名爬虫。
现在我们支持 amass 扫描器(由 @caffix 开发)!使用该工具对 firebaseio.com 运行任何所需的扫描,并使用 -o 参数,脚本就能解析输出文件并爬取发现的数据库。
Firebase 数据库使用以下结构:https://[数据库名称].firebaseio.com/。如果你使用 -l [路径] 参数,提供的文件需要每行包含一个 [数据库名称],例如:
airbnb
twitter
microsoft
使用该文件将会检查以下数据库:https://airbnb.firebaseio.com/.json, https://twitter.firebaseio.com/.json, https://microsoft.firebaseio.com/.json
本脚本大量基于 appthority 的移动威胁团队的工作。所有研究功劳归他们所有。
用于从 Alexa 前 100 万个域名文件中下载域名的 脚本 由 @evilpacket 提供。