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

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

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

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

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

Категории

Все категории
Loading categories
cve-2024-21762-poc — CVE-2024-21762 — это критическая уязвимость в продуктах Fortinet FortiOS и FortiProxy, присутствующая в их компоненте SSL VPN. | Kitploit
Инструменты/GitHubGitHub/crackercat/cve-2024-21762-poc
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеRed Teaming
GitHubcrackercat/cve-2024-21762-poc

cve-2024-21762-poc

CVE-2024-21762 — это критическая уязвимость в продуктах Fortinet FortiOS и FortiProxy, присутствующая в их компоненте SSL VPN.

Репозиторий
111 год назадЕщё не проверено

Популярное

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

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

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

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

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

cve-2024-21762-poc

CVE-2024-21762 — это критическая уязвимость в продуктах FortiOS и FortiProxy компании Fortinet, обнаруженная в компоненте SSL VPN. Уязвимость позволяет неаутентифицированному удалённому злоумышленнику выполнить произвольный код или команды на целевой системе с помощью специально сформированного HTTP-запроса, что может привести к полному контролю над системой.

Опасность: Из-за наличия данной уязвимости злоумышленник может удалённо выполнить произвольный код без какой-либо аутентификации, получив тем самым полный контроль над затронутым устройством. Это может привести к утечке конфиденциальных данных, прерыванию обслуживания и даже дальнейшим сетевым атакам.

Метод атаки: Основным способом эксплуатации уязвимости является отправка специально сформированного HTTP-запроса, который вызывает уязвимость записи за пределами границ буфера (out-of-bounds write) в компоненте SSL VPN. В частности, злоумышленник может с помощью тщательно сконструированного запроса управлять данными в памяти, что в конечном итоге приводит к удалённому выполнению кода.

Меры защиты: Для предотвращения атак с использованием данной уязвимости рекомендуется немедленно обновить FortiOS и FortiProxy до последних официальных версий безопасности. Кроме того, временной мерой защиты может служить отключение функции SSL VPN.


Подробный анализ уязвимости CVE-2024-21762: запись за пределами границ буфера в Fortinet FortiOS

Контекст уязвимости

CVE-2024-21762 — это высокоопасная уязвимость в Fortinet FortiOS SSL VPN, относящаяся к типу неаутентифицированной записи за пределами границ буфера. Уязвимость может быть использована для удалённого выполнения кода (RCE), что представляет угрозу для безопасности корпоративных сетей.

В феврале 2024 года FortiGate выпустила обновление, исправляющее несколько уязвимостей средней и высокой степени опасности. В данной статье основное внимание уделяется анализу процесса эксплуатации CVE-2024-21762, включая то, как использовать эту уязвимость для удалённого выполнения кода.


Пример кода эксплуатации уязвимости (PoC)

Следующий код PoC предоставлен assetnote и демонстрирует основные шаги эксплуатации данной уязвимости.

root@kitploit:~
# 简化的漏洞利用代码片段
ssl_do_handshake_ptr = b"%60%ce%42%00%00%00%00%00"  # SSL握手指针
getcwd_ptr = b"%70%62%2c%04%00%00%00%00"  # getcwd函数指针

pivot_1 = b"%52%f7%fd%00%00%00%00%00"  # pivot指令集1
pivot_2 = b"%ac%c9%ab%02%00%00%00%00"  # pivot指令集2

rop = b""  # ROP链
rop += b"%c6%e2%46%00%00%00%00%00"
rop += b"%19%6f%4d%01%00%00%00%00"
# ... 其余ROP链内容省略

# 伪造请求数据
body = (b"B"*1808 + b"=" + b"B"*1024 + b"&") * 20
data = b"POST /remote/hostcheck_validate HTTP/1.1\r\n"
data += b"Host: 192.168.1.229\r\n"
data += f"Content-Length: {len(body)}\r\n".encode("utf-8")
data += b"\r\n" + body

# 发送伪造请求
ssock1 = make_sock(TARGET, PORT)
ssock1.sendall(data)

Анализ кода после исправления

Путём сравнения бинарных файлов FortiOS 7.4.2 и 7.4.3, исправленный код находится в функции sub_18F4980. Исправление в основном сосредоточено на двух моментах:

  1. При разборе формата chunk добавлена проверка длины chunk. Если декодированная длина превышает 16, она считается недопустимой.
  2. Исправлена логика записи chunk trailer, чтобы предотвратить запись \r\n за пределами границ буфера.

Принцип эксплуатации уязвимости

  1. Инициирование записи за пределами границ:

    • При разборе chunk, если поле длины после декодирования равно 0, инициируется чтение chunk trailer.
    • При записи chunk trailer в стек записывается \r\n в соответствии с полем длины.
    • Если поле длины содержит большое количество 0, это вызовет запись \r\n за пределами границ вблизи адреса возврата.
  2. Переполнение стека и перехват управления:

    • С помощью тщательно сконструированных данных chunk можно перезаписать адрес возврата в стеке, добившись перехвата потока управления программой.
    • Используя технику ROP в сочетании с раскладкой памяти FortiOS, достигается удалённое выполнение кода.

Сложности эксплуатации уязвимости

Хотя перехват управления возможен с помощью ROP-цепочки, /bin/sh в основной программе FortiGate не обладает способностью напрямую выполнять команды, поэтому необходимо искать другие пригодные для использования функции. Например, путём подделки указателя на структуру можно использовать SSL_do_handshake для дальнейшей атаки.


Демонстрация эксплуатации уязвимости

Даже в конфигурации по умолчанию (с отключённым веб-режимом) данная уязвимость всё равно может быть использована.

Демонстрация эксплуатации уязвимости


Заключение

CVE-2024-21762 — это уязвимость высокой степени сложности, для эксплуатации которой требуется глубокое понимание логики кода и раскладки памяти FortiOS. По сравнению с традиционными CTF-задачами, эксплуатация реальных уязвимостей требует более сложного анализа контекста и структуры.


Ссылка на оригинальную статью

Автор предоставил более подробную статью с анализом на китайском языке, которую можно посмотреть по ссылке: Оригинальная статья

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