子域名收集是渗透测试中,前期信息收集必不可少的一个阶段。域名是一个站点的入口,如果一个站点难以渗透,可以尝试从它的子域名或者同一台服务器上的另外一个站点作为突破口,从而进行较为隐秘的渗透测试。

最原始的子域名查询,就是在 Web 页面中输入域名,检测相关网页是否存在。后来衍射了各种各样的方法,进行子域名的查询。也有诸多工具,可以进行子域名的暴力破解,爆破的原理其实是通过枚举的方式来实现的(爆破域名顾名思义就是枚举的意思)枚举域名的A记录。本文先介绍子域名查询的几种典型方法,再给出几个典型工具,每个工具各有特色,差距不大,选择容易上手的即可。

0x10 子域名收集方法

0x11 查询 DNS 解析记录

如 MX CNAME 记录,使用 nslookup 命令就可以查询这些信息。查询DNS记录的方法,通过域名的NS服务器可以用"ls http://domain.com"的方式查询所有域名相关记录,但是可惜,现在的DNS服务器大都禁用了这个功能以提高安全性。

0x12 爬虫提取子域名

这类工具有很多,例如 burpsuite、appscan、awvs 都有爬虫的功能

0x13 搜索引擎

搜索引擎提供了一些高级搜索指令,site 就可以查询相关的域名,其实搜索引起收录的网页也是通过爬虫来爬取的。

0x14 站点配置文件

crossdomain.xml,跨域策略配置文件

robots.txt,反爬虫配置文件,Robots 协议用来告知搜索引擎哪些页面能被抓取,哪些页面不能被抓取

0x20 常用工具

爆破的原理其实是通过枚举的方式来实现的(爆破域名顾名思义就是枚举的意思)枚举域名的A记录。例如,如果要爆破 test.com 的子域名

  1. 首先的访问一个随机并不存在的域 abc.test.com
  2. 取得A记录后保存
  3. 开始枚举a-z0-9,比如1.test.com、 2.test.com 、3.test.com之类的。
  4. 接下来的步骤就分为两种方式了。
    第一种:直接获取1.test.com 2.test.com 3.test.com的A记录,有 A 记录则表示存在也是可行的,但是如果遇到泛解析则该方法失效。
    第二种,在泛解析的下也可以使用,把这些枚举的域名 A 记录与之前abc.test.com的A记录做对比,不同的则是存在A记录的域名,也就是在用的域名。

0x21 subDomainsBrute

项目地址:https://github.com/lijiejie/subDomainsBrute

依赖

pip2 install dnspython gevent

用法

Usage: subDomainsBrute.py [options] target.com
Options:--version             show program's version number and exit-h, --help            show this help message and exit-f FILE               File contains new line delimited subs, default issubnames.txt.--full                Full scan, NAMES FILE subnames_full.txt will be usedto brute-i, --ignore-intranetIgnore domains pointed to private IPs-t THREADS, --threads=THREADSNum of scan threads, 200 by default-p PROCESS, --process=PROCESSNum of scan Process, 6 by default-o OUTPUT, --output=OUTPUTOutput file name. default is {target}.txt

举例(该工具只支持 python2)

0x22 subdomain3

项目地址:https://github.com/yanxiu0614/subdomain3

  • 更快:三种速度模式. 用户也可以修改配置文件(/lib/config.py) 来获得更高的速度
  • CDN识别支持:可以判定域名是否使用了CDN,同时新增在某些情况下自动识别是否使用CDN,而不只依赖给定的列表;
  • 标准C段支持:可以对未使用CDN的域名IP进行分类.
  • 多级域名支持:可以发现多级域名,无限制.
  • 大字典支持:可以支持百万级字典
  • 更少的资源占用:1个CPU/1GB内存/1Mbps带宽 即可获得很高速度
  • 更智能:自动发现最快的DNS服务器,并使用其进行爆破;优化泛解析策略,对抗dns污染;支持从其他渠道导入子域名,同时会将部分字段导入字典二次爆破,从而更准确。

部分参数说明

-h, –help show this help message and exit
-s , –speed 三种速度模式,low,medium和high,默认是medium。
-d , –domain 要爆破的域名例如:test.com
-l , –level 爆破的域名级数,如test.test.com是1,test.test.test.com是二级

安装

git clone https://github.com/yanxiu0614/subdomain3.git
pip install -r requirement.txt
python2/3 brutedns.py -d tagetdomain -s high -l 5

0x23 OneForAll

项目地址:https://github.com/shmilylty/OneForAll

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

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

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

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

    4. 利用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

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

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

    7. 利用搜索引擎发现子域(目前有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),在搜索模块中除特殊搜索引擎,通用的搜索引擎都支持自动排除搜索,全量搜索,递归搜索。

  • 支持子域爆破,该模块有常规的字典爆破,也有自定义的fuzz模式,支持批量爆破和递归爆破,自动判断泛解析并处理。
  • 支持子域验证,默认开启子域验证,自动解析子域DNS,自动请求子域获取title和banner,并综合判断子域存活情况。
  • 支持子域接管,默认开启子域接管风险检查,支持子域自动接管(目前只有Github,有待完善),支持批量检查。
  • 处理功能强大,发现的子域结果支持自动去除,自动DNS解析,HTTP请求探测,自动筛选出有效子域,拓展子域的Banner信息,最终支持的导出格式有rst, csv, tsv, json, yaml, html, xls, xlsx, dbf, latex, ods
  • 速度极快,收集模块使用多线程调用,爆破模块使用massdns,默认配置下速度最少能达到10000pps,子域验证中DNS解析和HTTP请求使用异步多协程,多线程检查子域接管风险。
  • 体验良好,日志和终端输出全使用中文,各模块都有进度条,异步保存各模块结果。
  • 安装

    git clone https://github.com/shmilylty/OneForAll.git
    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/
    cd oneforall/
    python oneforall.py --help
    

    示例

    0x24 子域名挖掘机

    Windows 环境下很好用的一款子域名挖掘工具,提供可视化界面,容易上手。但是 bug 很多,且容易崩溃

    0x25 在线扫描平台

    在线平台一部分是穷举,此类跟本地的工具效果是一样的;另外一类是搜索引擎,通过 Alexa 和 Google 搜索,简单快捷,缺点是可能会缺少某些浏览量较低的域名,不是特别全面。在线平台特别多,在此举几个例子

    暴力破解
    http://z.zcjun.com/
    https://phpinfo.me/domain/
    http://tools.bugscaner.com/subdomain/

    搜索引擎收录
    http://alexa.chinaz.com

子域名收集原理与子域名爆破工具相关推荐

  1. 史上最全的子域名收集姿势

    史上最全的子域名收集姿势 1.被动子域名收集 2.主动子域名收集 3.2023-03附加 DNS域传送 存活性探测 1.被动子域名收集 信息泄露 Github .Gitee等代码仓库中,可能有相关子域 ...

  2. 信息收集——子域名收集

    一.子域名收集原因         1.子域名枚举可以在测试范围内发现更多的域或子域,这将增大漏洞发现的几率. 2.有些隐藏的.被忽略的子域上运行的应用程序可能帮助我们发现重大漏洞. 3.在同一个组织 ...

  3. js随机跳转域名_从代码角度看各类子域名收集工具

    作者:w7ay @ 知道创宇404实验室 开源的域名收集工具有很多,本文会从代码的角度去看各类开源的域名收集工具的技术特点,以及各有哪些优缺点,来帮助大家,在合适的时候选择合适的利用工具. 这里选取了 ...

  4. 子域名收集指南:python子域名收集

    做web安全相关一般都会接触到子域名收集,这篇文章主要介绍如何利用python脚本进行子域名收集,当然,关于子域名收集网络上有很多现成的很好用的网站和工具.不过当你亲自动手去用python写出一个子域 ...

  5. 【网络安全】信息收集系列|子域名收集姿势总结

    声明:本文初衷为分享网络安全知识,请勿利用技术做出任何危害网络安全的行为,由于传播.利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责 概述 在渗透测试或SRC漏洞挖掘中,安 ...

  6. PJzhang:经典子域名爆破工具subdomainsbrute

    猫宁!!! 参考链接: https://www.waitalone.cn/subdomainsbrute.html https://www.secpulse.com/archives/5900.htm ...

  7. 小米范工具系列之九:小米范子域名收集工具

    小米范子域名收集工具为一款收集子域名(二级域名.三级域名.四级域名)的工具. 此工具使用java 1.8以上版本运行. 工具的工作流程如下: // 1.获取常用记录类型.MX NS SOA // 2. ...

  8. DNS信息查询 ,子域名爆破工具

    针对域名进行信息收集 1.使用whois对域名进行查询 如:对sangfor.com.cn 和 sangfor.com.cn域名进行查询 其中有比较重要的电话号,姓名,邮箱,通过查询出的邮箱,可以利用 ...

  9. 信息收集之子域名收集

    上一次我们分享了主域名收集的思路和方法,但除了主域名外,子域名也是域名信息收集中的一个重要环节,在当今各种防护设备满天飞的情况下,想要拿下主域名越来越难,但我们可以使用迂回策略,从子域名下手,慢慢靠近 ...

最新文章

  1. 腾讯视频会议使用测试
  2. ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘localhost‘ (10061)的解决办法
  3. 我希望你能精简一些东西
  4. php调用不存在的方法,php如何调用不存在的方法
  5. 第5章 Python 数字图像处理(DIP) - 图像复原与重建5 - 均匀噪声
  6. 浪潮2012年服务器型号,服务器_2012年服务器产品介绍.pdf
  7. SVN工作笔记001---svn删除已经上传的文件
  8. 1s看懂555定时器,以及应用?
  9. masquerade词根词缀_词根词缀总结
  10. [HDCTF2019]Maze
  11. fai 自动安装debian 7.4
  12. 【转载】为什么要用50欧姆?
  13. 几款接口文档管理工具
  14. 电视机显示服务器加扰是什么意思,有线电视显示节目被加扰,是什么意思?是没费 – 手机爱问...
  15. 计算机网络工程的话术,话术工具电脑版
  16. 几种软件开发方法对比
  17. kettle 教程(四):自定义 Java 代码
  18. Mobile Edge Computing —— Paper List
  19. J2EE----JMS
  20. 京东JIMDB(Jingdong In Memory DataBase,京东内存数据库)

热门文章

  1. A星融合DWA的路径规划算法,可实现静态避障碍及动态避障,代码注释详细,matlab源码
  2. vue 实现扫条形码与二维码 H5 兼容 苹果IOS
  3. android中 textview.setVisibility(View.VISIBLE)失效问题
  4. Java P1035 [NOIP2002 普及组] 级数求和 洛谷入门题
  5. ML (Chapter 10): 降维与度量学习
  6. python编写student类_Python艺术编程节——以趣味活动促进学生学习编程
  7. 打造属于你自己的Mac 机器人助手
  8. 复旦大学计算机专硕学制几年,复旦大学硕士研究生学制是几年
  9. 如果您信任此演示文稿的来源_7个技巧将使您的演示文稿更上一层楼
  10. php上传常见文件类型和$_FILES[file][type]