登录后更精彩...O(∩_∩)O...
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 mind 于 2021-12-16 15:40 编辑
OneForAll - 功能强大的子域收集工具OneForAll,是 shmilylty 在 Github 上开源的子域收集工具,目前版本为 v0.4.3。 收集能力强大,利用证书透明度收集子域、常规检查收集子域、利用网上爬虫档案收集子域、利用DNS数据集收集子域、利用DNS查询收集子域、利用威胁情报平台数据收集子域、利用搜索引擎发现子域,在搜索模块中除特殊搜索引擎,通用的搜索引擎都支持自动排除搜索,全量搜索,递归搜索。 支持子域爆破,该模块有常规的字典爆破,也有自定义的fuzz模式,支持批量爆破和递归爆破,自动判断泛解析并处理。 支持子域验证,默认开启子域验证,自动解析子域DNS,自动请求子域获取title和banner,并综合判断子域存活情况。 支持子域爬取,根据已有的子域,请求子域响应体以及响应体里的JS,从中再次发现新的子域。 支持子域置换,根据已有的子域,使用子域替换技术再次发现新的子域。 支持子域接管,默认开启子域接管风险检查,支持子域自动接管(目前只有Github,有待完善),支持批量检查。 处理功能强大,发现的子域结果支持自动去除,自动DNS解析,HTTP请求探测,自动筛选出有效子域,拓展子域的Banner信息,最终支持的导出格式有txt, csv, json。 速度极快,收集模块使用多线程调用,爆破模块使用massdns,DNS解析速度每秒可解析350000以上个域名,子域验证中DNS解析和HTTP请求使用异步多协程,多线程检查子域接管风险。 体验良好,各模块都有进度条,异步保存各模块结果。
使用OneForAll基于Python 3.6.0开发和测试,OneForAll需要高于Python 3.6.0的版本才能运行。安装Python环境可以参考Python 3 安装指南。运行以下命令检查Python和pip3版本:
如果你看到类似以下的输出便说明Python环境没有问题:
安装步骤(git 版) 由于该项目处于开发中,会不断进行更新迭代,下载时请使用git clone克隆最新代码仓库,国内推荐使用码云进行克隆比较快: 或者: 通过pip3安装OneForAll的依赖
执行以下命令更新项目(可保存对/config/setting.py和/config/api.py的修改):
安装步骤(docker 版) 首先下载并编辑配置文件,添加自己的api和个性化设置,并保留原始文件结构
拉取镜像并执行,其中~/.config替换为你自己配置文件所在文件夹的路径
参数直接加在指令末尾,结果会输出在本地目录~/results,如需保存到其他位置,可以自行修改。 使用演示 如果你是通过pip3安装的依赖则使用以下命令运行示例:
我们以python3 oneforall.py --target example.com run命令为例,OneForAll在默认参数正常执行完毕会在results目录生成相应结果: oneforall example.com.csv是每个主域下的子域收集结果。
all_subdomain_result_1583034493.csv是每次运行OneForAll收集到子域的汇总结果,包含example.com.csv,方便在批量收集场景中获取全部结果。
result.sqlite3是存放每次运行OneForAll收集到子域的SQLite3结果数据库,其数据库结构如下图: OneForAll 其中类似example_com_origin_result表存放每个模块最初子域收集结果。 其中类似
example_com_resolve_result表存放对子域进行解析后的结果。 其中类似example_com_last_result表存放上一次子域收集结果(需要收集两次以上才会生成)。 其中类似example_com_now_result表存放现在子域收集结果,一般情况关注这张表就可以了。 OneForAll 作为一个命令行工具,它的所有参数如下:
◆ 总结OneForAll 收集能力强大、支持子域爆破、支持子域验证、支持子域爬取、支持子域置换、支持子域接管、处理功能强大、速度极快、体验良好,是一款集百家之长,功能强大的全面快速子域收集工具。
|