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

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

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

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

工具目录

分类

查看所有分类
Loading categories
pretender — 您的MitM攻击助手,支持DHCPv6 DNS劫持以及mDNS、LLMNR和NetBIOS-NS欺骗攻击。 | Kitploit
工具/GitHubGitHub/redteampentesting/pretender
侦察信息收集网络安全渗透测试身份验证红队DNS 分析
GitHubredteampentesting/pretender

pretender

您的MitM攻击助手,支持DHCPv6 DNS劫持以及mDNS、LLMNR和NetBIOS-NS欺骗攻击。

查看仓库
1.3k971个月前Kitploit 审核通过

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

pretender

你的中间人攻击搭档,用于通过DHCPv6 DNS接管以及mDNS、LLMNR和NetBIOS-NS欺骗进行中继攻击

Release GitHub Action: Check Software License Go Report Card


pretender 是由 RedTeam Pentesting 开发的工具,用于通过伪造的本地名称解析和 DHCPv6 DNS 接管攻击获取中间人位置。pretender 主要针对 Windows 主机,因为它旨在用于中继攻击,但可以部署在 Linux、Windows 以及 Go 支持的所有其他平台上。名称解析查询可以用任意 IP 地址进行应答,适用于中继工具运行在与 pretender 不同主机上的情况。它设计用于与 Impacket's ntlmrelayx.py 和 krbrelayx 等工具配合,这些工具处理传入连接以进行中继攻击或哈希转储。

有关 DHCPv6 DNS 接管、本地名称解析欺骗和中继攻击的更多信息,请阅读我们的博客文章。


用法

要了解本地网络中的情况,可以以 --dry 模式启动 pretender,该模式仅记录传入的查询而不应答任何查询:

root@kitploit:~
pretender -i eth0 --dry
pretender -i eth0 --dry --no-ra # 无路由器通告 (RA)
pretender -i eth0 --dry --no-ra-dns # 有 RA 但不在 RA 中通告 DNS

要通过 mDNS、LLMNR 和 NetBIOS-NS 执行本地名称解析欺骗,以及通过路由器通告执行 DHCPv6 DNS 接管,只需如下运行 pretender:

root@kitploit:~
pretender -i eth0

你可以使用 --no-dhcp-dns(禁用 DHCPv6、DNS 和路由器通告)、--no-lnr(禁用 mDNS、LLMNR 和 NetBIOS-NS)、--no-mdns、--no-llmnr、--no-netbios 和 --no-ra 禁用某些攻击。

如果 ntlmrelayx.py 运行在另一台主机上(例如 10.0.0.10/fe80::5),请按如下方式运行 pretender:

root@kitploit:~
pretender -i eth0 -4 "10.0.0.10" -6 "fe80::5"

Pretender 可以设置为仅响应特定域的查询(或除特定域之外的所有域),并且可以仅对某些主机(或除某些主机之外的所有主机)执行欺骗攻击。通过主机名引用主机依赖于运行 pretender 的主机的名称解析。参见以下示例:

root@kitploit:~
pretender -i eth0 --spoof "example.com" --dont-spoof-for "10.0.0.3,host1.corp,fe80::f" --ignore-nofqdn

更多信息,请运行 pretender --help。


提示

  • 选项 --spoof/--dont-spoof/--spoof-for/--dont-spoof-for 支持通配符。domain.fqdn 仅执行文字匹配,而 .domain.fqdn 将匹配 domain.fqdn 和 sub.domain.fqdn。类似地,*domain.fqdn 匹配 mydomain.fqdn。使用 *.domain.fqdn 仅匹配子域名。注意,子域名通配符(前导点)和任意通配符(*)不能一起使用。
  • 确保在 ntlmrelayx.py 中使用 -6 标志启用 IPv6 支持。
  • Pretender 支持通过路由器通告进行无状态 DNS 配置,无需 DHCPv6,使用 --stateless-ra 标志。默认情况下,DHCPv6 服务器仍然启动,但可以使用 --no-dhcp 禁用。
  • 如果存在 --dont-spoof/--dont-spoof-for 过滤器,并且没有使用 配置上游 DNS 服务器,路由器通告将不会直接通告 DNS 服务器,从而降低攻击效果。

构建与供应商配置

可以按如下方式构建 Pretender:

root@kitploit:~
go build

Pretender 也可以使用预配置的设置进行编译。为此,需要像这样修改 ldflags:

root@kitploit:~
-ldflags '-X main.vendorInterface=eth1'

例如,可以为 Windows 构建 Pretender,指定默认接口、禁用彩色输出并配置中继 IPv4 地址:

root@kitploit:~
GOOS=windows go build -trimpath -ldflags '-X "main.vendorInterface=Ethernet 2" -X main.vendorNoColor=true -X main.vendorRelayIPv4=10.0.0.10'

完整的供应商配置选项列表(有关详细信息,请参阅 defaults.go 或 pretender --help):

root@kitploit:~
vendorInterface
vendorRelayIPv4
vendorRelayIPv6
vendorSOAHostname
vendorSpoofResponseName
vendorNoDHCPv6DNSTakeover
vendorNoDHCPv6
vendorNoDNS
vendorNoMDNS
vendorNoNetBIOS
vendorNoLLMNR
vendorNoLocalNameResolution
vendorNoIPv6LNR
vendorNoRA
vendorNoRADNS
vendorSpoof
vendorDontSpoof
vendorSpoofFor
vendorDontSpoofFor
vendorSpoofTypes
vendorSpoofSRV
vendorIgnoreDHCPv6NoFQDN
vendorIgnoreNonMicrosoftDHCP
vendorDelegateIgnoredTo
vendorToggleNameResolutionSpoofing
vendorDontSendEmptyReplies
vendorDryMode
vendorDryWithDHCPMode
vendorStatelessRA
vendorTTL
vendorLeaseLifetime
vendorRARouterLifetime
vendorRAPeriod
vendorDNSTimeout
vendorStopAfter
vendorVerbose
vendorNoColor
vendorNoTimestamps
vendorLogFileName
vendorNoHostInfo
vendorHideIgnored
vendorRedirectStderr
vendorListInterfaces
下载工具
--delegate-ignored-to
  • 在无法手动中止的情况下,可以将 Pretender 配置为在特定时间后停止(--stop-after 和 main.vendorStopAfter)。
  • 主机信息查询(依赖于 ARP 表、IP 邻居和反向查找)可以使用 --no-host-info 或 main.vendorNoHostInfo 禁用。
  • 如果你不确定选择哪个接口(尤其是在 Windows 上),可以使用 --interfaces 列出所有接口的名称和地址。
  • 如果要从本地名称解析欺骗中排除主机,请确保也排除它们的 IPv6 地址,或使用 --no-ipv6-lnr/main.vendorNoIPv6LNR。
  • DHCPv6 消息通常包含 FQDN 选项(有时也可能包含非 FQDN 的主机名)。此选项用于按主机名过滤消息(--spoof-for/--dont-spoof-for)。你可以通过设置或省略 --ignore-nofqdn 来决定如何处理没有 FQDN 选项的 DHCPv6 消息。
  • 根据构建配置,使用操作系统解析器(CGO_ENABLED=1)或 Go 实现(CGO_ENABLED=0)。这对于主机信息收集可能很重要,因为操作系统解析器可能支持本地名称解析,而 Go 实现不支持(除非使用存根解析器)。
  • 主机信息功能目前仅适用于 Windows 和 Linux。
  • 可以通过替换默认列表 hostinfo/mac-vendors.txt 将自定义 MAC 地址供应商列表编译到二进制文件中。仅识别以下格式的 MAC 前缀行:FF:FF:FF<tab>VendorID<tab>Vendor(MAC 前缀长度可以任意)。
  • 如果你只想通过动态更新执行 Kerberos 中继,可以指定 --no-lnr 和 --spoof-types SOA 以忽略与攻击无关的任何查询。
  • 当执行 Kerberos 中继攻击时,如果 krbrelayx.py 运行在与 pretender 不同的主机上(中继 IPv4 地址指向运行 krbrelayx.py 的不同主机),运行 krbrelayx.py 的主机也需要运行 pretender,以接收和拒绝发送到中继 IPv4 地址的动态更新查询。
  • 默认情况下,为了限制 DHCPv6 DNS 接管期间的干扰,可以使用 --delegate-ignored-to <DNS 服务器> 选项将忽略的查询委托给合法的 DNS 服务器。
  • 选项 --dry-with-dhcp 可以与 --delegate-ignored-to 结合使用,以无干扰地监控网络中的名称解析查询。
  • 可以通过指定 --ignore-non-microsoft-dhcp 来忽略非 Windows 客户端的 DHCP 消息。这是因为 Windows DHCP 客户端在 DHCP 供应商选项中包含了 Microsoft 的企业编号 311。
  • 使用 --toggle,可以在运行时动态启用和禁用名称解析欺骗(DNS、mDNS、LLMNR、NetBIOS)。当与 --delegate-ignored-to 结合使用时,这特别强大,可以在不停止 DHCP 服务器的情况下启动和停止攻击。当 Windows DHCP 客户端在无法到达 DHCP 服务器一段时间后停止租用地址时,这可以用作一个变通方法。