一、OneForAll使用
Oneforall简介
OneForAll是一款功能强大的子域收集工具,可以通过一级域名找到旗下的所有层级域名,通过递归的方式能够知道此域名下的所有域名层级结构,对于进一步通过域名推测站点功能起到非常重要的作用。
-
特点:
- 收集能力强:OneForAll支持多种收集方式,包括利用证书透明度、常规检查、网上爬虫档案、DNS数据集、DNS查询、威胁情报平台数据和搜索引擎等收集子域。
- 处理功能强大:发现的子域结果支持自动去除、自动DNS解析、HTTP请求探测、自动移除无效子域、拓展子域的Banner信息等,最终支持的导出格式多样。
- 速度快:收集模块使用多线程调用,爆破模块使用异步多进程多协程,DNS解析和HTTP请求使用异步多协程。
-
应用:OneForAll在渗透测试中有着重要的作用,是信息收集中必不可少且非常重要的一环。通过它,安全人员可以更有效地收集目标域名的子域信息,从而进一步分析目标系统的架构和弱点。
OneForAll使用
1.使用第一步——下载OneForAll-0.4.3
将下载好的文件保存到硬盘指数目录下 如"E:\wangan"类似这样 非直属目录后续使用中可能出现空格报错影响使用
2.查看自带的README文档,使用其他工具建议也查看类似文件,类似工具说明书的存在
3.尝试使用
打开OneForAll-0.4.3的目录
文件目录地址处输入cmd打开终端
打开终端后输入
python3 -m pip install -U pip setuptools wheel -i https://mirrors.aliyun.com/pypi/simple/
pip3 install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/
python3 oneforall.py --help
实际中输入命令需要删除python/pip后的3 删除后即可正常使用
成功运行
4.收集域名
python3 oneforall.py --target example.com run
target后的目标域名自行更改
示例:python oneforall.py --target xnu.edu.cn run
运行结果搜集到的域名会存在results文件夹(未更改配置)里
可以看出,找到的子域名信息非常多,可删除不必要的信息
二、注意事项
1.环境配置
博主本人使用python版本为3.8.9 尝试使用过其他版本但当时都出现了报错,具体使用时需要考虑到版本兼容的问题,官方文件说基于3.7 但是3.6和3.8理论上是可以使用的 考虑到稳定性的情况,建议使用3.8 如果电脑里存在多个python版本建议只留一个,其他的使用conda管理虚拟环境
查看python版本命令: python -V / python --version
2.pip 更新报错
解决方案:更新pip 复制出现的绿色命令并运行
3.其他报错
fire报错
解决方案:pip uninstall fire
pip install fire --upgrade
上述操作尝试过后发现依然报错 可检查python环境变量是否配置正确
博主本人的环境变量没有问题。多次检查过后发现是多个python环境引起的pip占用问题
直接运行readme文档里的代码时,发现pip3、pip被python3.12占用
解决方案:指定pip版本 根据python版本指定对应的pip版本
博主python环境是3.8.9 对应的pip版本是3.8 ,将
pip3 install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/
改为
pip3.8 install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/
exrex报错
解决方案:pip uninstall exrex
然后pip install exrex
urlib报错
解决方案:pip uninstall urllib3
然后pip install urllib3 --upgrade