OneForAll安装及使用
很喜欢泰戈尔的一段话:有一个夜晚我烧毁了所有的记忆,从此我的梦就透明啦;有一个早晨我扔掉了所有的昨天,从此我的脚步就轻盈啦。
OneForAll
一款强大的子域收集工具-OneForAll
项目地址:GitHub - shmilylty/OneForAll: OneForAll是一款功能强大的子域收集工具
前言
在渗透测试中信息收集的重要性不言而喻,子域收集是信息收集中必不可少且非常重要的一环,目前网上也开源了许多子域收集的工具,但是总是存在以下部分问题:
- 不够强大,子域收集的接口不够多,不能做到对批量子域自动收集,没有自动子域解析,验证,FUZZ以及信息拓展等功能。
- 不够友好,固然命令行模块比较方便,但是当可选的参数很多,要实现的操作复杂,用命令行模式就有点不够友好,如果有交互良好,高可操作的前端那么使用体验就会好很多。
- 缺少维护,很多工具几年没有更新过一次,issues和PR是啥,不存在的。
- 效率问题,没有利用多进程,多线程以及异步协程技术,速度较慢。
为了解决以上痛点,此项目应用而生,正如其名,我希望OneForAll是一款集百家之长,功能强大的全面快速子域收集终极神器🔨。
一、OneForAll是什么?
OneForAll,是 shmilylty 在 Github 上开源的子域收集工具,目前版本为 v0.4.5。
-
收集能力强大,利用证书透明度收集子域、常规检查收集子域、利用网上爬虫档案收集子域、利用DNS数据集收集子域、利用DNS查询收集子域、利用威胁情报平台数据收集子域、利用搜索引擎发现子域,在搜索模块中除特殊搜索引擎,通用的搜索引擎都支持自动排除搜索,全量搜索,递归搜索。
-
支持子域爆破,该模块有常规的字典爆破,也有自定义的fuzz模式,支持批量爆破和递归爆破,自动判断泛解析并处理。
-
支持子域验证,默认开启子域验证,自动解析子域DNS,自动请求子域获取title和banner,并综合判断子域存活情况。
-
支持子域爬取,根据已有的子域,请求子域响应体以及响应体里的JS,从中再次发现新的子域。
-
支持子域置换,根据已有的子域,使用子域替换技术再次发现新的子域。
-
支持子域接管,默认开启子域接管风险检查,支持子域自动接管(目前只有Github,有待完善),支持批量检查。
-
处理功能强大,发现的子域结果支持自动去除,自动DNS解析,HTTP请求探测,自动筛选出有效子域,拓展子域的Banner信息,最终支持的导出格式有txt, csv, json。
-
速度极快,收集模块使用多线程调用,爆破模块使用massdns,DNS解析速度每秒可解析350000以上个域名,子域验证中DNS解析和HTTP请求使用异步多协程,多线程检查子域接管风险。
-
体验良好,各模块都有进度条,异步保存各模块结果。
二、安装
1.必要环境
python3 //python -V:查看当前python版本环境,windows必须使用3.8.0以上版本
pip3 //pip3 -V:查看当前pip版本环境
2.安装依赖包
1|python3 -m pip install -U pip setuptools wheel -i https://mirrors.aliyun.com/pypi/simple/ 2|pip3 install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/
3.基本使用
python oneforall.py --help
单个目标网站扫描
python oneforall.py --target example.com run
批量扫描
python oneforall.py --targets ./example.txt run
输出位置:
总结
####################
免责声明:工具本身并无好坏,希望大家以遵守《网络安全法》相关法律为前提来使用该工具,支持研究学习,切勿用于非法犯罪活动,对于恶意使用该工具造成的损失,和本人及开发者无关。
####################
以上就是今天要讲的内容,本文仅仅简单介绍了OneForAll的使用,而OneForAll提供了能使我们快速便捷地获取信息。更多详细内容见:OneForAll/usage_help.md at master · shmilylty/OneForAll (github.com)