本文主要是介绍OneForAll “最强大”的信息收集工具,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1)官网下载地址
GitHub - shmilylty/OneForAll: OneForAll是一款功能强大的子域收集工具
2)安装及安装环境
OneForAll基于Python 3.6.0开发和测试,OneForAll需要高于Python 3.6.0的版本才能运行
Python -V
git clone OneForAll: OneForAll是一款功能强大的子域收集工具
git clone GitHub - shmilylty/OneForAll: OneForAll是一款功能强大的子域收集工具
cd OneForAll/
python3 -m pip install -U pip setuptools wheel -i Simple Index
pip3 install -r requirements.txt -i Simple Index
python3 oneforall.py --help
3)获取子域名
python3 oneforall.py --target example.com run //单个扫描
python oneforall.py --targets ./example.txt run //批量扫描
4)查询结果
运行成功之后汇总results目录下生成相应的结果
chinaskills.com是每个主域下的子域收集结果
all_subdomain_result_1583034493.csv是每次运行OneForAll收集到子域的汇总结果,包含
example.com.csv,方便在批量收集场景中获取全部结果。
result.sqlite3是存放每次运行OneForAll收集到子域的SQLite3结果数据库,其数据库结构如下
XXX_com_origin_result //存放每个模块最初子域收集结果。
XXX_com_resolve_result //表存放对子域进行解析后的结果。
XXX_com_last_result //表存放上一次子域收集结果(需要收集两次以上才会生成)。
XXX_com_now_result //表存放现在子域收集结果,一般情况关注这张表就可以了。
SQLite Download Page
5)使用帮助
SYNOPSIS
aiobrute.py --target=TARGET
DESCRIPTION
Example:
python3 aiobrute.py --target Example Domain run
python3 aiobrute.py --target ./domains.txt run
python3 aiobrute.py --target Example Domain --process 4 --coroutine 64 run
python3 aiobrute.py --target Example Domain --wordlist subdomains.txt run
python3 aiobrute.py --target Example Domain --recursive True --depth 2 run
python3 aiobrute.py --target m.{fuzz}.a.bz --fuzz True --rule [a-z] run
Note:
参数segment的设置受CPU性能,网络带宽,运营商限制等问题影响,默认设置500个子域为任务组,
当你觉得你的环境不受以上因素影响,当前爆破速度较慢,那么强烈建议根据字典大小调整大小:
十万字典建议设置为5000,百万字典设置为50000
参数valid可选值1,0,None,分别表示导出有效,无效,全部子域
参数format可选格式有'txt', 'rst', 'csv', 'tsv', 'json', 'yaml', 'html',
'jira', 'xls', 'xlsx', 'dbf', 'latex', 'ods'
参数path为None会根据format参数和域名名称在项目结果目录生成相应文件
ARGUMENTS
TARGET
单个域名或者每行一个域名的文件路径
FLAGS
--process=PROCESS
爆破的进程数(默认CPU核心数)
--coroutine=COROUTINE
每个爆破进程下的协程数(默认64)
--wordlist=WORDLIST
指定爆破所使用的字典路径(默认使用config.py配置)
--segment=SEGMENT
爆破任务分割(默认500)
--recursive=RECURSIVE
是否使用递归爆破(默认False)
--depth=DEPTH
递归爆破的深度(默认2)
--namelist=NAMELIST
指定递归爆破所使用的字典路径(默认使用config.py配置)
--fuzz=FUZZ
是否使用fuzz模式进行爆破(默认False,开启须指定fuzz正则规则)
--rule=RULE
fuzz模式使用的正则规则(默认使用config.py配置)
--export=EXPORT
是否导出爆破结果(默认True)
--valid=VALID
导出子域的有效性(默认None)
--format=FORMAT
导出格式(默认xlsx)
--path=PATH
导出路径(默认None)
--show=SHOW
终端显示导出数据(默认False)
6)功能点
收集能力强大,利用证书透明度收集子域、常规检查收集子域、利用网上爬虫档案收集子域、利用DNS数据集收集子域、利用DNS查询收集子域、利用威胁情报平台数据收集子域、利用搜索引擎发现子域,在搜索模块中除特殊搜索引擎,通用的搜索引擎都支持自动排除搜索,全量搜索,递归搜索。
支持子域爆破,该模块有常规的字典爆破,也有自定义的fuzz模式,支持批量爆破和递归爆破,自动判断泛解析并处理。
支持子域验证,默认开启子域验证,自动解析子域DNS,自动请求子域获取title和banner,并综合判断子域存活情况。
支持子域爬取,根据已有的子域,请求子域响应体以及响应体里的JS,从中再次发现新的子域。
支持子域置换,根据已有的子域,使用子域替换技术再次发现新的子域。
支持子域接管,默认开启子域接管风险检查,支持子域自动接管(目前只有Github,有待完善),支持批量检查。
处理功能强大,发现的子域结果支持自动去除,自动DNS解析,HTTP请求探测,自动筛选出有效子域,拓展子域的Banner信息,最终支持的导出格式有txt, csv, json。
速度极快,收集模块使用多线程调用,爆破模块使用massdns,DNS解析速度每秒可解析350000以上个域名,子域验证中DNS解析和HTTP请求使用异步多协程,多线程检查子域接管风险。
这篇关于OneForAll “最强大”的信息收集工具的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!