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

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

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

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

工具目录

分类

查看所有分类
Loading categories
RelayKing-Depth — 主宰域名。传递至王者。 | Kitploit
工具/GitHubGitHub/depthsecurity/relayking-depth
权限提升侦察漏洞扫描器漏洞分析漏洞利用IDS/IPS规避横向移动信息收集网络安全渗透测试
GitHubdepthsecurity/relayking-depth

RelayKing-Depth

34230485个月前Kitploit 审核通过

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

主宰域名。传递至王者。

查看仓库

RelayKing v1.10

统治域。将中继推向王权。

RelayKing 是一款全面的中继检测与枚举工具,旨在识别 Active Directory 环境中的中继攻击机会。提供实用的报告选项、全面的攻击覆盖。发现隐藏的中继向量,并以您喜欢的输出格式报告。将检测到的可中继主机整理为精选目标列表,供 Impacket 的 ntlmrelayx.py 使用。再也不会错过域中关键的可利用 NTLM 中继路径。

博客/推荐阅读:

请参阅 Depth Security 网站发布的关联博客以获取更多详情:https://www.depthsecurity.com/blog/introducing-relayking-relay-to-royalty/

目录

  • 博客/推荐阅读
  • 使用前请阅读
    • OPSEC 注意事项
  • 功能
    • 协议检测
    • 高级检测
    • 中继路径分析
    • 目标选择选项
    • 输出格式
    • 其他功能
  • 安装
  • 用法
    • 命令行选项
    • 示例
  • 功能说明
    • 性能
    • 分组
    • 功能行为说明
  • 待办事项
  • 当前已知的 Bug/限制
  • 提交 Issue/拉取请求
    • Issues
    • Pull Requests
  • 致谢
  • 免责声明
  • 许可证

使用前请阅读:

OPSEC 注意事项:

**RelayKing 在某些模式下并非 OPSEC 友好工具,尤其是在 --audit 模式下。 RelayKing 按“现状”提供,不提供任何保证。详见 readme 底部。

安装

root@kitploit:~
# 使用 venv。省去麻烦。

# 克隆仓库:
git clone https://github.com/depthsecurity/RelayKing-Depth.git
# 进入克隆目录:
cd RelayKing-Depth/
# 配置 Python venv:
virtualenv --python=python3 .
source bin/activate
# 安装依赖:
pip3 install -r requirements.txt
# 验证 RelayKing 安装成功:
python3 relayking.py -h

协议检测

  • SMB/SMB2/SMB3: 签名要求、通道绑定、版本检测 (无需认证)
  • HTTP/HTTPS: EPA/CBT 强制执行 (可靠 HTTPS 检查需要认证)
  • LDAP/LDAPS: 签名要求、通道绑定 (可靠 LDAPS CBT 检查需要认证)
  • MSSQL: EPA 强制执行 (可靠检查需要认证)
  • RPC: MS-RPC 端点枚举、认证要求 (可靠检查需要认证)
  • WINRM/WINRMS: WS-Management、EPA 强制执行、通道绑定 (需要认证的检查) (WIP)
  • SMTP: NTLM 认证检测、STARTTLS 支持 (WIP)
  • IMAP/IMAPS: NTLM 认证、加密邮件访问 (WIP)

高级检测

  • NTLM 反射: 识别易受 NTLM 反射攻击的主机 (CVE-2025-33073)
  • CVE-2025-54918: 检测未打补丁的 Windows Server 2025 主机,这些主机易受通过 PrintSpooler RPC 强制到 LDAPS 的 NTLM 反射攻击。对任何未打补丁的 Server 2025 主机报告为 MEDIUM;当主机是启用了 PrintSpooler 的域控制器时升级为 CRITICAL。通过查询注册表中的 UBR(更新构建修订版)进行检查。
  • CVE-2019-1040 (丢弃 MIC): 检测 UBR 低于 2019 年 6 月补丁阈值的主机,允许使用 ntlmrelayx 的 --remove-mic 进行跨协议中继(SMB 到 LDAP/LDAPS)的 MIC 字段剥离。报告为 HIGH。使用已按主机查询的 UBR,无需额外网络请求。
  • 幽灵 SPN 检测: 在 --audit 模式下,查询 Active Directory 中主机名没有 DNS 记录的服务主体名称。攻击者可以注册缺失的 DNS 名称以拦截打算用于该服务主体的 NTLM 认证。发现结果分为 易受攻击(完全没有 DNS 记录)和 可能易受攻击(仅通过通配符 DNS 解析)。报告为 MEDIUM。完整发现结果写入 possible-ghost-spns.txt。使用 --no-ghosts 抑制。
  • WebDAV/WebClient: 检测运行 WebDAV WebClient 服务的主机
  • NTLMv1 支持: 检查 NTLMv1 认证支持(单独或 GPO 级别)
  • 强制漏洞: 检测未经身份验证(如果指定了)的 PetitPotam、PrinterBug、DFSCoerce

中继路径分析

  • 自动识别可行的中继攻击路径(功能正常,需要更多工作)
  • 按影响程度对路径进行优先级排序(严重、高、中、低)
  • 跨协议中继检测(需要 --ntlmv1 或 --ntlmv1-all - 仅当确认发现 Net-NTLMv1 使用时才进行跨协议检测)
  • NTLM 反射路径(包括部分 MIC 移除路径/跨协议中继)
  • CVE-2025-54918 路径:任何未打补丁的 Server 2025 主机为 MEDIUM,启用了 PrintSpooler 的未打补丁域控制器为 CRITICAL
  • CVE-2019-1040 路径:HIGH,通过 MIC 剥离 (--remove-mic) 的 SMB 到 LDAP 跨协议中继
  • 幽灵 SPN 路径:MEDIUM,报告中最多显示 5 个,完整输出在 possible-ghost-spns.txt
  • 严重性评级逻辑为 WIP,欢迎提交 PR 进行升级/改进!目前尚未涵盖 100% 的情况/场景 - 目标是覆盖所有可能的原语。

目标选择选项

  • Active Directory 审计 (--audit):通过 LDAP 枚举 AD 中所有计算机。需要低权限 AD 凭证和环境中的功能 DNS。使用 --dc-ip 强制指定或编辑 /etc/resolv.conf。
  • 文件输入:从文本文件加载目标
  • CIDR 标记法:扫描整个子网(例如 10.0.0.0/24)
  • IP 范围:扫描 IP 范围(例如 10.0.0.1-254)
  • 单个主机:定位特定主机或 FQDN(python3 relayking.py -u blah -p pass -d domain.local <your_target_ip_or_hostname>)

输出格式

  • 纯文本:人类可读的输出,包含详细发现
  • JSON:结构化数据,用于程序化分析
  • XML:层次化数据格式
  • CSV:电子表格兼容格式
  • Grep 友好:每行一个结果格式,易于解析
  • Markdown:文档就绪格式

其他功能

  • 大规模强制:--coerce-all 与 --audit 和低权限凭证结合,强制每个域机器进行大规模计算机账户中继。在启用了 Net-NTLMv1 的环境中非常有用。
  • Net-NTLMv1 发现:--ntlmv1 或 --ntlmv1-all 检测域级别的 LanMan GPO。--ntlmv1-all 检查 AD 中所有主机及其注册表值(使用 RemoteRegistry)。(需要本地管理员权限)。
  • 中继列表生成:--gen-relay-list <file> 生成一个可直接导入用于 ntlmrelayx.py 的 -tf 开关的目标文件。
  • 幽灵 SPN 检查:在凭据存在的情况下,--audit 模式下自动运行。使用 --no-ghosts 抑制。完整发现结果写入 possible-ghost-spns.txt 以及主报告;报告本身显示前 5 个以避免杂乱。
  • 灵活的 Kerberos 认证功能:通过 -k(以及用于 --dc-ip 的 FQDN)进行 Kerberos 认证应该可以很好地工作。如果环境中的域控制器完全禁用了 NTLM 但在其他地方容忍 NTLM,则可以使用 --krb-dc-only 以免干扰任何检查。此外, 和 可用于通过 SOCKS/其他代理跳板进行的工作。即使在这种场景下,kerb 也能轻松工作。

用法

使用 -h 打印命令行参数/用法,正如预期:

root@kitploit:~
python3 relayking.py -h

示例

全网络覆盖的推荐使用标志 + 将扫描报告输出到纯文本和 JSON:

root@kitploit:~
python3 relayking.py -u ‘lowpriv’ -p ‘lowpriv-password’ -d client.domain.local --dc-ip 10.0.0.1 -vv --audit --protocols smb,ldap,ldaps,mssql,http,https --threads 10 -o plaintext,json --output-file relayking-scan --proto-portscan --ntlmv1 --gen-relay-list relaytargets.txt

轻量级认证扫描,无 HTTP(S) 检查 + 将扫描报告输出到纯文本和 JSON:

root@kitploit:~
python3 relayking.py -u ‘lowpriv’ -p ‘lowpriv-password’ -d client.domain.local --dc-ip 10.0.0.1 -vv --audit --protocols smb,ldap,ldaps,mssql -o plaintext,json --output-file relayking-scan --proto-portscan --gen-relay-list relaytargets.txt

单目标认证扫描(单目标 = 定位参数,最后一个参数)+ 仅以纯文本形式输出到 stdout:

root@kitploit:~
python3 relayking.py -u ‘lowpriv’ -p ‘lowpriv-password’ -d client.domain.local -vv --protocols smb,ldap,ldaps,mssql,http,https -o plaintext SERVER1-EXAMPLE.LAB.LOCAL

使用 CIDR 范围作为目标的无认证扫描 + 无报告文件/仅 stdout 纯文本:

root@kitploit:~
python3 relayking.py --null-auth -vv --protocols smb,ldap,http -o plaintext 10.0.0.0/24

完全审计,通过 RemoteRegistry 检查所有主机的 Net-NTLMv1(重量级):

root@kitploit:~
python3 relayking.py -u ‘lowpriv’ -p ‘lowpriv-password’ -d client.domain.local --dc-ip 10.0.0.1 -vv --audit --protocols smb,ldap,ldaps,mssql,http,https --threads 10 -o plaintext,json --output-file relayking-scan --proto-portscan --ntlmv1-all --gen-relay-list relaytargets.txt

功能说明:

性能

  • 默认有 10 个主扫描器线程/作业,用 --threads 指定。每个主线程会为某些任务分配工作线程。例如,HTTP 每个主线程使用 20 个线程。这导致大约 200 个 HTTP 线程同时扫描 HTTP NTLM 认证。大多数情况下,这个数量被很好地容忍,但如果导致延迟/网络问题,请减少线程数。无论如何,默认的 10 个线程已经非常快。
  • 您可能几乎总是希望在所有扫描中使用 --proto-portscan。它显著提高了性能,并防止扫描器在不存在的端口上等待超时。如果引起问题,您可以在牺牲扫描性能的情况下移除它(但应该不会!)

分组

  • 可以通过将主机分组的模式进行扫描。选项 --max-scangroup、--split-into 和 --skip 可用于控制分组。
  • 您可以指定 --max-scangroup 来指定每个组的目标数。例如,--max-scangroup 100 会将 299 个目标分成 3 组。组的目标数分别为 100、100 和 99。
  • 您可以指定 --split-into 来指定组数。例如,--split-into 3 会将 299 个目标分成 3 组。组的目标数分别为 100、100 和 99。您不能同时指定 --max-scangroup 和 --split-into。
  • 您可以指定 --skip 来跳过组。例如,--max-scangroup 3 --skip 1 会将 299 个目标分成 3 组,分别为 100、100 和 99 个目标,并跳过第一组,然后从第二组开始扫描。这在您想要重新启动此工具时很有帮助。

功能行为说明:

  • --ntlmv1 或 -ntlmv1-all:添加 --ntlmv1 将仅获取域的每个 LanMan GPO,不执行其他操作。需要低权限 AD 凭证。--ntlmv1-all 需要管理员凭证,并将检查域中每个单独的主机(SMB 打开)的 LMCompatibilityLevel 注册表项。运行至少 --ntlmv1 是显示/检测跨协议 SMB 中继路径所必需的。
    • 远程注册表被禁用可能导致 --ntlmv1-all 出错。也非常重量级且不符合 OPSEC 安全,但彻底。除非您 YOLO 或绝望,否则可能不推荐。
  • 多种格式输出。以逗号分隔的格式提供(-o json,plaintext)和 --output-file relayking-scan 会产生 relayking-scan.json + relayking-scan.txt,因此无需为多种格式运行两次。可用格式:plaintext, json, xml, csv, grep, markdown(默认:plaintext)
  • --coerce-all 功能将在所有目标主机上使用 PetitPotam、DFSCoerce 和 PrinterBug。它还会在不运行完整协议审计的情况下强制域中的每台机器。同时提供 --audit + --coerce 将执行域审计大规模强制。()

待办事项

  • 更多测试(您可以帮忙)
  • Shell 文件强制投放工具 + 清理。(需要特定功能 - 如果您想添加,请直接联系)
  • 创建使用 Wiki
  • Kerberos 中继 + 路径。创建涵盖所有 krb 中继技术(包括反射)的逻辑。
  • 潜在的 --opsec-safe 模式,避免使用 Impacket/其他被指纹识别的 Python 库。实现起来并不简单。

已知问题

  • 由于多个辅助工具和功能各自查询 LDAPS,这导致了极其混乱的逻辑,没有将它们合并,各自为政。目前我认为 --ntlmv1、凭证验证器、幽灵 SPN 模块和目标分析器都各自进行认证。这绝对荒谬,需要合并为使用单一模块进行认证。
  • 可能还有其他与 LDAP 签名和通道绑定组合相关的愚蠢小问题。
  • 最新的 Server 2025 / Win11 构建上 RPC 存在严重问题。需要修复。
  • HTTP(S) 服务存在一些难以解释的愚蠢边缘情况,导致误报/漏报结果。

提交 Issue/拉取请求

Issues

  • 打开的 Issue 中包含错误/工具故障但没有任何详细信息(“这个不行”/“为什么不行”)将被关闭。
  • 一般来说,如果您遇到错误,请使用 -vv 或 -vvv 运行工具。每个版本的日志记录都在不断改进。
  • 提交 Issue 时,尽可能提供详细信息以便调试/故障排除。请从调试输出中编辑任何敏感信息,例如客户端/目标域、机器名称以及其他敏感信息。您不想将客户的中继秘密泄露给全世界。
  • 产生问题/错误/异常行为的用法参数也是必需的。
  • 由于用户错误或配置错误的环境导致的问题将被审阅,并可能被关闭。例外情况是工具本应优雅地处理特定环境问题,但在遇到这些问题时却失败运行/抛出异常和堆栈跟踪。这种情况应该非常明显。以下是一些用户错误/网络设置损坏的示例:
    • 例如,您运行 --audit,RelayKing 无法通过 DNS 解析任何主机,因为它们的 DNS 服务器拒绝解析其目标 DNS 区域中的计算机 FQDN。这不是 RelayKing 的问题。
    • 或者,例如,未能确保测试主机上的 DNS 配置正确(通过验证 /etc/resolv.conf),然后名称解析失败 - 这不是 RelayKing 的问题。
    • 其他任何 PEBKAC。

Pull Requests:

  • PR 始终欢迎。新功能、改进以及提高性能/整体逻辑的重构都是可取的。
  • 功能请求可以通过 PR 提交。功能描述、具体行为以及潜在的使用标志/参数通常是考虑实现所需的最低要求。
  • PR 应先经过彻底测试,理想情况下在多个环境中测试后再提交。我们会在合并 PR 之前进行测试,但在独特环境中(尤其是重大更改/重构后)的测试越多越好。我希望保持 RelayKing 可靠、健壮和高性能 - 这需要广泛的测试。

致谢

  • **我的团队 - Depth Security (https://www.depthsecurity.com/)**:支持、帮助、指导和测试。没有这支青色团队,这个工具将毫无用处。
  • Nick Powers (SpecterOps) (https://github.com/zyn3rgy) - RelayInformer:灵感和检测逻辑参考
  • 众多开发者 / Alex Neff (https://github.com/NeffIsBack) - NetExec:各种检测逻辑实现
  • Fortra/SecureAuthCorp/众多开发者 - Impacket:协议实现。各种其他内容。
  • Dirk-jan Mollema (https://github.com/dirkjanm) krbrelayx:Kerberos 中继技术,DNS 相关内容。
  • Garrett Foster (SpecterOps) (https://github.com/garrettfoster13) SCCMHunter:SCCM 检测逻辑。用于测试的实验室使用(非常感谢!)
  • Oliver Lyak (https://github.com/ly4k) Certipy-AD:ADCS 检测逻辑
  • **Andrea Pierini (https://github.com/decoder-it)**:众多中继技术和战术。
  • **p0dalirius (https://github.com/p0dalirius/GhostSPN)**:幽灵 SPN 检测概念和方法论。
  • 可能还遗漏了一些人 - 没有广大信息安全社区及其贡献,这个工具是不可能实现的。

免责声明

按原样提供。肯定存在许多 Bug。见上文。显然,并非设计或意图用于非法/未经授权的活动。

考虑您为客户参与活动在其网络上运行的所有工具的行为和性质。这通过阅读工具源代码并在执行前理解其内部工作原理来实现,而不是盲目执行您在 GitHub 上找到的代码。虽然我可以向您保证 RelayKing 内部没有故意恶意/破坏性代码,但在运行任何新颖/未使用的工具之前进行验证通常是良好实践。信任,但始终验证。

在红队演习中小心使用,尤其是使用认证检查和 --audit。您会被检测到,并且这将是您的责任!如果您正在阅读这句话并且还不知道这一点,那么您应该已经阅读了 README 顶部的警告。

虽然极不可能/不太可能,但万一 RelayKing 破坏了某些东西,您需要自己负责,作者或 Depth Security 对可能因执行 RelayKing 而产生的任何结果/问题/损坏/地磁反转/核爆炸(无论多么不可能)都不承担任何责任。您的结果可能会有所不同。再次重申,RelayKing 不提供任何特定结果、功能、实用性或行为的保证或担保 - 无论是在此明确提及的(和/或未提及的)还是其他隐含的。

作者 (logansdiomedi) 唯一的合法 GitHub 仓库位于 https://github.com/depthsecurity/RelayKing-Depth - 所有其他仓库均为分支/副本/其他任何内容,作者可能尚未阅读、验证、测试、分析或检查其功能/行为/合法性。请用您的头脑判断。

许可证

MIT 许可证 - 详情见 LICENSE 文件

下载工具
--dns-tcp
-ns
以及
重量级
  • 幽灵 SPN(仅 --audit 模式):主机扫描完成后,RelayKing 查询 AD 中主机名没有 DNS 记录的 SPN。这些是 DNS 注册攻击的可疑目标,用于拦截 NTLM 认证。为了避免输出混乱,报告最多包含 5 个发现;完整列表始终写入工作目录中的 possible-ghost-spns.txt。传递 --no-ghosts 可完全跳过此检查。
  • CVE-2025-54918:通过扫描期间已从每个主机注册表读取的 UBR(更新构建修订版)进行检查。未打补丁的 Server 2025 主机(构建 26100,UBR < 6584)报告为 MEDIUM。如果该主机也是启用了 PrintSpooler 的域控制器,则严重性升级为 CRITICAL。
  • CVE-2019-1040 (丢弃 MIC):同样由 UBR 驱动,无额外网络流量。低于 2019 年 6 月补丁阈值的主机被标记为 HIGH,并标识为使用 ntlmrelayx 的 --remove-mic 标志进行跨协议中继的可疑目标。