首页
/ 3个步骤掌握Inveigh:.NET中间人攻击测试工具全攻略

3个步骤掌握Inveigh:.NET中间人攻击测试工具全攻略

2026-04-23 11:19:24作者:史锋燃Gardner

Inveigh是由Kevin Robertson开发的跨平台.NET工具,专为渗透测试场景设计,专注于IPv4/IPv6环境下的中间人(MitM)攻击实施与网络协议分析。该工具通过模拟多种网络服务监听流量,帮助安全测试人员发现网络中存在的认证漏洞、协议缺陷及配置弱点,广泛应用于红队评估与内网安全审计场景。

一、核心功能解析:模块化协议监听架构

1.1 多层次监听系统

Inveigh采用插件化监听架构,通过独立实现各类网络协议的监听模块,构建完整的中间人攻击能力矩阵:

📌 核心监听组件

  • LLMNR/MDNS监听:响应链路本地多播名称解析请求,捕获Windows主机的NetBIOS名称查询
  • DNS/NBNS欺骗:伪造DNS响应重定向流量,支持IPv4/IPv6双栈环境
  • SMB协议拦截:实现SMBv1/SMBv2协议交互,捕获NTLMv1/NTLMv2认证哈希
  • HTTP/HTTPS代理:建立透明代理服务,解析HTTP请求中的认证信息

1.2 数据包处理流水线

工具通过PacketReaderPacketWriter类实现高效的网络数据包解析与构造,关键处理流程包括:

  1. 原始流量捕获(Sniffer.cs
  2. 协议类型识别(DNSChecker.cs/DHCPv6Checker.cs等)
  3. 数据包结构解析(DNSHeader.cs/SMB2Header.cs等)
  4. 响应构造与发送(UDPSocket.cs/TCPSocket.cs

二、快速上手流程:从部署到基础监听

2.1 环境准备与部署

# 克隆项目仓库
git clone https://gitcode.com/gh_mirrors/in/Inveigh
cd Inveigh

# 构建项目(需.NET SDK支持)
dotnet build Inveigh.sln -c Release

操作提示
• 推荐使用.NET 5.0+ SDK以确保兼容性
• Linux环境需安装libpcap-dev依赖:sudo apt-get install libpcap-dev

2.2 基础监听启动

# 基础被动监听模式
.\Inveigh.ps1 -Mode Passive -Interface eth0

# 启用多协议联合监听
.\Inveigh.ps1 -LLMNR Y -NBTNS Y -DNS Y -SMB Y -OutputFile logs/mitm_capture.log

操作提示
• 使用-Help参数查看完整参数列表
• 非管理员权限下可能无法监听低于1024的端口
• 输出日志默认保存在当前目录的Inveigh.log

2.3 攻击流量验证

  1. 在目标网络中触发名称解析请求(如访问不存在的UNC路径)
  2. 观察控制台输出的认证尝试记录
  3. 检查日志文件中的NTLM哈希与请求详情

三、深度配置指南:从基础到高级应用

3.1 核心参数对比配置

配置类型 推荐配置(基础用户) 高级配置(专业测试)
监听模式 -Mode Passive(被动捕获) -Mode Active -Redirect Y(主动重定向)
协议选择 -LLMNR Y -NBTNS Y -LLMNR Y -NBTNS Y -DNS Y -DHCPv6 Y
输出控制 -Output Console -Output File -OutputFile ./results/$(Get-Date -Format yyyyMMdd).log
证书设置 默认自签名 -SSL Y -CertPath ./certs/mitm.pfx -CertPass "P@ssw0rd"

3.2 高级场景配置示例

场景1:NTLM哈希捕获优化

# 启用SMBv1强制降级与NTLMv2捕获
.\Inveigh.ps1 -SMB Y -SMBv1 Y -NTLMv2 Y -Challenge 1122334455667788

场景2:DNS劫持与重定向

# 针对特定域名的DNS欺骗配置
.\Inveigh.ps1 -DNS Y -DNSQuery "*.internal.corp" -DNSResponse "192.168.1.100"

操作提示
• 自定义Challenge值需符合16字节(32字符)十六进制格式
• DNS响应IP需与监听接口在同一网段
• 生产环境测试需获得明确授权,遵守《网络安全法》相关规定

3.3 结果分析与利用

捕获的NTLM哈希可通过Output.cs模块生成标准化日志,结合Hashcat等工具进行破解:

# 提取日志中的哈希值
Select-String -Path Inveigh.log -Pattern "NTLMv2 Hash" | ForEach-Object { $_.ToString() -split " : " | Select-Object -Last 1 }

通过掌握Inveigh的协议监听机制与灵活配置选项,渗透测试人员可构建全面的中间人攻击测试环境,有效评估企业网络的身份认证体系安全性。建议结合Wireshark等流量分析工具进行深度协议交互分析,提升对复杂网络环境的攻击面识别能力。

登录后查看全文
热门项目推荐
相关项目推荐