文章总结: 文章系统梳理子域枚举的完整侦察流程:先用Bugcrowd、GoogleDorking及个人浏览锁定目标,再依次调用theHarvester、amass、sublist3r、subfinder、assetfinder、crt.sh收集子域,去重后由httpx筛选存活并提取标题与技术栈,形成可一键复制的bash命令链,显著扩大攻击面。 综合评分: 82 文章分类: 渗透测试,红队,WEB安全,安全工具,实战经验
0118.侦察方法:子域枚举
原创
Marduk I Am Marduk I Am
Rsec
2026年1月16日 09:23 贵州
本文章仅用网络安全研究学习,请勿使用相关技术进行违法犯罪活动。
声明:本文搬运自互联网,如你是原作者,请联系我们!
类型:侦察方法
大家好。欢迎来到我除常规实验报告之外的首次尝试。希望对大家有所帮助。
这套方法目前对我来说很有效——它可能并不完全适合你,这完全没问题!侦察工作就是需要不断调整和改进的。就像我一样,你可以结合我和其他漏洞猎人的想法,打造属于你自己的完美工作流程。
侦察:
那么,侦察为何如此重要?简单来说,侦察做得越多,发现的端点就越多。发现的端点越多,攻击面就越大。这意味着有人在某个地方犯错的可能性更大,从而为你提供发现漏洞并提交报告的绝佳机会!
寻找目标:
好的,我们从头开始——找到合适的目标域名。有很多方法可以做到这一点,我结合使用了以下三种方法。
如果你是新手,我建议你先看看这些平台。它们不仅提供各种各样的程序供你选择,你还可以阅读其他猎人的报告,了解他们发现了什么以及如何发现的。
平台:
www.bugcrowd.com
Bugcrowd 、 HackerOne和Intigriti 等漏洞赏金平台(还有几个其他不错的平台)非常棒,因为它们将大量程序集中在一个地方。
- 优点——您可以轻松浏览、筛选和搜索,找到符合您技能或兴趣的目标。此外,他们通常会处理付款事宜,并帮助解决过程中可能出现的任何问题,这可以节省大量时间。
- 缺点——这些平台非常受欢迎,所以竞争很激烈。记住,第一个报告漏洞的人就能获得赏金!
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 -silent -ports 80,443,8080,8000,8888 -threads 200 < 1_subdomains.txt | sort -u > 1_subdomains_alive.txt
我还喜欢使用 httpx 来获取每个子域名的更多信息,包括标题和技术检测标志:
### Useful informationhttpx -silent -sc -title -tech-detect < 1_subdomains_alive.txt > 1_subdomains_alive-info.txt
以上就是我侦察工作流程的第一部分——寻找子域名。希望这能为你扩展目标攻击面提供一个坚实的起点。
记住,侦察是一个不断发展的过程,所以要不断尝试新的工具和技术,找到最适合你的方法。在下一篇文章中,我将深入探讨如何搜寻端点和 URL,以进一步扩大攻击面并锁定潜在的漏洞。
祝你编程愉快!
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:Rsec Marduk I Am Marduk I Am《0118.侦察方法:子域枚举》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。











评论