0118.侦察方法:子域枚举

admin 2026-01-17 01:31:41 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 文章系统梳理子域枚举的完整侦察流程:先用Bugcrowd、GoogleDorking及个人浏览锁定目标,再依次调用theHarvester、amass、sublist3r、subfinder、assetfinder、crt.sh收集子域,去重后由httpx筛选存活并提取标题与技术栈,形成可一键复制的bash命令链,显著扩大攻击面。 综合评分: 82 文章分类: 渗透测试,红队,WEB安全,安全工具,实战经验


cover_image

0118.侦察方法:子域枚举

原创

Marduk I Am Marduk I Am

Rsec

2026年1月16日 09:23 贵州

本文章仅用网络安全研究学习,请勿使用相关技术进行违法犯罪活动。

声明:本文搬运自互联网,如你是原作者,请联系我们!

类型:侦察方法

大家好。欢迎来到我除常规实验报告之外的首次尝试。希望对大家有所帮助。

这套方法目前对我来说很有效——它可能并不完全适合你,这完全没问题!侦察工作就是需要不断调整和改进的。就像我一样,你可以结合我和其他漏洞猎人的想法,打造属于你自己的完美工作流程。

侦察:

那么,侦察为何如此重要?简单来说,侦察做得越多,发现的端点就越多。发现的端点越多,攻击面就越大。这意味着有人在某个地方犯错的可能性更大,从而为你提供发现漏洞并提交报告的绝佳机会!

寻找目标:

好的,我们从头开始——找到合适的目标域名。有很多方法可以做到这一点,我结合使用了以下三种方法。

如果你是新手,我建议你先看看这些平台。它们不仅提供各种各样的程序供你选择,你还可以阅读其他猎人的报告,了解他们发现了什么以及如何发现的。

平台: www.bugcrowd.com

Bugcrowd  HackerOneIntigriti 等漏洞赏金平台(还有几个其他不错的平台)非常棒,因为它们将大量程序集中在一个地方。

  • 优点——您可以轻松浏览、筛选和搜索,找到符合您技能或兴趣的目标。此外,他们通常会处理付款事宜,并帮助解决过程中可能出现的任何问题,这可以节省大量时间。
  • 缺点——这些平台非常受欢迎,所以竞争很激烈。记住,第一个报告漏洞的人就能获得赏金!

Google Dorking:

此外,还有传统的谷歌搜索技巧,它能让你发现许多拥有自身安全程序但未必在大平台上列出的网站。你可以搜索特定的端点,例如 “/.well-known/security.txt” ,或者尝试其他常用的搜索技巧。

sushiwushi 的 GitHub 代码库里有一个不错的列表。这里只举几个例子供你入门:

// Google Dork examplesinurl /bug bountyinurl : / securityinurl:security.txtinurl:security "reward"inurl : /responsible disclosureinurl : /responsible-disclosure/ rewardinurl : / responsible-disclosure/ swaginurl : / responsible-disclosure/ bountyinurl:'/responsible disclosure' hoodie
  • 优点——你会发现各种各样的网站,而且它们通常不像热门平台那样拥挤。
  • 缺点——可能更难获得报酬,甚至很难让你的漏洞得到确认。许多小型网站可能没有活跃的安全团队来响应和修复你发现的问题。

#

个人浏览:

检查一下你每天都在使用的网站。如果你发现自己经常从同一家披萨店订披萨,看看他们是否有漏洞赏金计划或漏洞报告途径。

或者,也许你最喜欢的购物网站运行异常——深入调查一下,看看是否有相关的程序或措施。

你不一定非要获得金钱奖励。有些地方设有“名人堂”,或者会给予你某种形式的专业认可。这些都能为你的个人资料增色不少,而且还能让你收到一些不对外开放的私人项目的邀请。

子域名:

既然你已经找到了目标,扩大攻击面的第一步就是找到他们所有的子域名。

我已将我的方法保存到一个文本文件中,我可以一次性更改目标域,然后只需将每一行复制粘贴到终端即可。

  • 注意——您还可以将多个命令合并到一个 Bash 脚本中,以实现流程自动化。这可以节省时间。我在这里将步骤分开,方便您轻松理解整个工作流程。

  • theHarvester

    — https://github.com/laramies/theHarvester

  • amass

    — https://github.com/owasp-amass/amass

  • sublist3r

    — https://github.com/aboul3la/Sublist3r

  • 子查找器— https://github.com/projectdiscovery/subfinder

  • assetfinder

    — https://github.com/tomnomnom/assetfinder

  • crt.sh — https://crt.sh/

### Taget domain: www.example.com
theHarvester -d example.com -b all -f theharvester.json
amass enum -d example.com -nocolor -o 0_example.com_amass.txtsublist3r -d example.com -o 0_example.com_sublist3r.txtsubfinder -d example.com --all --recursive -o 0_example.com_subfinder.txtassetfinder --subs-only example.com > 0_example.com_assetfinder.txtcurl -s "https://crt.sh/?q=%.example.com&output=json" | jq -r '.[].name_value' | sed 's/\\n/\n/g' | grep -vF '*.' | sort -u > 0_example.com_crt.sh.txt

你会注意到我保存 theHarvester 输出的方式有所不同。theHarvester 不仅能找到子域名,我稍后会详细介绍。

您可以根据自己的需要更改输出,但我将每个输出都以“0_”开头,以便将它们分组在一起,方便合并。

### Takes any file that starts 0_, combines the unique one and saves to filecat 0_*.txt | sort -u > 1_subdomain.txt

我之前提到过,Harvester 提供的目标信息远不止子域名(主机)那么简单。它还能提供:

  • 电子邮件
  • ASN 的
  • IP 地址
  • 有趣的网址

默认情况下,输出结果保存为 JSON 和 XML 格式。我使用 jq 分别提取它们。

  • jq — https://jqlang.org/download/
### Extracting theHarvester datajq -r '.hosts[]?' theharvester.json | grep -E '^[^*].*\.example\.com' | cut -d ':' -f1 | sort -u > theharvester_hosts.txtjq -r '.emails[]?' theharvester.json | sort -u > theharvester_emails.txtjq -r '.asns[]?' theharvester.json | sort -u > theharvester_asns.txtjq -r '.ips[]?' theharvester.json | sort -u > theharvester_ips.txtjq -r '.interesting_urls[]?' theharvester.json | sort -u > urls_theharvester.txt

然后我们将 Harvester 主机列表与我们的子域名列表合并成一个列表。这将是我们找到的所有子域名的完整列表。

### Our final list of subdomainscat theharvester_hosts.txt 1_subdomain.txt | sort -u > 1_subdomains.txt

现在您已经将目标网站的所有子域名列表集中在一个地方了。接下来,我们需要找出哪些子域名是活跃的,正在运行。为此,我使用:

  • httpx — https://github.com/projectdiscovery/httpx
### Live subdomainshttpx&nbsp;-silent -ports&nbsp;80,443,8080,8000,8888&nbsp;-threads&nbsp;200&nbsp;<&nbsp;1_subdomains.txt | sort -u >&nbsp;1_subdomains_alive.txt

我还喜欢使用 httpx 来获取每个子域名的更多信息,包括标题技术检测标志:

### Useful informationhttpx&nbsp;-silent -sc -title -tech-detect <&nbsp;1_subdomains_alive.txt >&nbsp;1_subdomains_alive-info.txt

以上就是我侦察工作流程的第一部分——寻找子域名。希望这能为你扩展目标攻击面提供一个坚实的起点。

记住,侦察是一个不断发展的过程,所以要不断尝试新的工具和技术,找到最适合你的方法。在下一篇文章中,我将深入探讨如何搜寻端点和 URL,以进一步扩大攻击面并锁定潜在的漏洞。

祝你编程愉快!


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:Rsec Marduk I Am Marduk I Am《0118.侦察方法:子域枚举》

评论:0   参与:  0