firebase是一款针对Firebase数据库的安全工具,该工具基于Python 3开发,可以帮助广大研究人员针对目标Firebase数据库执行安全漏洞扫描、漏洞测试和错误配置检测等任务。
该工具专为红队研究人员设计,请在获得授权许可后再进行安全测试。
工具要求
当前版本的firebase需要使用到下列非标准Python模块:
dnsdumpster
bs4
requests
工具安装
由于该工具基于Python 3开发,因此我们首先需要在本地设备上安装并配置好最新版本的Python 3环境。
接下来,广大研究人员可以直接使用下列命令将该项目源码克隆至本地:
git clone https://github.com/Turr0n/firebase.git
然后切换到项目目录中,使用pip工具和项目提供的requirements.txt文件安装该工具所需的其他依赖组件:
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(即最大100万个);
-p:要执行的进程数量,默认为1;
-l:包含待爬取数据库的文件路径,每行一个数据库名称,该选项不能跟-d或-c一起使用;
--dnsdumpster:使用DNSDumpster API收集数据库信息;
--just-v:忽略没有安全漏洞的数据库;
--amass:amass扫描的输出文件路径 ([-o]选项);
工具使用样例
下列命令将查询Alexa排名前150的域名以及DNSDumpster提供的数据库,结果将存储至results_1.json文件中,整个工具脚本将使用4个并行进程执行任务:
python3 firebase.py -p 4 -f results_1.json -c 150 --dnsdumpster
生成的JSON结果文件将包含收集到的数据库安全信息以及转储的内容,每个数据库包含一个状态数据,可能的值如下:
-2:未检测到漏洞;
-1:目标数据库不存在;
0:可能可以执行进一步漏洞利用;
1:检测到漏洞;
许可证协议
本项目的开发与发布遵循MIT开源许可证协议。
项目地址
firebase:
https://github.com/francesc-h/firebase
https://github.com/PaulSec/API-dnsdumpster.com
http://beautiful-soup-4.readthedocs.io/en/latest/
https://github.com/requests/requests
https://pentest-tools.com/information-gathering/find-subdomains-of-domain