使用NetworkRecon.ps1识别网络漏洞的技术指南

本文详细介绍了如何利用NetworkRecon.ps1脚本快速识别网络中可能存在的漏洞协议,包括CDP、DTP、VTP等,并提供了三种核心功能的分析方法,帮助安全人员在不安装第三方软件的情况下进行网络流量分析。

如何使用NetworkRecon.ps1识别网络漏洞

作者:David Fletcher

每当有机会时,我喜欢在测试中收集约五分钟的数据包以便分析,寻找网络攻击机会。但在许多任务中,我发现自己无法检查网络流量。原因可能是我不想安装第三方软件、技术控制阻止了安装,或者这超出了测试范围。本文介绍的NetworkRecon.ps1脚本,可以帮助你快速分析Windows客户端系统可见的潜在漏洞协议。

工具开发背景

最初,我尝试开发一个工具,能够收集并分析流量,输出类似于PowerUp.ps1的Invoke-AllChecks功能的结果。PowerUp用于提供简洁的反馈,指出操作系统配置中可能导致权限提升的问题。这个脚本的目标是为网络协议滥用提供类似的功能。

在调查可用选项时,我发现使用PowerShell(尤其是Windows 7及更早版本)进行数据包捕获和分析的功能并不理想。幸运的是,我已经熟悉了Kevin Robertson开发的Invoke-Inveigh工具,它被包含在多个其他攻击框架中。在遇到收集和分析工作流的问题后,我采用了该工具中的数据包嗅探功能作为替代方案。

脚本功能详解

脚本包含三个主要功能:

  1. Invoke-NeighborAnalysis

    • 检测OSI模型第二层中的协议(如CDP、DTP、VTP、LLDP等)。
    • 通过arp -aGet-NetNeighbor的输出分析多播地址,判断协议是否在使用中。
    • 由于数据包嗅探器使用原始套接字,无法捕获以太网帧,因此这是目前检测CDP、DTP、VTP和LLDP的唯一方法。
  2. Invoke-TraceCollect

    • 记录网络流量到跟踪文件中(默认5分钟),供后续分析。
    • 根据操作系统版本输出.cap.etl格式文件。Windows 8.1及以上版本支持直接保存为数据包捕获格式,而旧版本则需要通过Microsoft Message Analyzer转换ETL格式。
    • 运行此功能需要管理员权限。
  3. Invoke-LiveAnalysis

    • 使用原始IP套接字捕获流量并实时分析。
    • 通过第三层多播地址和已知端口识别协议(如mDNS、NBNS、LLMNR、HSRP、OSPF、VRRP)。
    • 通知用户观察到的流量细节,如认证方法、密码或哈希值,以及查询的主机名。

协议与漏洞关联

  • CDP和LLDP:可能泄露设备名称和固件版本等敏感信息。
  • DTP和VTP:可能允许攻击者通过VLAN跳跃攻击访问受保护网络区域。
  • mDNS、NBNS和LLMNR:可能导致攻击者发送毒化响应,引发凭证泄露或直接利用。
  • HSRP和VRRP:可能让攻击者通过选举成为活动路由器,实施中间人攻击。
  • OSPF:攻击者可能通过操纵路由表成为中间人。
  • DHCP启动选项:可能允许攻击者启动未授权操作系统或分析启动镜像中的有效凭证。

未来目标

工具的最终目标是包含对所有第三层协议的智能收集和攻击功能,并继续研究第二层协议是否可以通过PowerShell原生接口实现攻击。

完整脚本可在Bitbucket获取,详细功能说明参见SANS白皮书。欢迎提供反馈!


用户评论

  1. Tomasz Kuehn(2017年6月9日):
    LiveAnalysis绑定到了无用的接口(如NPCAP回环或127.0.0.1),如何指定目标接口?
  2. David Fletcher回复
    将添加选项以列出并选择目标接口,初始版本仅针对单接口有线工作站设计。
  3. Tomasz Kuehn
    完成后请通知我。
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计