找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

464

积分

0

好友

60

主题
发表于 昨天 07:59 | 查看: 4| 回复: 0

大家好。这是我除了常规实验报告之外的首次尝试分享,希望能为你提供一些有价值的思路。

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

侦察为何重要?

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

如何寻找目标

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

如果你是一名新手,我建议你先去知名的漏洞赏金平台看看。这些平台不仅提供各种各样的项目供你选择,你还可以阅读其他猎人的公开报告,了解他们发现了什么以及是如何发现的。

利用漏洞赏金平台

Bugcrowd漏洞赏金平台项目列表截图

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

  • 优点 —— 你可以轻松地浏览、筛选和搜索,找到符合你技能或兴趣的目标。此外,平台方通常会处理付款事宜,并帮助协调测试过程中可能出现的任何问题,这可以为你节省大量时间。
  • 缺点 —— 这些平台非常受欢迎,所以竞争异常激烈。请记住,在赏金模式下,通常是第一个报告有效漏洞的人才能获得奖励!

使用 Google Dorking 技巧

用于发现安全项目的Google Dorking搜索结果示例

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

sushiwushi 的 GitHub 仓库里有一个不错的搜索语法列表。这里只举几个例子供你入门:

// Google Dork examples
inurl:/bug bounty
inurl:/security
inurl:security.txt
inurl:security “reward”
inurl:/responsible disclosure
inurl:/responsible-disclosure/ reward
inurl:/responsible-disclosure/ swag
inurl:/responsible-disclosure/ bounty
inurl:’/responsible disclosure’ hoodie
  • 优点——你会发现各种各样的网站,而且它们通常不像热门平台那样拥挤,竞争相对较小。
  • 缺点——可能更难获得报酬,甚至很难让你的漏洞报告得到确认。许多小型网站可能没有活跃的安全团队来及时响应和修复你发现的问题。

从个人日常使用中寻找

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

或者,也许你最喜欢的购物网站运行出现异常——深入调查一下,看看是否有相关的安全项目。

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

如何进行子域名枚举

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

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

### Target domain: www.example.com

theHarvester -d example.com -b all -f theharvester.json

amass enum -d example.com -nocolor -o 0_example.com_amass.txt
sublist3r -d example.com -o 0_example.com_sublist3r.txt
subfinder -d example.com --all --recursive -o 0_example.com_subfinder.txt
assetfinder --subs-only example.com > 0_example.com_assetfinder.txt
curl -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_”开头,以便将它们分组在一起,方便后续合并操作。

### 合并所有以0_开头的文件,去重后保存
cat 0_*.txt | sort -u > 1_subdomain.txt

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

  • 电子邮件地址
  • 自治系统号(ASN)
  • IP 地址
  • 有趣的 URL

默认情况下,它的输出结果保存为 JSON 和 XML 格式。我使用 jq 来分别提取这些不同类型的数据。

### 从theHarvester的JSON输出中提取各类信息
jq -r '.hosts[]?' theharvester.json | grep -E '^[^*].*\.example\.com' | cut -d ':' -f1 | sort -u > theharvester_hosts.txt
jq -r '.emails[]?' theharvester.json | sort -u > theharvester_emails.txt
jq -r '.asns[]?' theharvester.json | sort -u > theharvester_asns.txt
jq -r '.ips[]?' theharvester.json | sort -u > theharvester_ips.txt
jq -r '.interesting_urls[]?' theharvester.json | sort -u > urls_theharvester.txt

然后,我们将 theHarvester 提取出的主机列表与我们之前合并的子域名列表再次合并成一个最终列表。这将是我们找到的所有子域名的完整集合。

### 生成最终的子域名列表
cat theharvester_hosts.txt 1_subdomain.txt | sort -u > 1_subdomains.txt

现在你已经将目标网站的所有子域名初步列表集中在一个文件里了。接下来,我们需要找出哪些子域名是活跃的,即正在运行并提供服务。为此,我使用 httpx 工具:

### 探测存活的子域名
httpx -silent -ports 80,443,8080,8000,8888 -threads 200 < 1_subdomains.txt | sort -u > 1_subdomains_alive.txt

我还喜欢使用 httpx 来获取每个存活的子域名的更多信息,包括 HTTP 状态码页面标题技术栈指纹

### 获取存活子域名的详细信息
httpx -silent -sc -title -tech-detect < 1_subdomains_alive.txt > 1_subdomains_alive-info.txt

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

记住,侦察是一个需要持续学习和优化的过程,所以要不断尝试新的工具和技术,找到最适合你的方法。在后续的分享中,我将深入探讨如何进一步搜寻端点和 URL,以扩大攻击面并定位潜在的漏洞。

祝你狩猎愉快!如果你对更多实战技巧感兴趣,欢迎在云栈社区交流讨论。




上一篇:Protocol Buffers与nanopb实战:嵌入式开发高效MCU数据交换方案
下一篇:ESP32-S2实战:基于摇杆控制的USB键盘鼠标复合设备实现
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-1-18 18:12 , Processed in 0.455845 second(s), 40 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表