在渗透测试中信息收集的重要性不言而喻,子域名收集是信息收集中必不可少且非常重要的一环,目前网上也开源了许多子域收集的工具,但是总是存在以下部分问题:
为了解决以上痛点,此项目应用而生,我希望OneForAll是一款集百家之长,功能强大的全面快速子域收集终极神器。
censys_api
,certdb_api
,certspotter
,crtsh
,entrust
,google
)axfr
,检查跨域策略文件cdx
,检查HTTPS证书cert
,检查内容安全策略csp
,后续会添加检查NSEC记录,NSEC记录等模块)archivecrawl
,commoncrawl
,此模块还在调试,该模块还有待添加和完善)binaryedge_api
, circl_api
, hackertarget
, riddler
, bufferover
, dnsdb
, ipv4info
, robtex
, chinaz
, dnsdb_api
, netcraft
, securitytrails_api
, chinaz_api
, dnsdumpster
, ptrarchive
, sitedossier
)srv
,该模块还有待添加和完善)riskiq_api
,threatbook_api
,threatminer
,virustotal
,virustotal_api
该模块还有待添加和完善)ask
, bing_api
, fofa_api
, shodan_api
, yahoo
, baidu
, duckduckgo
, google
, so
, yandex
, bing
, exalead
, google_api
, sogou
, zoomeye_api
),在搜索模块中除特殊搜索引擎,通用的搜索引擎都支持自动排除搜索,全量搜索,递归搜索。csv
, tsv
, json
, yaml
, html
, xls
, xlsx
, dbf
, latex
, ods
。由于该项目处于开发中,会不断进行更新迭代,下载使用最好克隆最新项目。
安装要求:Python 3.6-3.7
git clone https://github.com/shmilylty/OneForAll.git
pipenvpip3 install pipenv cd OneForAll/oneforall pipenv install python 3.7.4 pipenv run python oneforall.py --help
pip3cd OneForAll/oneforall pip3 install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/ python3 oneforall.py --help
如果在安装依赖过程中发现编译某个依赖库失败时可以参考编译失败解决方法,如果还没有解决欢迎加群反馈。
1 |
python3 oneforall.py --target example.com run |
命令行参数只提供了一些常用参数,更多详细的参数配置请见config.py,OneForAll命令行界面基于Fire实现。
1 |
pipenv run python oneforall.py --help |
关于泛解析问题处理程序首先会访问一个随机的子域判断是否泛解析,如果使用了泛解析则是通过以下判断处理:
config.py
设置大小)
1 |
pipenv run python aiobrute.py --help |
1 |
pipenv run python dbexport.py --help |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
D:. | +---.github +---docs | collection_modules.md 收集模块说明 +---images \---oneforall | aiobrute.py 异步多进程多协程子域爆破模块,可以单独运行 | collect.py 各个收集模块上层调用 | config.py 配置文件 | dbexport.py 数据库导出模块,可以单独运行 | domains.txt 要批量爆破的域名列表 | oneforall.py OneForAll主入口,可以单独运行 | __init__.py | +---common 公共调用模块 +---data 存放一些所需数据 | next_subdomains.txt 下一层子域字典 | public_suffix_list.dat 顶级域名后缀 | srv_names.json 常见SRV记录前缀名 | subdomains.txt 子域爆破常见字典 | \---modules +---certificates 利用证书透明度收集子域模块 +---check 常规检查收集子域模块 +---crawl 利用网上爬虫档案收集子域模块 +---datasets 利用DNS数据集收集子域模块 +---dnsquery 利用DNS查询收集子域模块 +---intelligence 利用威胁情报平台数据收集子域模块 \---search 利用搜索引擎发现子域模块 |