掌握攻击面测绘:从子域名枚举到服务版本分析的实战指南

本文深入探讨企业攻击面管理的核心方法,涵盖子域名枚举、服务版本分析、Shodan监控等实战技术,帮助防御者系统化识别网络暴露面并建立持续监控机制,有效提升网络安全防护能力。

了解你的边界/攻击面

:本文最初于2020年7月发布在我的网站infosecamateur.com上。在Twitter @mconnarty关注我!

企业采用大量产品和方法试图实现"安全",包括设备日志监控、渗透测试服务、端点保护工具、漏洞扫描器等。但就像弄丢东西时那句令人沮丧的"它就在你最后找的地方"一样,漏洞往往出现在你最疏于防护的地方——通常是你根本不知道存在的区域。

本文将讨论我认为被略微忽视的方面——或许因为任务规模庞大——即人们实际理解自身边界/攻击面的重要性。

MITRE的Att&ck框架、洛克希德·马丁网络杀伤链等威胁模型表明,侦察是广为人知的概念。渗透测试员完全能够进行黑盒侦察,但根据我的观察,他们通常要么进行宽泛浅显的扫描(简单且有时无效的漏洞扫描),要么专注于特定服务。此外,侦察必须是持续过程以捕捉新风险。

作为网络防御者,我希望了解所保护网络的弱点,这意味着我喜欢进行基本侦察并编目暴露资产,检查发现服务的补丁状态,并以批判性眼光审视发现内容。这些信息可补充到现有漏洞扫描/监控范围中。理想情况下,这应该是更严格定期执行的工作。

常用技术方法

子域名枚举

除暴力破解外,我使用SecurityTrails.com等网络工具或Google识别子域名。SecurityTrails的子域名扫描指南详细介绍了相关工具和技术。

某些子域名可能明确指示其用途,例如webmail.company[.]com可能指向OWA(Outlook Web Access)实例。其他可能需要通过DNS服务器/反向代理/负载均衡器调查才能确定内部IP。我常直接通过地址栏尝试HTTP/HTTPS访问,但这种方法存在明显缺陷:若非Web服务,开放端口可能透露服务类型;若是Web服务,可能无法识别具体发布目录(如web2.company.com/unknown_directory/)。

版本分析

连接到暴露服务后,识别运行版本通常是下一步。许多漏洞扫描工具能识别过时版本,服务识别意味着可将其纳入常规扫描范围。快速识别版本的常见位置包括:

Web服务:

  • 页面本身显式显示(通常在页眉/页脚)
  • 源代码中显式列出或通过导入脚本/命名规则识别(如web2.company.com/site/js_source_4.42.6.js)
  • HTTP头信息(使用开发者控制台或CURL -v)
  • 对徽标进行反向图像搜索(难以识别时可通过登录框徽标获取线索)

其他服务:

  • 获取横幅信息(nmap -v,需谨慎对待)

了解版本后,CVEDetails.com可显示需要立即关注的安全漏洞。某些版本可能接近或已超过生命周期终止(EOL),风险可能不立即显现但需要密切监控。

Google搜索

Google等搜索引擎能揭示对攻击者有用的各类信息,包括社会工程学信息(另文讨论)和其他可收集数据。

服务发现:例如"login site:company.com"及其变体可揭示未知登录页面。尝试vpn、admin等关键词。Google Dorks有详细文档值得研究。

信息泄露:人员为故障排查可能在论坛粘贴配置细节,这些信息可能包含内部命名结构、凭证和组织使用的技术类型,为网络入侵者提供优势。

Shodan监控

Shodan.io可用于识别开放服务和端口,并提示已知漏洞。大型组织中这些端口可能动态变化,建议在定期漏洞扫描基础上实施持续监控(可使用Shodan Monitor)。

Shodan的局限:

  • 需已知IP范围,大型组织通常拥有多个网段,需考虑本地站点IP及未知宽带线路连接网络的可能性
  • 仅能报告从开放端口反馈的服务漏洞(例如端口443/80运行IIS 6时,Shodan报告IIS版本漏洞但无法检测其上运行的Web应用漏洞)
  • 无法检测反向代理后服务的漏洞状态

邮件分析

组织发出的邮件可揭示有用信息:正文和签名块有助于理解内部策略,邮件头可显示内部服务器名称和IP地址。邮件传递过程中路由信息被添加到邮件头顶部。若内部服务器命名遵循结构(如ml1.lon.int.companyx.com),可推测:

  • “ml1"指示邮件服务器,域控制器可能命名为DC1
  • “lon"可能指示地理结构
  • “int"可能表示基础设施内部部分,也是枚举的额外子域名
  • “companyx.com"可能是未考虑的枚举域名

了解命名约定可进行有根据的服务定位猜测,这对攻击者成功入侵后非常有用。

DNS侦察

除DNS错误配置(如允许外部区域传输)外,组织的DNS记录可揭示大量信息。DNSRecon等多工具可协助此过程,DNSDumpster的足迹收集指南深入探讨了这种迭代过程——一次搜索的结果可馈入后续搜索。

总结

本文简要介绍了获取初始暴露洞察的简单方法。理解边界风险应是构建组织安全策略的主要组成部分。监控设备、定期修补、网络隔离(对DMZ的信心程度?)并在可能时移除服务。侦察应定期进行——越快识别意外发布到互联网的服务,被利用的可能性就越低。

本文涉及的技术要点包括子域名枚举技术、服务版本识别方法、Shodan监控实践、DNS侦察工具使用以及系统性攻击面管理方法论,所有内容均基于实际网络安全操作经验。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计