Уязвимости MagicDot в Windows открывают дорогу руткитам

Уязвимости MagicDot в Windows открывают дорогу руткитам

Уязвимости MagicDot в Windows открывают дорогу руткитам

Некорректные DOS-пути в номенклатуре имен файлов в Windows могут быть использованы для сокрытия вредоносного содержимого, файлов и процессов. Исследователь из SafeBreach Ор Яир обозначил проблему, связанную с процессом преобразование DOS-пути в NT-формат в Windows.

Злоумышленники получают руткит-возможности для скрытия своих вредоносных действий, что представляет огромный риск для предприятий.

Ор Яир сделал акцент на четырёх уязвимостях, связанных с проблемой, которую исследователь назвал "MagicDot". Группа проблем MagicDot существует из-за того, что Windows заменяет пути DOS на пути NT.

Для того чтобы пользователь смог открыть файл или папку на своём компьютере, Windows использует путь, по которому существует файл. Таким путём обычно является путь DOS, который представлен в формате "C:\Users\User\Documents\example.txt". Однако для выполнения операции открытия файла используется другая базовая функция под названием NtCreateFile. Именно она запрашивает путь NT, а не DOS. Поэтому Windows преобразует привычный путь DOS, видимый пользователям, в путь NT, прежде чем вызвать NtCreateFile для выполнения операции.

В процессе преобразования путей, Windows автоматически удаляет все точки и лишние пробелы в DOS-пути, из-за чего и возникает проблема.

DOS-пути выглядят следующим образом:

  • C:\example\example.
  • C:\example\example…
  • C:\example\example<пробел>    

Все они преобразуются в "\??\C:\example\example" в качестве NT-пути.

Ор Яир указал, что автоматическое удаление символов даёт возможность киберпреступникам создавать специально разработанные пути DOS, которые будут преобразованы в NT-пути по их выбору для сокрытия вредоносного содержимого или действий либо для приведения файлов в негодность. 

Ряд техник постэксплуатации могут быть применены злоумышленниками из-за проблем “MagicDot”, которые позволят хакерам сохранить скрытность.

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

В ходе сессии Ор Яир добавил, что техника может быть использована для сокрытия файлов или каталогов внутри архивов. Достаточно лишь завершить имя файла в архиве точкой, чтобы Explorer не смог его просмотреть или извлечь.

Третий метод атаки предполагает маскировку вредоносного содержимого под законные пути к файлам.

Специалист пояснил, что при существовании безобидного файла под названием "benign" в каталоге, хакер, используя преобразование путей из DOS в NT, может там же создать вредоносный файл под таким же названием.

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

Исследователь сообщил, что данные манипуляции с путями MagicDot могут предоставить злоумышленникам руткит-способности без прав администратора и без вмешательства в цепочку вызовов API.

Киберпреступники получают возможность скрывать файлы и процессы, прятать файлы в архивах, влиять на анализ файлов с предварительной выборкой, заставлять пользователей диспетчера задач и Process Explorer думать, что файл зловреда является проверенным исполняемым файлом, опубликованным Microsoft, выводить из строя Process Explorer с помощью уязвимости отказа в обслуживании (DoS) и многое другое.

Ор Яир предупредил о значимости угрозы в мире кибербезопасности и напомнил о важности разработки методов и правил обнаружения непривилегированных руткитов.

Исследователь в области безопасности Ор Яир обнаружил в ходе своего исследования путей  "MagicDot" четыре различные уязвимости, связанные с основной проблемой. Три из них уже исправлены Microsoft.

С помощью уязвимости удаленного выполнения кода (RCE) (CVE-2023-36396, CVSS 7,8) в новой логике извлечения архивов Windows для всех новых поддерживаемых типов архивов злоумышленники создают вредоносный архив, который после извлечения записывается в любое место на удаленном компьютере, что приводит к выполнению кода.

В интервью Dark Reading Ор Яир рассказывает, что, например, пользователь скачивает архив с GitHub, который не является исполняемым файлом, и извлекает его, что считается совершенно безопасным действием. Но теперь само извлечение может запустить код на компьютере.

Следующий баг — это уязвимость повышения привилегий (EoP) (CVE-2023-32054, CVSS 7,3), которая позволяет злоумышленникам записывать в файлы без привилегий, манипулируя процессом восстановления предыдущей версии из теневой копии.

Третья уязвимость — это непривилегированный DOS для антианализа Process Explorer, для которого зарезервирован CVE-2023-42757.

Последний баг, относящийся к EoP, позволяет непривилегированным злоумышленникам удалять файлы. Компания Microsoft подтвердила, что такая уязвимость существует, но пока не исправила её.

Представленные исследователем уязвимости компания Microsoft устранила, но всё же автоматическое удаление точек и пробелов при преобразовании путей из DOS в NT сохраняется. А именно это и является первопричиной уязвимости.

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

Проблема актуальна не только для Microsoft, но и для всех производителей программного обеспечения.

Специалист порекомендовал разработчикам программного обеспечения использовать NT-пути вместо DOS, так как они позволяют избежать процесса преобразования и гарантируют, что предоставленный путь — это тот же путь, который используется на самом деле.

На предприятиях же отделам по безопасности следует разработать средства обнаружения неправомерных точек и пробелов в путях к файлам.

Android запретит доступ к экрану «лишним» приложениям

Google, похоже, готовит ещё одно нововведение по части безопасности Android. В тестовой сборке Android Canary 2602 обнаружена новая функция для Advanced Protection Mode — режима «максимальной защиты», который компания представила в Android 16.

Теперь Advanced Protection Mode может ограничивать работу приложений, использующих AccessibilityService API, если они не классифицированы как инструменты для доступности.

AccessibilityService API — это мощный механизм Android, изначально созданный для помощи людям с ограниченными физическими возможностями. С его помощью приложения могут читать содержимое экрана, отслеживать действия пользователя и даже выполнять жесты от его имени.

Именно поэтому этот API часто становился инструментом атакующих. За последние годы многие приложения — от автоматизаторов и лаунчеров до «оптимизаторов» и антивирусов — использовали его для обхода системных ограничений. Формально ради удобства, однако на деле получая очень широкие права.

Google постепенно ужесточала политику. Приложения, действительно предназначенные для помощи людям с ограниченными возможностями, должны указывать специальный атрибут isAccessibilityTool. К ним относятся экранные дикторы, системы управления жестами, голосовой ввод, брайлевские интерфейсы и другие специализированные инструменты.

По данным аналитиков, в новой версии Android Canary  при включении Advanced Protection Mode система:

  • запрещает выдавать разрешение Accessibility Service приложениям, не признанным Accessibility Tools;
  • автоматически отзывает уже выданные разрешения у таких приложений.

Если приложение сильно зависит от этого API, оно просто перестанет работать.

В тестах, например, приложение dynamicSpot (эмулирующее Dynamic Island на Android) становилось недоступным: пункт был с пометкой «Restricted by Advanced Protection». Причина простая: оно использует AccessibilityService для чтения уведомлений и отображения поверх других приложений.

Инструменты, официально классифицированные как средства доступности, под ограничения не попадают.

RSS: Новости на портале Anti-Malware.ru