?OneForAll是一款功能强大的子域收集工具
在渗透测试中信息收集的重要性不言而喻,子域收集是信息收集中必不可少且非常重要的一环,目前网上也开源了许多子域收集的工具,但是总是存在以下部分问题:
censys_api
,certdb_api
,certspotter
,crtsh
,entrust
,google
)axfr
,检查跨域策略文件cdx
,检查HTTPS证书cert
,检查内容安全策略csp
,检查robots文件robots
,检查sitemap文件sitemap
,后续会添加检查NSEC记录,NSEC3记录等模块)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
。由于该项目处于开发中,会不断进行更新迭代,下载使用最好克隆最新项目。
?安装要求
✔安装步骤
如果在安装依赖过程中发现编译某个依赖库失败时可以参考编译失败解决方法,如果还没有解决欢迎加群反馈。
本地测试:
推荐使用Kali安装
git clone https://github.com/shmilylty/OneForAll.git
然后执行
pip3 install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/
✨使用演示【以sina为例】
python3 oneforall.py --target sina.com run
运行结束:
文件位置:
成功收集到6000多个子域名:
然后自己再用Whatweb看下网站Title以及服务器版本信息等等
?使用帮助
命令行参数只提供了一些常用参数,更多详细的参数配置请见config.py,如果你认为有些参数是命令界面经常使用到的或缺少了什么参数等问题非常欢迎反馈。由于众所周知的原因,如果要使用一些被墙的收集接口请先到config.py配置代理,有些收集模块需要提供API(大多都是可以注册账号免费获取),如果需要使用请到config.py配置API信息,如果不使用请忽略有关报错提示。(详细模块请阅读收集模块说明)
OneForAll命令行界面基于Fire实现,有关Fire更高级使用方法请参阅使用Fire CLI,有任何使用疑惑欢迎加群交流。
oneforall.py是主程序入口,oneforall.py里有调用aiobrute.py和dbexport.py,为了方便进行子域爆破和数据库导出独立出了aiobrute.py和dbexport.py,这两个文件可以单独运行,并且所接受参数要更丰富一点。
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 利用搜索引擎发现子域模块
非常热烈欢迎各位大佬一起完善本项目!
更多详情请阅读readme文档:
https://github.com/shmilylty/OneForAll/blob/master/README.md
Github地址:
https://github.com/shmilylty/OneForAll
喜欢记得点个Star哦
亲测确实好用,目前还有些bug,期待后续更新