信息收集利器|一款功能强大的子域收集工具

news/2024/11/17 6:30:48/文章来源:https://www.cnblogs.com/janepeak/p/18376088

01工具介绍 (下载地址见最后)

在hw等攻防演练中,信息收集做为演练厨师阶段最重要的步骤,方式方法尤为重要,好的工具达到事半功倍的效果。OneForAll是一款集百家之长,功能强大的全面快速子域收集终极神器。

解决以下痛点:

在渗透测试中信息收集的重要性不言而喻,子域收集是信息收集中必不可少且非常重要的一环,目前网上也开源了许多子域收集的工具,但是总是存在以下部分问题:

  • 不够强大,子域收集的接口不够多,不能做到对批量子域自动收集,没有自动子域解析,验证,FUZZ以及信息拓展等功能。

  • 不够友好,固然命令行模块比较方便,但是当可选的参数很多,要实现的操作复杂,用命令行模式就有点不够友好,如果有交互良好,高可操作的前端那么使用体验就会好很多。

  • 缺少维护,很多工具几年没有更新过一次,issues和PR是啥,不存在的。

  • 效率问题,没有利用多进程,多线程以及异步协程技术,速度较慢。

 

02 功能特性

  • 收集能力强大,详细模块请阅读收集模块说明。

    1. 利用证书透明度收集子域(目前有6个模块:censys_apicertspottercrtshentrustgooglespyse_api

    2. 常规检查收集子域(目前有4个模块:域传送漏洞利用axfr,检查跨域策略文件cdx,检查HTTPS证书cert,检查内容安全策略csp,检查robots文件robots,检查sitemap文件sitemap,利用NSEC记录遍历DNS域dnssec,后续会添加NSEC3记录等模块)

    3. 利用网上爬虫档案收集子域(目前有2个模块:archivecrawlcommoncrawl,此模块还在调试,该模块还有待添加和完善)

    4. 利用DNS数据集收集子域(目前有24个模块:bevigil_apibinaryedge_apibufferovercebaiduchinazchinaz_apicircl_apicloudflarednsdb_apidnsdumpsterhackertargetip138ipv4info_apinetcraftpassivedns_apiptrarchiveqianxunrapiddnsriddlerrobtexsecuritytrails_apisitedossierthreatcrowdwzpcximcx

    5. 利用DNS查询收集子域(目前有5个模块:通过枚举常见的SRV记录并做查询来收集子域srv,以及通过查询域名的DNS记录中的MX,NS,SOA,TXT记录来收集子域)

    6. 利用威胁情报平台数据收集子域(目前有6个模块:alienvaultriskiq_apithreatbook_apithreatminervirustotalvirustotal_api该模块还有待添加和完善)

    7. 利用搜索引擎发现子域(目前有18个模块:askbaidubingbing_apiduckduckgoexaleadfofa_apigiteegithubgithub_apigooglegoogle_apishodan_apisosogouyahooyandexzoomeye_api),在搜索模块中除特殊搜索引擎,通用的搜索引擎都支持自动排除搜索,全量搜索,递归搜索。

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

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

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

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

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

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

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

  • 体验良好,各模块都有进度条,异步保存各模块结果。

 

03 使用演示

python3 oneforall.py --target example.com runpython3 oneforall.py --targets ./example.txt run

 

04 结果说明

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

example.com.csv是每个主域下的子域收集结果。

all_subdomain_result_1583034493.csv是每次运行OneForAll收集到子域的汇总结果,包含example.com.csv,方便在批量收集场景中获取全部结果。

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

其中类似example_com_origin_result表存放每个模块最初子域收集结果。

其中类似example_com_resolve_result表存放对子域进行解析后的结果。

其中类似example_com_last_result表存放上一次子域收集结果(需要收集两次以上才会生成)。

其中类似example_com_now_result表存放现在子域收集结果,一般情况关注这张表就可以了。

工具作者:shmilylty  项目地址:

https://github.com/shmilylty/OneForAll/releases/tag/v0.4.5

网盘下载:

OneForAll-0.4.5.zip」链接:https://pan.quark.cn/s/f7efe03e125e

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/786124.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[poc] hw情报-泛微 e-cology v10 远程代码执行漏洞

漏洞介绍 (poc下载地址见最后)泛微披露了e-cology远程代码执行漏洞。该漏洞允许攻击者通过e-cology-10.0前台获取管理员访问令牌,然后利用JDBC反序列化,实现远程代码执行。 漏洞描述通过/papi/passport/rest/appThirdLogin接口获取管理员账号票据,根据该票据获取访问令牌,…

Tita的OKR :产品经理的OKR

产品经理制定的OKR,对组织发展有重大的意义,它能促使产品经理,产品团队,乃至是公司全体员工走出舒适区,超越能力边界。正因为挑战的存在,才使得产品经理才有忧患意识,不断改进产品,从而适应竞争激烈的市场。只有不断改善、创新和突破,才能让产品经理的能力不断提升,才…

About Living 生存之道

About Living 生存之道 爱 健康 财富 是人生值得追求的东西!人生不过是一段体验。我们都是时间的囚徒,活在当下。有趣!有料! 一个人的命运啊,当然要靠自我奋斗,但是也要考虑到历史的行程---奋斗是加法,趋势是乘法 我相信这世界上,有些人有些事有些爱,在见到的第一次,…

JAVA 封装

封装 1.“高内聚,低耦合” 2.属性私有 alt+insert创建get/set方法,方法内部可以进行判断参数是否合法 意义:1.提高程序的安全性,保护数据 2.隐藏代码的实现细节 3.统一接口(get/set方法) 4..增加系统的可维护性 成员变量的隐藏 “就近原则”,子类新定义的方法可以…

怎么都在劝我用通义灵码

听朋友说最近通义灵码有个活动,分享体验心得就有机会抽 iPhone 15。而且通过活动第一次使用通义灵码的新用户,还人均送一个“显眼包”。听朋友说最近通义灵码有个活动,分享体验心得就有机会抽 iPhone 15。而且通过活动第一次使用通义灵码的新用户,还人均送一个“显眼包”。…

卡特兰数、Prufer 序列、BSGS 总结

卡特兰数 定义 给定 \(n\) 个 \(0\) 和 \(n\) 个 \(1\),它们构成一个长度为 \(2n\) 的排列,满足任意前缀中 \(0\) 的个数都不少于 \(1\) 的个数的序列的数量为卡特兰数列。显然 \(H_0=H_1=1\)。(\(H\) 为卡特兰数列) 通项公式: \[H_n=\frac{\dbinom{2n}{n}}{n+1}\quad (n\…

[Flink] Flink CDC Connactors FAQ

Flink CDC Connactors FAQ 近期遇到 Flink CDC 的问题较多,故基于第1篇参考文献的FAQ文档基础之上,对这些问题做个系统的总结。 MYSQL CDC Q:作业报错 ConnectException: A slave with the same server_uuid/server_id as this slave has connected to the master,怎么办呢?…

少儿编程概述

少儿编程少儿编程 技术参考少儿编程的核心理念是培养孩子思维模式,解决问题逻辑等综合能力,与传统意义上的编程有很大区别。前者培养能力,后者专注技术。国外少儿编程较国内更早开始发展,主要代表有开源平台Scratch以及拥有成熟体系的Tynker。Scratch语言 与 编程猫的Kitte…

《数据资产管理核心技术与应用》读书笔记-第五章:数据服务(一)

《数据资产管理核心技术与应用》是清华大学出版社出版的一本图书,全书共分10章,第1章主要让读者认识数据资产,了解数据资产相关的基础概念,以及数据资产的发展情况。第2~8章主要介绍大数据时代数据资产管理所涉及的核心技术,内容包括元数据的采集与存储、数据血缘、数据质…

【HW系列+技战法】搞定通信加密,力防数据泄露

一、 通信加密流程二、密钥协商算法三、密钥生成四、 密钥交换五、密钥存储原创 菜鸟学信安移动互联网主流的网络通信方式面临诸多风险: 算法破解、协议破解、中间人攻击…… 攻击者利用多种攻击方式,不断对移动应用发起攻击。 在移动应用未做有效保护措施的情况下,如果加密…

基础组件:表单

实际业务中,在正式向服务器提交数据前,都会对各个输入框数据进行合法性校验,但是对每一个TextField都分别进行校验将会是一件很麻烦的事。还有,如果用户想清除一组TextField的内容,除了一个一个清除有没有什么更好的办法呢?为此,Flutter提供了一个Form 组件,它可以对输…

ctfhub-rce-部分做题记录

命令注入 检查网页显示内容,可以直接看到源代码。大致意思是:检查用户输入的 GET 请求,判断用户是否输入了 ip 信息。如果输入了 ip 信息,则使用用户输入的这个 ip 数据执行一个 shell 命令 "ping -c 4" 。 输入 127.0.0.1;cat 104211044913917.php 没回显,查看…