首页 > 其他分享 >子域名探测指南

子域名探测指南

时间:2024-02-05 13:22:52浏览次数:51  
标签:指南 DNS 探测 域名 icann https org com

什么是子域名探测?

子域名探测是查找一个或多个域的子域名的过程。这是信息搜集阶段的重要组成部分。



为什么要进行子域名探测?

  • 子域名探测可以帮我们发现渗透测试中更多的服务,这将增加发现漏洞的可能性
  • 查找一些用户上较少,被人遗忘的子域名,其上运行的应用程序可能会使我们发现关键漏洞
  • 通常,同一组织的不同域名/应用程序中存在相同的漏洞


子域名探测技术

1.Google和Bing等搜索引擎支持各种高级搜索运算符来优化搜索查询:

  • 我们可以在Google搜索中使用 site: 运算符来查找一个域的所有子域名。谷歌还额外支持减号运算符 site:*.wikimedia.org -www -store -jobs -uk 以排除我们不感兴趣的子域名

 Bing搜索引擎也支持一些高级搜索运算符。与Google一样,Bing也支持 site: 运算符,可以帮助您检查除Google搜索之外的其他结果。

 

2.有许多第三方服务提供大量的DNS数据,可以用其检索给定域名的子域名

  • VirusTotal会运行DNS复制功能,通过存储用户访问URL时执行的DNS解析来构建数据库。要检索子域名的信息,您只需将域名放在搜索栏中即可

 

 



·DNSdumpster   可以找到给定域名的大量潜在子域名

 Sublist3r( https://github.com/aboul3la/Sublist3r ) 是一个非常热门的工具,它可以用来探测各种子域名。Sublist3r使用许多搜索引擎(如Google,Yahoo,Bing,Baidu和Ask)进行子域名探测。Sublist3r还使用Netcraft,Virustotal,ThreatCrowd,DNSdumpster和ReverseDNS进行子域名探测。
详细安装使用教程https://github.com/aboul3la/Sublist3r

子域名探测 - 参考

搜索引擎

谷歌( https://google.com/ )

Bing( https://bing.com/ )

DNS信息搜集

VirusTotal( https://www.virustotal.com/ )

ViewDNS( https://viewdns.info/ )

DNSdumpster( https://dnsdumpster.com/ )

Threatcrowd( https://www.threatcrowd.org/ )

反向whois查询

https://viewdns.info/reversewhois

whois.com

 https://www.whois.com/whois/domaintools.com

 



 

3.证书透明(CT)是证书颁发机构(CA)必须将其发布的每个SSL/TLS证书发布到公共日志的项目。SSL/TLS证书通常包含域名,子域名和电子邮件地址。这使他们成为攻击者的宝库。可以在这里( https://blog.appsecco.com/certificate-transparency-the-bright-side-and-the-dark-side-8aa47d9a6616 ) 阅读这个系列。

查找为域颁发的证书的最简单方法是使用收集CT日志的搜索引擎,下面列出了一些比较受欢迎的链接:

https://crt.sh/

https://censys.io/

https://developers.facebook.com/tools/ct/

https://google.com/transparencyreport/https/ct/

 

除了Web界面之外,crt.sh还可以使用postgres界面访问CT日志数据。这使得运行一些高级查询变得简单而灵活。如果您安装了PostgreSQL客户端软件,则可以按如下方式登录:

$ psql -h crt.sh -p 5432 -U guest certwatch

我们编写了一些脚本来简化使用CT日志搜索引擎查找子域名的过程。这些脚本可以在我们的github repo中找到 https://github.com/appsecco/the-art-of-subdomain-enumeration

 

使用CT进行子域名探测的缺点是CT日志中找到的域名可能不存在,因此无法解析为IP地址。您可以将massdns( https://github.com/blechschmidt/massdns ) 等 工具 与CT日志结合使用,以快速识别可解析的域名。

# ct.py - extracts domain names from CT Logs(shipped with massdns)
# massdns - will find resolvable domains & adds them to a file 
./ct.py icann.org | ./bin/massdns -r resolvers.txt -t A -q -a -o -w icann_resolvable_domains.txt -

 

4.基于字典的子域名枚举是另一种发现子域名的方式。DNSRecon( https://github.com/darkoperator/dnsrecon ) 是一个功能强大的DNS枚举工具,它的功能之一是使用预定义的列表进行基于字典的子域名探测。

$ python dnsrecon.py -n ns1.insecuredns.com -d insecuredns.com -D subdomains-top1mil-5000.txt -t brt

 

5.置换扫描是另一个有趣的技术来识别子域名。在该技术中,我们使用已知域/子域名的排列组合来识别新的子域名。

$ python altdns.py -i icann.domains -o data_output -w icann.words -r -s results_output.txt

 

6.查找自治系统(AS)号码( https://www.iana.org/assignments/as-numbers ) 将帮助我们识别属于组织的网络块,而该组块又可能具有有效域。

  • 使用 dig 或 host 解析给定域的IP地址
  • 有一些工具可以根据给定IP地址找到ASN- asn.cymru.com/cgi-bin/whois.cgi
  • 有一些工具可以根据给定域名的情况下找到ASN- bgp.he.net/
  • 找到的ASN号码可用于查找域的网络块。有Nmap脚本可以实现这一目的- nmap.org/nsedoc/scripts/targets-asn.html
    $ nmap --script targets-asn --script-args targets-asn.asn=17012 > netblocks.txt

 

7.域传送是一种DNS事务,DNS服务器将其全部或部分域文件的副本传递给另一个DNS服务器。如果未安全地配置域传输送,则任何人都可以对指定名称的服务器启动域传送并获取域文件的副本。根据设计,域文件包含有关域和保存在域中的大量主机信息。

$ dig +multi AXFR @ns1.insecuredns.com insecuredns.com

 

8.由于DNSSEC处理不存在域名的方式,您可以"遍历"DNSSEC域并枚举该域中的所有域名。您可以从这里( https://info.menandmice.com/blog/bid/73645/Take-your-DNSSEC-with-a-grain-of-salt ) 了解有关此技术的更多信息。

  • 对于使用NSEC记录的DNSSEC域,可以使用ldns-walk( https://www.nlnetlabs.nl/projects/ldns/about/ ) 等工具进行探测

    $ ldns-walk @ns1.insecuredns.com insecuredns.com
  • 一些DNSSEC域使用NSEC3做记录,该记录使用散列域名来防止攻击者收集纯文本域名。攻击者可以收集所有子域名hash值并将hash值离线破解。

  • 像nsec3walker( https://dnscurve.org/nsec3walker.html ) ,nsec3map( https://github.com/anonion0/nsec3map ) 这样的工具帮助我们自动收集NSEC3 hash并破解hash。安装nsec3walker后,可以使用以下命令枚举受NSEC3保护的域名的子域名
    # Collect NSEC3 hashes of a domain
    $ ./collect icann.org > icann.org.collect
    # Undo the hashing, expose the sub-domain information.
    $ ./unhash < icann.org.collect > icann.org.unhash
    # Listing only the sub-domain part from the unhashed data
    $ cat icann.org.unhash | grep "icann" | awk '{print $2;}'
    del.icann.org.
    access.icann.org.
    charts.icann.org.
    communications.icann.org.
    fellowship.icann.org.
    files.icann.org.
    forms.icann.org.
    mail.icann.org.
    maintenance.icann.org.
    new.icann.org.
    public.icann.org.
    research.icann.org.

9.有些项目收集了全互联网范围内的扫描数据,并将其提供给研究人员和安全社区。该项目发布的数据集是子域名信息的宝库。虽然在这个庞大的数据集中找到子域名就像大海捞针,但却值得我们去一试。

  • Forward DNS( https://scans.io/study/sonar.fdns_v2 ) 数据集作为Project Sonar的一部分发布。数据格式是通过gzip压缩的JSON文件。我们可以解析数据集以查找给定域名的子域名。数据集很大(压缩后:20+GB,压缩前:300+GB)
    # Command to parse & extract sub-domains for a given domain
    $ curl -silent https://scans.io/data/rapid7/sonar.fdns_v2/20170417-fdns.json.gz | pigz -dc | grep ".icann.org" | jq

 

标签:指南,DNS,探测,域名,icann,https,org,com
From: https://www.cnblogs.com/lusuo/p/18007784

相关文章

  • 洛谷题单指南-递推与递归-P1044 [NOIP2003 普及组] 栈
    原题链接:https://www.luogu.com.cn/problem/P1044题意解读:一组数入栈、出栈的方案数,如果了解卡特兰数,此题可以秒杀;如果不了解,也可以通过递归或者递推来解决;最次,可以通过DFS暴搜出方案数,当然对于n个数,一共有n次入栈、n次出栈,一共2n次,每次要么入栈要么出栈,总搜索次数在22n规模,n最......
  • 【尚跑】马拉松冬训指南
    1、长跑冬训俗话说:冬练三九,夏练三伏;得冬训者,得PB。冬季跑步有什么好处?总结为以下几点提升心肺功能。寒冷的环境增加心脏跳动频率,能加速新陈代谢与血液循环。增加脂肪代谢。有氧运动会消耗身体的糖原,冬天运动需要耗能产生更多的热量来维持身体体温,运动时间长了会消耗身体脂肪......
  • 瑞芯微电子RV1126芯片环境搭建&SSD模型转换指南
    引子国产AI芯片这个集合,一直想补充的完整点。故翻了翻陈年的笔记,找到当年使用瑞芯微电子出的一款芯片RV1126的使用笔记,当时拿到的是一款基于RV1126的IP摄像头,在此整理记录下。OK,让我们开始吧。一、文档首先拿到官方的SDK包,解压后,SDK文档目录:rv1109_1126_sdk\RV1109_1126\docs\S......
  • 【踩坑指南】线程池使用不当的五个坑
    线程池是Java多线程编程中的一个重要概念,它可以有效地管理和复用线程资源,提高系统的性能和稳定性。但是线程池的使用也有一些注意事项和常见的错误,如果不小心,就可能会导致一些严重的问题,比如内存泄漏、死锁、性能下降等。本文将介绍线程池使用不当的五个坑,以及如何避免和解决它......
  • Nacos安装指南
    Nacos安装指南1.Windows安装开发阶段采用单机安装即可。1.1.下载安装包在Nacos的GitHub页面,提供有下载链接,可以下载编译好的Nacos服务端或者源代码:GitHub主页:https://github.com/alibaba/nacosGitHub的Release下载页:https://github.com/alibaba/nacos/releases如图:本课程......
  • Karpenter 实战指南
    介绍Karpenter是一个用于Kubernetes集群的弹性伸缩工具,能够自动调整节点数量,适用于多种场景。本指南将详细介绍如何在实际应用中安装、配置和使用Karpenter,并探讨一些最佳实践。步骤1:安装Karpenter使用Helm安装Karpenter:helmrepoaddkarpenterhttps://awslabs.github......
  • Sklearn、TensorFlow 与 Keras 机器学习实用指南第三版(七)
    原文:Hands-OnMachineLearningwithScikit-Learn,Keras,andTensorFlow译者:飞龙协议:CCBY-NC-SA4.0第十六章:使用RNN和注意力进行自然语言处理当艾伦·图灵在1950年想象他著名的Turing测试时,他提出了一种评估机器匹配人类智能能力的方法。他本可以测试许多事情,比如......
  • Sklearn、TensorFlow 与 Keras 机器学习实用指南第三版(二)
    原文:Hands-OnMachineLearningwithScikit-Learn,Keras,andTensorFlow译者:飞龙协议:CCBY-NC-SA4.0第三章:分类在第一章中,我提到最常见的监督学习任务是回归(预测值)和分类(预测类)。在第二章中,我们探讨了一个回归任务,使用各种算法(如线性回归、决策树和随机森林)来预测房屋价......
  • Sklearn、TensorFlow 与 Keras 机器学习实用指南第三版(五)
    原文:Hands-OnMachineLearningwithScikit-Learn,Keras,andTensorFlow译者:飞龙协议:CCBY-NC-SA4.0第十二章:使用TensorFlow进行自定义模型和训练到目前为止,我们只使用了TensorFlow的高级API,Keras,但它已经让我们走得很远:我们构建了各种神经网络架构,包括回归和分类......
  • Sklearn、TensorFlow 与 Keras 机器学习实用指南第三版(六)
    原文:Hands-OnMachineLearningwithScikit-Learn,Keras,andTensorFlow译者:飞龙协议:CCBY-NC-SA4.0第十四章:使用卷积神经网络进行深度计算机视觉尽管IBM的DeepBlue超级计算机在1996年击败了国际象棋世界冠军加里·卡斯帕罗夫,但直到最近计算机才能可靠地执行看似......