Уязвимость Windows «MagicDot» допускает непривилегированную активность руткитов

Уязвимость Windows «MagicDot» допускает непривилегированную активность руткитов

Уязвимость Windows «MagicDot» допускает непривилегированную активность руткитов. Анализ данных PlatoBlockchain. Вертикальный поиск. Ай.

BLACK HAT ASIA – Сингапур – Известная проблема, связанная с процессом преобразования пути DOS в NT в Windows, создает значительный риск для бизнеса, позволяя злоумышленникам получить возможности пост-эксплуатации, подобные руткитам, для сокрытия и выдачи себя за файлы, каталоги и процессы.

Так утверждает Ор Яир, исследователь безопасности из SafeBreach, который изложил проблему во время сессии на этой неделе. Он также подробно рассказал о четырех различных уязвимостях, связанных с этой проблемой. получивший название «MagicDot»» – включая опасную ошибку удаленного выполнения кода, которую можно вызвать, просто распаковав архив.

Точки и пробелы при преобразовании пути DOS в NT

Группа проблем MagicDot существует из-за того, что Windows меняет пути DOS на пути NT.

Когда пользователи открывают файлы или папки на своих компьютерах, Windows делает это, ссылаясь на путь, по которому существует файл; обычно это путь DOS в формате «C:UsersUserDocumentsexample.txt». Однако для фактического выполнения операции открытия файла используется другая базовая функция, называемая NtCreateFile, и NtCreateFile запрашивает путь NT, а не путь DOS. Таким образом, Windows преобразует знакомый путь DOS, видимый пользователям, в путь NT перед вызовом NtCreateFile для разрешения операции.

Проблема, которую можно использовать, заключается в том, что во время процесса преобразования Windows автоматически удаляет все точки из пути DOS вместе со всеми дополнительными пробелами в конце. Таким образом, пути DOS такие:

  • C:примерпример.   

  • C:примерпример… 

  • C:примерпример    

все они преобразуются в «??C:exampleexample» как путь NT.

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

Имитация непривилегированного руткита

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

Например, можно заблокировать вредоносный контент и запретить пользователям, даже администраторам, изучать его. «Поставив простую точку в конце имени вредоносного файла или назвав файл или каталог только точками и/или пробелами, я мог бы сделать все программы пользовательского пространства, использующие обычный API, недоступными для них… пользователи не иметь возможности читать, писать, удалять или делать с ними что-либо еще», — объяснил Яир во время сеанса.

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

«Я просто закончил имя файла в архиве точкой, чтобы Explorer не смог его просмотреть или извлечь», — сказал Яир. «В результате мне удалось поместить вредоносный файл в невинный zip-архив — тот, кто использовал Explorer для просмотра и извлечения содержимого архива, не смог увидеть, что этот файл существует внутри».

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

«Если существовал безобидный файл под названием «безопасный», я мог [использовать преобразование пути DOS в NT] для создания вредоносного файла в том же каталоге [также называемого] безопасным», — объяснил он, добавив, что тот же подход может использоваться для олицетворения папок и даже более широких процессов Windows. «В результате, когда пользователь читает вредоносный файл, вместо него будет возвращено содержимое исходного безобидного файла», в результате чего жертва не поймет, что на самом деле она открывает вредоносный контент.

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

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

«Важно, чтобы сообщество кибербезопасности осознало этот риск и рассмотрело возможность разработки методов и правил обнаружения непривилегированных руткитов», — предупредил он.

Серия уязвимостей MagicDot

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

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

«По сути, допустим, вы загружаете архив на свой Репозиторий GitHub рекламируя его как крутой инструмент, доступный для скачивания», — рассказывает Яир Dark Reading. «И когда пользователь загружает его, это не исполняемый файл, вы просто извлекаете архив, что считается абсолютно безопасным действием без каких-либо угроз безопасности. Но теперь само извлечение может запускать код на вашем компьютере, а это серьезно неправильно и очень опасно».

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

Третья ошибка — это непривилегированная DOS Process Explorer для ошибки антианализа, для которой зарезервирован CVE-2023-42757, подробности будут позже. И четвертая ошибка, также проблема EoP, позволяет непривилегированным злоумышленникам удалять файлы. Microsoft подтвердила, что уязвимость привела к «неожиданному поведению», но еще не выпустила CVE или исправление для нее.

«Я создаю папку внутри папки demo под названием… а внутри я пишу файл с именем c.txt», — объяснил Яир. «Затем, когда администратор попытается удалить… вместо этого удаляется вся демонстрационная папка».

Потенциально более широкие последствия «MagicDot»

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

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

Он добавляет, что проблема имеет последствия и за пределами Microsoft.

«Мы считаем, что последствия актуальны не только для Microsoft Windows, которая является наиболее широко используемой настольной ОС в мире, но и для всех поставщиков программного обеспечения, большинство из которых также позволяют известным проблемам сохраняться от версии к версии своего программного обеспечения», — предупредил он. в его презентации.

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

«Большинство вызовов API высокого уровня в Windows поддерживают пути NT», — сказал Яир в своей презентации. «Использование путей NT позволяет избежать процесса преобразования и гарантирует, что предоставленный путь является тем же путем, который фактически используется».

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

«Для этого можно разработать довольно простые средства обнаружения — искать файлы или каталоги, в которых есть конечные точки или пробелы, потому что, если вы обнаружите их на своем компьютере, это означает, что кто-то сделал это намеренно, потому что это не так. это легко сделать», — рассказывает Яир Dark Reading. «Обычные пользователи не могут просто создать файл, заканчивающийся точкой или пробелом, Microsoft предотвратит это. Злоумышленникам придется использовать нижний API это ближе к ядру, и для этого потребуется некоторый опыт».

Отметка времени:

Больше от Темное чтение