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

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

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

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

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

Категории

Все категории
Loading categories
DrayTek-Exploit — CVE-2022-23093 Стековое переполнение FreeBSD | Kitploit
Инструменты/GitHubGitHub/symbolexe/draytek-exploit
Анализ уязвимостейЭксплуатацияШелл-кодТестирование на ПроникновениеРазработка Полезной НагрузкиЭксплуатация Бинарных Файлов
GitHubsymbolexe/draytek-exploit

DrayTek-Exploit

CVE-2022-23093 Стековое переполнение FreeBSD

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

Популярное

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

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

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

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

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

CVE-2022-23093 Переполнение стека в FreeBSD

Информация

⚠️ Используемый по умолчанию шелл-код — FreeBSD/x86-64 - execve - 28 байт от Gitsnik; измените его и вставьте свой для запуска ⚠️

Детали уязвимости

Утилита ping, используемая для запроса ICMP ECHO_RESPONSE от хоста или шлюза, вызывается с IPv4-целью, будь то IPv4-хост или IPv4-многоадресная группа, через обязательную дейтаграмму ECHO_REQUEST протокола ICMP. Дейтаграмма ECHO_REQUEST состоит из IP- и ICMP-заголовков, за которыми следуют «struct timeval» и переменное количество байтов «pad» для заполнения пакета.

Согласно уведомлению безопасности проекта FreeBSD, утилита ping извлекает необработанные IP-пакеты из сети для обработки ответов в функции pr_pack(). При обработке ответа ping восстанавливает IP-заголовок, ICMP-заголовок и, если присутствует, «цитируемый пакет» (quoted packet), представляющий пакет, вызвавший ошибку ICMP. Цитируемый пакет также включает IP-заголовок и ICMP-заголовок.

Функция pr_pack() копирует полученные IP- и ICMP-заголовки в буферы стека для дальнейшей обработки. Однако она не учитывает возможность наличия заголовков IP-опций, следующих после IP-заголовка как в ответе, так и в цитируемом пакете. При наличии IP-опций pr_pack() переполняет буфер назначения на величину до 40 байт.

Технический анализ

Утилита ping работает в пространстве пользователя, и при вызове команды ping выполняется бинарный файл, расположенный по пути /sbin/ping. Исходный код утилиты общедоступен в исходниках FreeBSD. Уязвимая функция pr_pack() выводит информацию об ответе ICMP-пакета в стандартный вывод в строковом формате, например: «64 bytes from 1.3.3.7: icmp_seq=1 ttl=55 time=13.7 ms».

Dray-Tek Exploit

✔️ ICMP-пакет, как в запросе, так и в ответе, состоит из IP-заголовков с опциональным полем Options, как показано на диаграмме выше. При злонамеренной атаке эти IP-опции включаются и заполняются ненулевыми байтами. ✔️

Если ICMP-пакет поврежден или намеренно подделан на пути к хосту назначения, и IP-опции включены в исходном эхо-запросе, функция pr_pack() не выделяет достаточно места в стеке для размещения IP-опций, что приводит к переполнению стека.

🤝 В этих случаях ошибки ответ от хоста назначения также может включать «цитируемый пакет» в разделе данных, идентифицирующий конкретный пакет, вызвавший ошибку ICMP. Функция pr_pack() переполняет стек, когда цитируемый пакет содержит ICMP-заголовки. 🤝

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