自动化favicon哈希侦察:渗透测试中的隐藏主机发现术

本文深度解析SANS ISC研究员Rob VandenBrink的自动化favicon.ico主机侦察技术。通过计算目标站点favicon的mmh3哈希,利用Shodan API发现使用相同图标的隐藏主机,再经jq清洗、nmap/masscan扫描,有效拓展渗透测试攻击面。文中提供完整脚本与防御建议,适用于红队及安全运维人员理解攻击者视角的资产发现方法。

🔍 Medium 其他

安全研究员Rob VandenBrink分享了利用组织统一favicon.ico的特性,通过计算哈希并在Shodan中搜索,自动化发现目标域内隐藏主机的渗透测试技术。该方法将363个主机名解析为373个IP,并探测到5091个开放端口,显著扩展了攻击面。

来源:SANS ISC | 2026-06-29 | 原文链接

🔍 关键发现

  • 通过curl获取目标站点favicon.ico并计算mmh3哈希,可在Shodan中检索到使用相同图标的其他主机,有效发现未在常规DNS中列出的资产
  • 利用jq递归查询Shodan JSON输出中的hostnames数组,配合grep/tr/sort/uniq可清洗出干净的主机名列表,便于后续扫描
  • 实际测试中363个主机名解析出373个IP,masscan全端口扫描发现5091个开放端口,但存在云服务负载均衡及蜜罐干扰需人工核实

⚔️ 攻击链分析

攻击者获取目标站点favicon.ico哈希 → 通过Shodan API搜索相同哈希的主机 → 提取并清洗主机名列表 → 使用nmap/masscan进行端口和服务探测

🚩 失陷指标 (IOC)

  • favicon.ico哈希值: -1830416802 (针对www.canada.ca的示例)
  • 示例异常主机名: 8fb29c57162d4e1c.com, 94-158-245-105.mivocloud.com (可能为云服务或蜜罐)

🛡️ 缓解建议

  • ✅ 组织应避免所有域名使用相同的favicon.ico,可针对不同业务线或区域部署不同图标
  • ✅ 监控Shodan等公开平台对本组织favicon哈希的查询行为,通过API日志或威胁情报早期发现侦察活动
  • ✅ 定期扫描自身资产清单,利用同样方法(正向验证)识别是否存在未授权或遗忘的子域名及云资源

涉及漏洞:[]


⚠️ 本文仅供安全研究与学习,IOC 信息请勿用于非法目的。

🤖 常见问题解答(FAQ)

❓ 如何获取一个网站的favicon哈希?

在Windows CMD中运行: curl -sL https://%1/favicon.ico | python -c "import sys, base64, mmh3; print(mmh3.hash(base64.encodebytes(sys.stdin.buffer.read())))" 即可输出mmh3哈希值。

❓ 防守方如何防御此类基于favicon的侦察?

为不同资产部署不同的favicon文件;在Web服务器配置中阻止对favicon.ico的直接访问(需权衡用户端体验);利用CDN或WAF监控异常的重性请求。

❓ Shodan搜索favicon哈希的局限是什么?

Shodan仅扫描公开暴露的IP,不覆盖内网资产;且哈希相同可能是巧合或云服务商默认图标,产生误报;蜜罐也会混入结果,需人工交叉验证。

[!] CONTACT_CHANNELS

如需商务合作、技术咨询或漏洞反馈,请通过以下离岸节点联系作者。

> PING_AUTHOR (@A1RedTeam)