4 способа эксплуатации CVE-2024-20017: как всего одна уязвимость может разрушить вашу сеть

Безопасный VPN через Телеграмм – обойди все блокировки:

Переполнение буфера превращает ваши устройства в удобные цифровые мишени.

30 августа 2024 года исследователь безопасности под ником @hyprdude опубликовал подробный отчёт об уязвимости CVE-2024-20017, обнаруженной в сетевом демоне wappd. Этот демон используется в SDK от MediaTek и драйверах SoftAP для чипсетов, поддерживающих Wi-Fi 6, и часто встречается в таких устройствах, как роутеры Ubiquiti, Xiaomi и Netgear.

Уязвимость представляет собой переполнение буфера, вызванное некорректной обработкой данных, поступающих из сетевых пакетов. Эксплуатация этой ошибки позволяет злоумышленнику выполнять произвольный код на уязвимых устройствах, используя разные методы атаки. В отчёте @hyprdude описаны четыре подхода к эксплуатации этой уязвимости.

Метод 1. Захват RIP и выполнение ROP

Первый метод эксплуатации основан на простом захвате указателя возврата (RIP) с использованием ROP-цепочки. Этот метод наиболее эффективен на системах, где не применяются современные механизмы защиты, такие как ASLR (рандомизация адресного пространства) и канарейки стека (Stack Canary).

Суть метода заключается в переполнении стека до момента, когда можно перезаписать адрес возврата функции в стеке на адрес, указывающий на полезную нагрузку. В данном случае используется ROP-цепочка, которая вызывает функцию «system()» с заранее подготовленной командой для выполнения на устройстве. Это позволяет злоумышленнику получить полный контроль над устройством. Данный метод является наиболее простым, но уже устарел из-за широкого распространения защитных технологий.

Метод 2. Произвольная запись через порчу указателя

Второй метод основан на более сложной концепции и требует наличия защитных механизмов, таких как ASLR, канарейки стека и частичная защита RELRO. В этом случае злоумышленник использует возможность переполнения стека для порчи указателей (Pointer Corruption), что позволяет ему контролировать, куда будут записаны данные в памяти.

  X избежала оборотного штрафа за нарушение прав пользователей

Используя этот метод, хакер может перезаписать таблицу GOT (Global Offset Table), которая содержит адреса функций, используемых программой. Подменяя адреса в таблице GOT, злоумышленник может перенаправить выполнение программы на свой код, что позволяет ему выполнить произвольные команды на устройстве. Этот метод сложнее в реализации, но значительно эффективнее на защищённых системах.

Купи VPN в России за минуту через наш Телеграмм-бот:

Метод 3. Возвращение к перезаписи адреса возврата и использование ROP на системах с полной защитой RELRO

Третий метод ещё более сложен в реализации, поскольку система использует полную защиту RELRO, что делает невозможным изменение таблицы GOT. Здесь злоумышленник использует комбинацию методов: сначала он добивается произвольной записи, а затем создаёт сложную ROP-цепочку, которая позволяет обойти защиту и выполнить нужную команду.

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

Метод 4. Эксплуатация на реальном устройстве с архитектурой ARM64

Четвёртый метод был разработан специально для эксплуатации уязвимости на реальном устройстве — маршрутизаторе Netgear WAX206 с архитектурой ARM64. Это устройство использует все современные методы защиты, включая ASLR, NX, полную защиту RELRO и канарейки стека. Однако, из-за особенностей архитектуры ARM64 и методов оптимизации кода, злоумышленнику удалось найти способ обхода защиты. Он использует JOP (Jump Oriented Programming) вместо ROP для перенаправления выполнения программы.

Использованный метод включает несколько этапов: сначала злоумышленник получает возможность записывать данные в произвольные места памяти, затем он перезаписывает возвращаемый адрес и другие критические структуры в памяти, чтобы подготовить выполнение команды «system()». Эта техника наглядно демонстрирует, насколько сложной может быть эксплуатация уязвимостей на реальных устройствах, особенно с учётом особенностей архитектуры ARM64.

  Алгоритмы против арендаторов: Разбираем иск против RealPage и его последствия

Бонус. Использование уязвимости ядра через вызовы IOCTL

В завершение отчёта автор представил ещё один интересный метод, который позволяет использовать эксплойт для атаки на уязвимость в ядре операционной системы. Используя цепочку JOP, злоумышленник может выполнить произвольные вызовы IOCTL, что позволяет получить доступ к критическим функциям ядра и расширить контроль над устройством. Этот метод сложен в реализации, но его использование показывает, насколько мощным может быть один эксплойт, если он нацелен на разные уровни системы.

Заключение

Этот подробный анализ уязвимости CVE-2024-20017 подчёркивает важность использования многоуровневой защиты в современных системах. Один и тот же баг может быть использован для атаки разными способами, и каждый из этих методов требует глубоких знаний и творческого подхода к разработке эксплойтов.

Данный пример очень хорошо иллюстрирует, что даже простое переполнение буфера может превратиться в серьёзную угрозу для безопасности, если злоумышленник обладает достаточными знаниями и ресурсами для его эксплуатации.

Искусственный интеллект уже умнее вас. Как не стать рабом машин?

Узнайте у нас!

Платный VPN сервис — это инвестиция в вашу безопасность и конфиденциальность в интернете. Он предлагает множество преимуществ, включая защиту данных, отсутствие ограничений и доступ к обширной сети серверов. Если вы активно пользуетесь интернетом и хотите обезопасить свои данные, платный VPN будет лучшим выбором для вас.

Почему стоит использовать платный VPN сервис?

  • Безопасность: Если вы цените свою конфиденциальность и безопасность в интернете, платный VPN предоставляет более высокий уровень защиты по сравнению с бесплатными альтернативами.
  • Надёжность: Платные VPN-сервисы обычно имеют лучшие показатели надёжности и скорости, что делает их более подходящими для стриминга видео, скачивания и онлайн-игр.
  • Без рекламы: Большинство платных сервисов не показывают рекламу, в отличие от бесплатных, которые могут зарабатывать на размещении рекламы.
  Gemini снова рисует людей: больше никаких чернокожих Пап Римских

Добавить комментарий

Вернуться наверх