OneForAll “最强大”的信息收集工具

2024-03-19 14:59

本文主要是介绍OneForAll “最强大”的信息收集工具,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1)官网下载地址

GitHub - shmilylty/OneForAll: OneForAll是一款功能强大的子域收集工具

 

2)安装及安装环境

OneForAll基于Python 3.6.0开发和测试,OneForAll需要高于Python 3.6.0的版本才能运行

Python -V

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

git clone GitHub - shmilylty/OneForAll: OneForAll是一款功能强大的子域收集工具

cd OneForAll/

python3 -m pip install -U pip setuptools wheel -i Simple Index

pip3 install -r requirements.txt -i Simple Index

python3 oneforall.py --help

3)获取子域名

python3 oneforall.py --target example.com run //单个扫描

python oneforall.py --targets ./example.txt run //批量扫描

4)查询结果

运行成功之后汇总results目录下生成相应的结果

chinaskills.com是每个主域下的子域收集结果

all_subdomain_result_1583034493.csv是每次运行OneForAll收集到子域的汇总结果,包含

example.com.csv,方便在批量收集场景中获取全部结果。

result.sqlite3是存放每次运行OneForAll收集到子域的SQLite3结果数据库,其数据库结构如下

XXX_com_origin_result //存放每个模块最初子域收集结果。

XXX_com_resolve_result //表存放对子域进行解析后的结果。

XXX_com_last_result //表存放上一次子域收集结果(需要收集两次以上才会生成)。

XXX_com_now_result //表存放现在子域收集结果,一般情况关注这张表就可以了。

SQLite Download Page

 

5)使用帮助

SYNOPSIS

aiobrute.py --target=TARGET

DESCRIPTION

Example:

python3 aiobrute.py --target Example Domain run

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

python3 aiobrute.py --target Example Domain --process 4 --coroutine 64 run

python3 aiobrute.py --target Example Domain --wordlist subdomains.txt run

python3 aiobrute.py --target Example Domain --recursive True --depth 2 run

python3 aiobrute.py --target m.{fuzz}.a.bz --fuzz True --rule [a-z] run

Note:

参数segment的设置受CPU性能,网络带宽,运营商限制等问题影响,默认设置500个子域为任务组,

当你觉得你的环境不受以上因素影响,当前爆破速度较慢,那么强烈建议根据字典大小调整大小:

十万字典建议设置为5000,百万字典设置为50000

参数valid可选值1,0,None,分别表示导出有效,无效,全部子域

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

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

参数path为None会根据format参数和域名名称在项目结果目录生成相应文件

ARGUMENTS

TARGET

单个域名或者每行一个域名的文件路径

FLAGS

--process=PROCESS

爆破的进程数(默认CPU核心数)

--coroutine=COROUTINE

每个爆破进程下的协程数(默认64)

--wordlist=WORDLIST

指定爆破所使用的字典路径(默认使用config.py配置)

--segment=SEGMENT

爆破任务分割(默认500)

--recursive=RECURSIVE

是否使用递归爆破(默认False)

--depth=DEPTH

递归爆破的深度(默认2)

--namelist=NAMELIST

指定递归爆破所使用的字典路径(默认使用config.py配置)

--fuzz=FUZZ

是否使用fuzz模式进行爆破(默认False,开启须指定fuzz正则规则)

--rule=RULE

fuzz模式使用的正则规则(默认使用config.py配置)

--export=EXPORT

是否导出爆破结果(默认True)

--valid=VALID

导出子域的有效性(默认None)

--format=FORMAT

导出格式(默认xlsx)

--path=PATH

导出路径(默认None)

--show=SHOW

终端显示导出数据(默认False)

6)功能点

收集能力强大,利用证书透明度收集子域、常规检查收集子域、利用网上爬虫档案收集子域、利用DNS数据集收集子域、利用DNS查询收集子域、利用威胁情报平台数据收集子域、利用搜索引擎发现子域,在搜索模块中除特殊搜索引擎,通用的搜索引擎都支持自动排除搜索,全量搜索,递归搜索。

支持子域爆破,该模块有常规的字典爆破,也有自定义的fuzz模式,支持批量爆破和递归爆破,自动判断泛解析并处理。

支持子域验证,默认开启子域验证,自动解析子域DNS,自动请求子域获取title和banner,并综合判断子域存活情况。

支持子域爬取,根据已有的子域,请求子域响应体以及响应体里的JS,从中再次发现新的子域。

支持子域置换,根据已有的子域,使用子域替换技术再次发现新的子域。

支持子域接管,默认开启子域接管风险检查,支持子域自动接管(目前只有Github,有待完善),支持批量检查。

处理功能强大,发现的子域结果支持自动去除,自动DNS解析,HTTP请求探测,自动筛选出有效子域,拓展子域的Banner信息,最终支持的导出格式有txt, csv, json。

速度极快,收集模块使用多线程调用,爆破模块使用massdns,DNS解析速度每秒可解析350000以上个域名,子域验证中DNS解析和HTTP请求使用异步多协程,多线程检查子域接管风险。

这篇关于OneForAll “最强大”的信息收集工具的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/826369

相关文章

基于Python实现一个Windows Tree命令工具

《基于Python实现一个WindowsTree命令工具》今天想要在Windows平台的CMD命令终端窗口中使用像Linux下的tree命令,打印一下目录结构层级树,然而还真有tree命令,但是发现... 目录引言实现代码使用说明可用选项示例用法功能特点添加到环境变量方法一:创建批处理文件并添加到PATH1

使用jenv工具管理多个JDK版本的方法步骤

《使用jenv工具管理多个JDK版本的方法步骤》jenv是一个开源的Java环境管理工具,旨在帮助开发者在同一台机器上轻松管理和切换多个Java版本,:本文主要介绍使用jenv工具管理多个JD... 目录一、jenv到底是干啥的?二、jenv的核心功能(一)管理多个Java版本(二)支持插件扩展(三)环境隔

Python使用smtplib库开发一个邮件自动发送工具

《Python使用smtplib库开发一个邮件自动发送工具》在现代软件开发中,自动化邮件发送是一个非常实用的功能,无论是系统通知、营销邮件、还是日常工作报告,Python的smtplib库都能帮助我们... 目录代码实现与知识点解析1. 导入必要的库2. 配置邮件服务器参数3. 创建邮件发送类4. 实现邮件

CnPlugin是PL/SQL Developer工具插件使用教程

《CnPlugin是PL/SQLDeveloper工具插件使用教程》:本文主要介绍CnPlugin是PL/SQLDeveloper工具插件使用教程,具有很好的参考价值,希望对大家有所帮助,如有错... 目录PL/SQL Developer工具插件使用安装拷贝文件配置总结PL/SQL Developer工具插

Python使用FFmpeg实现高效音频格式转换工具

《Python使用FFmpeg实现高效音频格式转换工具》在数字音频处理领域,音频格式转换是一项基础但至关重要的功能,本文主要为大家介绍了Python如何使用FFmpeg实现强大功能的图形化音频转换工具... 目录概述功能详解软件效果展示主界面布局转换过程截图完成提示开发步骤详解1. 环境准备2. 项目功能结

Linux系统之stress-ng测压工具的使用

《Linux系统之stress-ng测压工具的使用》:本文主要介绍Linux系统之stress-ng测压工具的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、理论1.stress工具简介与安装2.语法及参数3.具体安装二、实验1.运行8 cpu, 4 fo

Maven项目中集成数据库文档生成工具的操作步骤

《Maven项目中集成数据库文档生成工具的操作步骤》在Maven项目中,可以通过集成数据库文档生成工具来自动生成数据库文档,本文为大家整理了使用screw-maven-plugin(推荐)的完... 目录1. 添加插件配置到 pom.XML2. 配置数据库信息3. 执行生成命令4. 高级配置选项5. 注意事

Linux查看系统盘和SSD盘的容量、型号及挂载信息的方法

《Linux查看系统盘和SSD盘的容量、型号及挂载信息的方法》在Linux系统中,管理磁盘设备和分区是日常运维工作的重要部分,而lsblk命令是一个强大的工具,它用于列出系统中的块设备(blockde... 目录1. 查看所有磁盘的物理信息方法 1:使用 lsblk(推荐)方法 2:使用 fdisk -l(

Python使用pynput模拟实现键盘自动输入工具

《Python使用pynput模拟实现键盘自动输入工具》在日常办公和软件开发中,我们经常需要处理大量重复的文本输入工作,所以本文就来和大家介绍一款使用Python的PyQt5库结合pynput键盘控制... 目录概述:当自动化遇上可视化功能全景图核心功能矩阵技术栈深度效果展示使用教程四步操作指南核心代码解析

如何基于Python开发一个微信自动化工具

《如何基于Python开发一个微信自动化工具》在当今数字化办公场景中,自动化工具已成为提升工作效率的利器,本文将深入剖析一个基于Python的微信自动化工具开发全过程,有需要的小伙伴可以了解下... 目录概述功能全景1. 核心功能模块2. 特色功能效果展示1. 主界面概览2. 定时任务配置3. 操作日志演示