采集工具免责说明(全面快速子域收集终极神器-Python和pip3安装步骤(git版) )

优采云 发布时间: 2021-11-18 05:13

  采集工具免责说明(全面快速子域收集终极神器-Python和pip3安装步骤(git版)

)

  一体机

  OneForAll 是一款强大的子域采集工具英文文档

  

  项目描述

  项目地址:

  信息采集在渗透测试中的重要性不言而喻。子域采集是信息采集中不可或缺且非常重要的一部分。目前网上已经开源了很多子域采集的工具,但是一直存在以下问题:

  为了解决以上痛点,本项目应用应运而生。顾名思义,希望OneForAll是一款强大、全面、强大的快速子域采集终极神器。

  目前 OneForAll 仍在开发中。一定有很多问题和需要改进的地方。欢迎大佬提交问题和 PR。给个小星星就可以了✨,目前有一个QQ群专门用于OneForAll交流反馈‍‍‍::824414244(加群验证:我的英雄学院)。

  特征

  如果您有其他很棒的想法,请告诉我!

  入门

  请务必花点时间阅读本文档,以帮助您快速熟悉 OneForAll!

  安装要求

  OneForAll基于Python3.8.0开发测试,请使用高于Python3.8.0的稳定发布版本,其他版本可能有问题(Windows平台必须使用3.8.0及以上)安装Python环境以供参考。运行以下命令检查 Python 和 pip3 版本:

  python -V

pip3 -V

  如果看到如下类似的输出,说明Python环境没有问题:

  Python 3.8.0

pip 19.2.2 from C:\Users\shmilylty\AppData\Roaming\Python\Python38\site-packages\pip (python 3.8)

  ✔安装步骤(git版)

  下载

  由于项目正在开发中,会不断更新迭代。下载的时候用git clone克隆最新的代码仓库,也方便后续的更新。不建议从Release下载,因为Release里面的版本更新慢,更新不方便。这个项目已经被我在 Gitee 上镜像了一份。国内推荐使用Gitee克隆更快:

  git clone https://gitee.com/shmilylty/OneForAll.git

  或者:

  git clone https://github.com/shmilylty/OneForAll.git

  安装

  您可以通过 pip3 安装 OneForAll 的依赖项。下面是Windows系统下使用pip3安装依赖的例子: 注意:如果你的Python3安装在系统的Program Files目录下,如:C:\Program Files\Python38,那么请使用管理员运行命令提示符cmd作为身份执行以下命令!

  cd OneForAll/

python -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/

python oneforall.py --help

  其他系统平台请参考依赖安装。如果在安装过程中发现依赖库编译失败,可以参考 Troubleshooting.md 解决方案。如果还没有解决,请加群反馈。

  更新

  ❗注意:如果之前已经克隆过项目,请将修改后的文件备份到项目外的地方(如config.py),然后执行如下命令更新项目:

  git fetch --all

git reset --hard origin/master

git pull

  ✔安装步骤(docker版)

  docker pull shmilylty/oneforall

docker run -it --rm -v ~/results:/OneForAll/results oneforall

  结果会输出到本地目录~/results

  ✨使用演示

  如果您通过 pip3 安装依赖项,请使用以下命令运行示例:

  python3 oneforall.py --target example.com run

  

  如果您通过 pipenv 安装了依赖项,请使用以下命令运行示例:

  pipenv run python oneforall.py --target example.com run

  结果说明

  我们以 python3 oneforall.py --target run 命令为例。正常执行默认参数后,OneForAll会在results目录下生成相应的结果:

  

  .csv是各个主域下子域的采集结果。

  all_subdomain_result_1583034493.csv是OneForAll每次运行时采集的子域汇总结果,包括.csv,方便批量采集场景下获取所有结果。

  result.sqlite3 是 SQLite3 结果数据库,存储每次运行 OneForAll 时采集的子域。数据库结构如下:

  

  其中,类似于example_com_origin_result的表存储了各个模块的初始子域采集结果。

  其中,类似于example_com_resolve_result的表存储了子域解析的结果。

  其中,类似于example_com_last_result的表存储了最后一次子域采集的结果(需要采集两次以上才能生成)。

  其中,类似于example_com_now_result的表存储了当前子域的采集结果。一般来说,关注这张表就足够了。

  使用帮助

  命令行参数只提供了一些常用的参数。更详细的参数配置请参考config.py。如果您认为某些参数在命令界面中经常使用或缺少参数,非常欢迎反馈。由于众所周知的原因,如果您想使用一些被围墙的集合接口,请到 config.py 中配置代理。部分采集模块需要提供API(大部分可以通过注册账号免费获得)。如果您需要使用它们,请到 api.py 配置 API。信息,如果你不使用它,请忽略错误信息。(详细模块请阅读采集模块说明)

  OneForAll 命令行界面基于 Fire。有关 Fire 的更高级使用方法,请参阅使用 Fire CLI。

  oneforall.py 是主程序入口,oneforall.py 可以调用brute.py、takerover.py 和dbexport.py 模块。为了方便子域爆破,brute.py是独立生成的,为了方便子域接管风险独立排查。takerover.py,为了方便数据库导出,dbexport.py是独立的,这些模块可以单独运行,接受的参数要丰富一些,如果要单独使用这些模块,请参考帮助

  ❗注意:当您在使用过程中遇到一些问题或疑问,请先在Issue中搜索答案。您还可以参考常见问题和解答。

  oneforall.py 使用帮助

  以下帮助信息可能不是最新的,可以使用 python oneforall.py --help 获取最新的帮助信息。

  python oneforall.py --help

  NAME

oneforall.py - OneForAll帮助信息

SYNOPSIS

oneforall.py COMMAND | --target=TARGET

DESCRIPTION

OneForAll是一款功能强大的子域收集工具

Example:

python3 oneforall.py version

python3 oneforall.py --target example.com run

python3 oneforall.py --target ./domains.txt run

python3 oneforall.py --target example.com --valid None run

python3 oneforall.py --target example.com --brute True run

python3 oneforall.py --target example.com --port small run

python3 oneforall.py --target example.com --format csv run

python3 oneforall.py --target example.com --dns False run

python3 oneforall.py --target example.com --req False run

python3 oneforall.py --target example.com --takeover False run

python3 oneforall.py --target example.com --show True run

Note:

参数alive可选值True,False分别表示导出存活,全部子域结果

参数port可选值有'default', 'small', 'large', 详见config.py配置

参数format可选格式有'rst', 'csv', 'tsv', 'json', 'yaml', 'html',

'jira', 'xls', 'xlsx', 'dbf', 'latex', 'ods'

参数path默认None使用OneForAll结果目录生成路径

ARGUMENTS

TARGET

单个域名或者每行一个域名的文件路径(必需参数)

FLAGS

--brute=BRUTE

使用爆破模块(默认False)

--dns=DNS

DNS解析子域(默认True)

--req=REQ

HTTP请求子域(默认True)

--port=PORT

请求验证子域的端口范围(默认只探测80端口)

--valid=VALID

只导出存活的子域结果(默认False)

--format=FORMAT

结果保存格式(默认csv)

--path=PATH

结果保存路径(默认None)

--takeover=TAKEOVER

检查子域接管(默认False)

  目录结构

  项目目录结构的描述请参考directory_structure。

  子域字典出处注意事项:

  开源子域采集工具中高频子域名字典的一部分。相关在线服务提供商发布的最受欢迎的子域列表。互联网相关安全研究人员对全网公共子域的研究成果。互联网相关安全研究人员在证书透明性中提取公共子域的结果。常用业务命名规则:公司或 DevOps 中常用的工具和软件名称。汉语常用词和英语常用词的拼音。上面得到的字典针对排序和脏数据去除处理进行了优化。非常欢迎您贡献一本更好的词典。使用的框架

  感谢这些伟大而优秀的 Python 库!

  贡献

  非常热烈欢迎大家一起改进这个项目!

  ⌛后续计划

  更多细节请阅读 todo.md。

  版本控制

  该项目使用 SemVer 语言版本格式进行版本管理。您可以在 Releases 中查看可用版本,并且可以检查 changes.md 以了解历史更改。

  ‍贡献者

  您可以在contributors.md 中查看参与该项目的所有开发人员。

  ☕ 欣赏

  如果你认为这个项目对你有帮助,你可以奖励你一杯咖啡作为鼓励:)

  

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线