Asset Discovery: Doing Reconnaissance the Hard Way
字数 1251 2025-08-27 12:33:54
资产发现框架:系统化侦察方法论
1. 资产发现概述
资产发现是指通过系统化的方法识别与特定实体(企业、组织等)相关的所有互联网暴露面的过程。这一过程在以下场景中尤为重要:
- 渗透测试:评估范围广泛时,首要目标是发现存在漏洞的机器和服务
- 漏洞赏金:目标未明确列出所有资产时,需要自行发现
- 定期安全检查:识别不应公开或未及时更新的暴露服务
2. 域名发现方法论
2.1 垂直域名关联(子域名枚举)
定义:给定一个域名,查找共享相同基础域名的所有子域名
推荐工具:
- Sublist3r
- Amass
- Aquatone
最佳实践:
- 采用"元子域名枚举"方法,结合多个工具的结果
- 示例(以eff.org为目标):
observatory.eff.org office.eff.org projects.eff.org
2.2 水平域名关联
定义:查找语法不同但属于同一实体的其他域名
方法:
- 查询目标域名的WHOIS信息,提取关键字段(如注册邮箱)
- 使用反向WHOIS服务查找共享相同注册信息的其他域名
推荐工具:
- ViewDNS.info
- DomLink
- Amass
示例步骤:
1. whois eff.org → 获取注册邮箱 admin@eff.org
2. 反向查询使用admin@eff.org注册的所有域名
2.3 迭代过程
通过垂直和水平关联获得初步域名列表后,应:
- 对新发现的域名重复上述过程
- 不断扩展资产清单
3. IP地址发现
3.1 专用IP范围识别
方法:
- 解析多个域名的IP地址
- 执行IP到ASN的转换
- 检查是否属于同一自治系统(AS)
工具:
whois -h whois.cymru.com <IP>
判断标准:
- 如多个IP属于同一AS且AS名与目标相关,则可能有专用IP范围
- 示例:Google的IP多属于AS15169 (GOOGLE)
3.2 无专用IP范围时的处理
方法:
- 使用MassDNS批量解析域名到IP
./massdns -r resolvers.txt -t A -q -o S domains.txt | awk '{split($0,a," "); print a[3]}' | sort | uniq - 注意共享托管导致的误报
4. 服务发现
4.1 主动扫描
工具:
- Nmap(精确但耗时)
- Masscan(大规模扫描)
特点:
- 结果准确
- 可能触发IDS
- 耗时较长
4.2 被动扫描
数据源:
- Shodan
- Censys
- Project Sonar
Shodan搜索语法:
net:64.233.160.0/19
org:"Google"
Censys搜索语法:
ip:64.233.160.0/19
autonomous_system.asn:15169
autonomous_system.organization:"Google Inc."
优点:
- 隐蔽性强
- 不直接连接目标网络
缺点:
- 数据可能不是最新的
- 可能遗漏已关闭的服务
5. 信息整理与可视化
5.1 网站截图工具
- Snapper:批量网站截图,快速概览
- EyeWitness:支持多种协议(HTTP/VNC/RDP等)
5.2 处理流程总结
- 域名发现(垂直+水平关联)
- IP地址发现(专用范围或批量解析)
- 服务发现(主动/被动扫描)
- 结果整理与可视化
6. 高级技巧与资源
- 元枚举:组合使用多个子域名枚举工具
- WHOIS技巧:关注注册邮箱、电话等字段进行反向查询
- ASN深度利用:通过ASN信息发现关联资产
- 定时任务:定期运行发现流程以捕捉新资产
7. 注意事项
- 遵守法律法规,仅在授权范围内操作
- 注意扫描频率,避免对目标造成影响
- 谨慎处理发现的漏洞,遵循负责任的披露原则
- 注意区分共享托管环境中的误报
通过这套系统化的资产发现框架,可以全面识别目标的互联网暴露面,为后续的安全评估奠定坚实基础。