引言
在网络安全领域,子域名收集是信息收集过程中非常重要的一步。OneForAll 是一款功能强大的子域名收集工具,能够帮助我们高效地进行子域名收集。本文将详细介绍 OneForAll 的安装和使用方法,并解决在使用过程中可能遇到的问题。
1. OneForAll 简介
介绍:OneForAll 是由 shmilylty 在 Github 上开源的子域名收集工具。它具有强大的收集能力和灵活的处理功能,支持多线程操作,速度极快。
功能特点:
- 收集能力强大:利用证书透明度、常规检查、爬虫档案、DNS 数据集、DNS 查询、威胁情报平台、搜索引擎等多种方式收集子域。
- 支持子域爆破:支持字典爆破、自定义 fuzz 模式,批量爆破和递归爆破。
- 子域验证:自动解析子域 DNS,获取 title 和 banner,判断子域存活情况。
- 子域接管:支持子域接管风险检查和自动接管(目前支持 Github)。
- 处理功能强大:支持多种格式导出结果(rst、csv、tsv、json、yaml、html、xls、xlsx、dbf、latex、ods)。
- 速度极快:利用多线程和异步多协程技术,收集速度达到10000pps。
2. 安装环境
介绍:安装 OneForAll 需要 Python 3.8 以上版本和 pip3 包管理工具。
检查环境步骤:
- 检查 Python 版本:使用命令
python -V
或python --version
确认 Python 版本。 - 检查 pip 版本:使用命令
pip3 -V
或pip3 --version
确认 pip 版本(Python 3.4 以上版本已内置 pip)。
3. OneForAll 的安装与使用
步骤:
-
下载 OneForAll 文件:将文件部署在本地。
-
切换路径:打开 CMD 窗口,将执行文件路径切换到 OneForAll 程序所在路径。
cd D:\Oneforall\OneForAll-master
-
利用pip安装的库:
pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/
-
运行 OneForAll 程序:输入命令启动 OneForAll。
python oneforall.py
4. 使用 OneForAll 收集子域名
单个目标子域收集:
python oneforall.py --target example.com run
例子:
拿小迪的网站进行扫描:
使用命令:python3 oneforall.py --target xiaodi8.com run
查看结果:
结果查看:
批量目标子域收集:
python oneforall.py --targets domains.txt run
注意:扫描结果将存放于 oneforall\results
文件夹中。
5. 使用过程中出现的问题及解决方案
在使用 OneForAll 的过程中,可能会遇到一些问题。以下是常见问题及详细解决方案:
问题1:ImportError: cannot import name ‘sre_parse’ from ‘re’
成因:高版本的 Python 中 re 模块没有 sre_parse 模块。
解决方案:
-
使用较低版本的 Python:建议使用 Python 3.8 版本,因为较低版本的 Python 兼容性更好。
-
修改 exrex.py 文件:
-
找到 Python 安装目录下的
Lib\site-packages\exrex.py
文件。 -
如果文件不存在或内容不正确,可以在 Python 安装目录下找到另一个
exrex.py
文件,并将其复制到Lib\site-packages
目录下。 -
修改
exrex.py
文件,确保其内容如下:try: from re import sre_parse except ImportError: import re._parser as sre_parse
-
保存文件并重新运行 OneForAll。
-
问题2:ModuleNotFoundError: No module named ‘fire’、‘tenacity’、‘requests’
成因:缺少所需模块。
解决方案:
-
安装缺少的模块:使用 pip 安装报错信息中提示的缺少模块。
pip install fire pip install tenacity pip install requests
-
处理安装错误:如果安装模块时出现错误,例如:
ERROR: Could not find a version that satisfies the requirement dns ERROR: No matching distribution found for dns
- 使用
pip install opencv-python
命令进行安装(如果一次不成功,多试几次)。 - 如果依然报错,可能是网络问题,尝试更换下载源。
- 使用
更换下载源:
-
暂时切换镜像源:
pip install 模块名 -i https://pypi.tuna.tsinghua.edu.cn/simple/
-
永久切换镜像源:
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple/
-
常用镜像源:
- 豆瓣:http://pypi.douban.com/simple/
- 中科大:https://pypi.mirrors.ustc.edu.cn/simple/
- 清华:https://pypi.tuna.tsinghua.edu.cn/simple/
- 阿里云:https://mirrors.aliyun.com/pypi/simple/
低版本 Python 更换镜像源:
-
在当前用户目录下新建
pip
文件夹,再新建pip.ini
文件。[global] index-url = https://pypi.tuna.tsinghua.edu.cn/simple/
-
保存文件后,重新运行
pip install
命令。
特殊情况处理:
-
安装
dns
包时如果依然报错,使用以下命令:pip install dnspython
问题3:运行 OneForAll 对某个站点进行子域收集后,结果文件为空
成因:
- 目标站点没有子域名。
- OneForAll 默认自动验证子域,只有有效子域才会导出。
解决方案:
-
导出所有发现的子域:
-
使用
--valid=None
参数,指定导出所有发现的子域。python oneforall.py --target example.com run --valid=None
-
-
不验证子域有效性:
-
使用
--verify=False
参数,指定不验证子域的有效性。python oneforall.py --target example.com run --verify=False
-
问题4:No matching distribution found for requests==2.28.1
成因: 这个镜像源中没有requests库的2.08.1
解决方案: 但是根据提示最新的有2.27.1,所以的话只需要将requestment.txt文件中的reqests的2.28.1改成最新的2.27.1(根据实际情况)即可
6. OneForAll 下载地址
链接:
- gitee 地址:OneForAll: OneForAll是一款功能强大的子域收集工具
- Github 地址shmilylty/OneForAll: OneForAll是一款功能强大的子域收集工具 (github.com)
- 自带 Python 3.9 的版本:链接
总结
通过本文的介绍,大家可以清晰明了地掌握 OneForAll 的安装和使用方法。信息收集是网络安全测试中至关重要的一步,使用 OneForAll 工具可以大大提高子域名收集的效率和准确性。
题外话
黑客&网络安全如何学习
今天只要你给我的文章点赞,我私藏的网安学习资料一样免费共享给你们,来看看有哪些东西。
1.学习路线图
攻击和防守要学的东西也不少,具体要学的东西我都写在了上面的路线图,如果你能学完它们,你去就业和接私活完全没有问题。
2.视频教程
网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己录的网安视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。
内容涵盖了网络安全法学习、网络安全运营等保测评、渗透测试基础、漏洞详解、计算机基础知识等,都是网络安全入门必知必会的学习内容。
(都打包成一块的了,不能一一展开,总共300多集)
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
🐵这些东西我都可以免费分享给大家,需要的可以点这里自取👉:网安入门到进阶资源
3.技术文档和电子书
技术文档也是我自己整理的,包括我参加大型网安行动、CTF和挖SRC漏洞的经验和技术要点,电子书也有200多本,由于内容的敏感性,我就不一一展示了。
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
🐵这些东西我都可以免费分享给大家,需要的可以点这里自取👉:网安入门到进阶资源
4.工具包、面试题和源码
“工欲善其事必先利其器”我为大家总结出了最受欢迎的几十款款黑客工具。涉及范围主要集中在 信息收集、Android黑客工具、自动化工具、网络钓鱼等,感兴趣的同学不容错过。
还有我视频里讲的案例源码和对应的工具包,需要的话也可以拿走。
🐵这些东西我都可以免费分享给大家,需要的可以点这里自取👉:网安入门到进阶资源
最后就是我这几年整理的网安方面的面试题,如果你是要找网安方面的工作,它们绝对能帮你大忙。
这些题目都是大家在面试深信服、奇安信、腾讯或者其它大厂面试时经常遇到的,如果大家有好的题目或者好的见解欢迎分享。
参考解析:深信服官网、奇安信官网、Freebuf、csdn等
内容特点:条理清晰,含图像化表示更加易懂。
内容概要:包括 内网、操作系统、协议、渗透测试、安服、漏洞、注入、XSS、CSRF、SSRF、文件上传、文件下载、文件包含、XXE、逻辑漏洞、工具、SQLmap、NMAP、BP、MSF…
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
🐵这些东西我都可以免费分享给大家,需要的可以点这里自取👉:网安入门到进阶资源
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。