Windows系统下安装与使用Oneforall

Windows系统下安装与使用Oneforall

一:Oneforall简介

      OneForAll,是 shmilylty 在 Github 上开源的子域收集工具。其功能特点有:

1.收集能力强大。

①利用证书透明度收集子域(目前有6个模块:censys_api、certspotter、crtsh、entrust、google、spyse_api)

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

③利用网上爬虫档案收集子域(目前有2个模块:archivecrawl、commoncrawl)

④利用DNS数据集收集子域(目前有23个模块:binaryedge_api、 bufferover,、cebaidu、 chinaz、 chinaz_api、 circl_api、dnsdb_api,、dnsdumpster, hackertarget、 ip138、ipv4info_api、netcraft、passivedns_api、 ptrarchive、qianxun、rapiddns、riddler, robtex、 securitytrails_api、 sitedossier、 threatcrowd、wzpc、ximcx)

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

⑥利用威胁情报平台数据收集子域(目前有6个模块:alienvault、riskiq_api、threatbook_api、threatminer、virustotal、virustotal_api)

⑦利用搜索引擎发现子域(目前有18个模块:ask、 baidu、 bing、 bing_api、 duckduckgo、 exalead、 fofa_api、 gitee、github、 github_api、 google、 google_api、 shodan_api、 so、 sogou、 yahoo、 yandex、 zoomeye_api),在搜索模块中除特殊搜索引擎,通用的搜索引擎都支持自动排除搜索、全量搜索、递归搜索。

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

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

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

5.处理功能强大,发现的子域结果支持自动去除,自动DNS解析,HTTP请求探测,自动筛选出有效子域,拓展子域的Banner信息,最终支持的导出格式有rst、 csv,、 tsv、 json、 yaml、 html、 xls、 xlsx、 dbf、 latex、 ods。

6.速度极快,收集某块使用多线程调用,爆破模块使用massdns,默认配置下速度最少能达到10000pps,子域验证中DNS解析和HTTP请求使用异步多协程,多线程检查子域接管风险。

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

二:下载安装与使用
  1. 安装环境
A:python 3.8以上版本     
查看版本命令: python -V / python --version
B:pip3   pip 是 Python 包管理工具,该工具提供了对 Python 包的查找、下载、安装、卸载的功能 自从Python 3.4版本开始,pip已经被内置在Python中,所以无需再次安装)。       查看版本命令   pip3  -V / pip3 --version  
 
  

 pip相关命令:

①下载工具包: pip install package_name   
②卸载工具包: pip uninstall package_name
③查看已经安装的工具包: pip list
(2)安装与使用
第一步:下载Oneforall文件,将文件部署在本地。(注意:如果你的Python3.x安装在系统Program Files目录下,如:C:\Program Files\Python3.7,运行oneforall时需要以管理员身份运行命令提示符CMD执行操作命令)
第二步:打开CMD命名窗口,将执行文件切换到oneforall程序所在路径。如 cd  D:\Oneforall\OneForAll-master
              

 第三步:运行oneforall程序。 输入命名:python oneforall.py

  1. 收集子域
  1. 单个目标子域收集
命令: python oneforall.py –-target  网址  run  
  1. 批量目标子域收集
命令: python oneforall.py –-targets 网址文件 run
注意:扫描结构将存放于oneforall\results文件下。
三:使用过程中出现的问题

1.使用命令:python oneforall.py进入程序时,显示:ImportError: cannot import name 'sre_parse' from 're'。(如图)

问题成因:高版本的python中re模块中没有了sre_parse模块。
解决方案:

 

(1)使用相对较低版本的python。
(2)从报错信息入手,找到python文件下的Lib\site-packages\exrex.py文件,对其代码进行更改。
 
  

(注意:python\Lib\site-packages文件下没有exrex.py文件,或该文件为乱码或文件内容并没有上图中内容,则需在python文件中找到另一个exrex.py文件,并将其复制到python\Lib\site-packages文件下,并按上图更改内容即可。此情况为笔者所遇见的特殊情况)

2.使用命令:python oneforall.py进入程序时,显示:ModuleNotFoundError: No module named 'fire' 或 ModuleNotFoundError: No module named 'tenacity' 或 ModuleNotFoundError: No module named 'requests'
 
  

 Windows系统下安装与使用Oneforall_第1张图片

 解决方案: 报错信息提示缺少哪个模块就下载哪个模块, 使用命令 pip install 模块名称  (如: pip install fire)

异常情况:使用(pip install  模块名称)命令下载模块出现不一样的报错:ERROR: Could not find a version that satisfies the requirement dns (from versions: none)      ERROR: No matching distribution found for dns。

 
  

 解决方案: 使用 pip install opencv-python命令

四:Oneforall下载地址:https://gitee.com/shmilylty/OneForAll.git

你可能感兴趣的:(#,windows,网络安全,安全)