Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
mitm6 — 利用Windows IPv6默认配置通过DHCPv6伪造DNS,将受害者流量重定向,用于渗透测试期间的凭据中继和中间人攻击。 | Kitploit
工具/GitHubGitHub/dirkjanm/mitm6
信息收集网络安全渗透测试身份验证红队DNS 分析
GitHubdirkjanm/mitm6

mitm6

利用Windows IPv6默认配置通过DHCPv6伪造DNS,将受害者流量重定向,用于渗透测试期间的凭据中继和中间人攻击。

查看仓库
1.9k26564年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

mitm6

Python 2.7 和 3 兼容 PyPI 版本 许可证:GPLv2

mitm6 是一款渗透测试工具,它利用 Windows 的默认配置来接管默认 DNS 服务器。其原理是通过回复 DHCPv6 消息,为受害者提供一个链路本地 IPv6 地址,并将攻击者的主机设置为默认 DNS 服务器。作为 DNS 服务器,mitm6 会有选择性地回复攻击者指定的 DNS 查询,从而将受害者流量重定向到攻击者机器而非合法服务器。关于此攻击的完整解释,请参阅我们的 mitm6 博客文章。Mitm6 旨在与 impacket 中的 ntlmrelayx 配合使用,以实现 WPAD 欺骗和凭据中继。

依赖项和安装

mitm6 兼容 Python 2.7 和 3.x。你可以通过 pip install -r requirements.txt 为你的版本安装依赖。在这两种情况下,mitm6 都使用以下软件包:

  • Scapy
  • Twisted
  • netifaces

对于 Python 2.7,它使用 ipaddress 反向移植模块。 你可以通过 pip install mitm6 从 PyPI 安装最新发布版本,或者在克隆此 Git 仓库后通过 python setup.py install 从源码安装最新版本。

使用方法

安装后,mitm6 将以名为 mitm6 的命令行程序形式提供。由于它使用 Scapy 进行原始数据包捕获,因此应以 root 身份运行。mitm6 默认会自动检测你的网络设置,并使用主接口进行欺骗。你可能需要指定的唯一选项是你要欺骗的 AD domain。要进行高级调优,可使用以下选项:

root@kitploit:~
usage: mitm6 [-h] [-i INTERFACE] [-l LOCALDOMAIN] [-4 ADDRESS] [-6 ADDRESS] [-m ADDRESS] [-a] [-r TARGET] [-v] [--debug]
             [-d DOMAIN] [-b DOMAIN] [-hw DOMAIN] [-hb DOMAIN] [--ignore-nofqdn]

mitm6 - 通过 IPv6 攻陷 IPv4
如需帮助或报告问题,请访问 https://github.com/dirkjanm/mitm6

optional arguments:
  -h, --help            显示此帮助信息并退出
  -i INTERFACE, --interface INTERFACE
                        要使用的接口(默认:自动检测)
  -l LOCALDOMAIN, --localdomain LOCALDOMAIN
                        用作 DNS 搜索域的域名(默认:使用第一个 DNS 域)
  -4 ADDRESS, --ipv4 ADDRESS
                        发送数据包的 IPv4 地址(默认:自动检测)
  -6 ADDRESS, --ipv6 ADDRESS
                        发送数据包的 IPv6 链路本地地址(默认:自动检测)
  -m ADDRESS, --mac ADDRESS
                        自定义 MAC 地址——可能会破坏功能(默认:所选接口的 MAC)
  -a, --no-ra           不广播路由器通告(适用于检测恶意路由器通告的网络)
  -r TARGET, --relay TARGET
                        身份验证中继目标,将用作伪造的 DNS 服务器主机名以触发 Kerberos 认证
  -v, --verbose         显示详细信息
  --debug               显示调试信息

过滤选项:
  -d DOMAIN, --domain DOMAIN
                        要过滤 DNS 查询的域名(白名单机制,可指定多个)
  -b DOMAIN, --blocklist DOMAIN, --blacklist DOMAIN
                        要过滤 DNS 查询的域名(黑名单机制,可指定多个)
  -hw DOMAIN, -ha DOMAIN, --host-allowlist DOMAIN, --host-whitelist DOMAIN
                        要过滤 DHCPv6 查询的主机名(FQDN)(白名单机制,可指定多个)
  -hb DOMAIN, --host-blocklist DOMAIN, --host-blacklist DOMAIN
                        要过滤 DHCPv6 查询的主机名(FQDN)(黑名单机制,可指定多个)
  --ignore-nofqdn       忽略不包含完全限定域名(FQDN)选项的 DHCPv6 查询。

你可以手动覆盖大多数自动检测选项(不过覆盖 MAC 地址会破坏功能)。如果网络上存在阻止或检测恶意路由器通告消息的硬件,你可以添加 --no-ra 标志来不广播这些消息。路由器通告并非 mitm6 工作所必需,因为其主要依赖 DHCPv6 消息。

过滤选项

提供了几个过滤选项,用于选择要攻击和欺骗的主机。首先是 --host-allowlist 和 --host-blocklist 选项(简写为 -hw 和 -hb),它们接受(部分)域作为参数。传入的 DHCPv6 请求将根据此列表进行过滤。检查的属性是 DHCPv6 FQDN 选项,客户端在其中提供其主机名。 同样的规则适用于 DNS 请求,为此提供了 --domain 选项(或 -d),你可以指定要欺骗的一个或多个域。也可以通过 --blocklist/-b 阻止特定域。这两个参数可以多次指定,以包含/排除多个域(例如 -d domain.local -d otherdomain.local -b somehost.domain.local -b somehost.otherdomain.local)。

对于主机和 DNS 过滤,都执行简单的字符串匹配。因此,如果你选择回复 wpad,它也会回复对 wpad.corpdomain.com 的查询。如果你需要更具体的过滤,请同时使用白名单和黑名单选项,因为黑名单优先于白名单。 默认情况下,指定的第一个域将用作 DNS 搜索域,如果你想自己明确指定此域,请使用 --localdomain 选项。

关于网络影响和恢复网络

mitm6 被设计为渗透测试工具,因此应尽可能减少对网络的影响。这也是 mitm6 目前未实现完整机器中间人攻击(例如 SLAAC 攻击)的主要原因。 为了进一步减少影响,分配的 IP 地址具有较短的生存时间(TTL)值。当 mitm6 停止时,租约将在 5 分钟内过期,这将从受害者配置中移除 DNS 服务器。 为防止 DNS 回复被缓存,所有回复都使用 100 秒的 TTL 发送,从而确保在工具退出后几分钟内缓存被清除。

与 ntlmrelayx 配合使用

mitm6 被设计为与 ntlmrelayx 一起使用。你应该同时运行这两个工具,在这种场景下,mitm6 将欺骗 DNS,导致受害者连接到 ntlmrelayx 以进行 HTTP 和 SMB 连接。为此,你必须确保使用 -6 选项运行 ntlmrelayx,这将使其同时监听 IPv4 和 IPv6。要获取 WPAD 的凭据,请使用 -wh HOSTNAME 指定要欺骗的 WPAD 主机名(本地域中任何不存在的主机名都可以,因为 mitm6 是 DNS 服务器)。可选地,你还可以使用 -wa N 参数,该参数接受一个尝试次数,用于在你怀疑受害者未应用 MS16-077 补丁时提示对 WPAD 文件本身进行身份验证。

与 krbrelayx 配合使用

你也可以使用 mitm6 来中继 Kerberos 身份验证,尤其是通过 DNS。为此,请使用 --relay 参数并指定要中继的目标主机。该主机将被模拟,mitm6 将试图说服你的受害者使用 Kerberos 身份验证向 krbrelayx 发送经过身份验证的动态更新。有关此攻击的更多信息,请访问以下博客:https://dirkjanm.io/relaying-kerberos-over-dns-with-krbrelayx-and-mitm6/

检测

Fox-IT 安全研究团队已发布 Snort 和 Suricata 规则,用于检测恶意 DHCPv6 流量和通过 IPv6 的 WPAD 回复。这些规则可在以下地址获取:https://gist.github.com/fox-srt/98f29051fe56a1695de8e914c4a2373f

下载工具