Уязвимости 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, так как они позволяют избежать процесса преобразования и гарантируют, что предоставленный путь — это тот же путь, который используется на самом деле.

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

Популярная библиотека Axios оказалась заражена трояном через npm

Популярная JavaScript-библиотека Axios оказалась жертвой атаки на цепочку поставок: злоумышленник скомпрометировал npm-аккаунт одного из ведущих мейнтейнеров и через него опубликовал две вредоносные версии пакета — axios@1.14.1 и axios@0.30.4.

По данным исследователей, обе сборки распространяли скрытый троян для macOS, Windows и Linux. Axios при этом остаётся одной из самых популярных библиотек в экосистеме npm — её скачивают примерно 100 млн раз в неделю.

В заражённые версии Axios добавили всего одну новую зависимость — plain-crypto-js@4.2.1, замаскированную под легитимную библиотеку crypto-js. При этом в исходном коде Axios эта зависимость никак не использовалась: её задачей был запуск postinstall-скрипта, который связывался с управляющим сервером, скачивал вредоносную нагрузку под конкретную ОС и затем зачищал следы своей работы.

Атака развивалась поэтапно. Сначала в npm загрузили «чистую» приманку plain-crypto-js, чтобы создать историю публикаций, а затем — уже заражённую версию. После этого через взломанный аккаунт мейнтейнера были опубликованы две вредоносные версии Axios — сначала для ветки 1.x, а затем для старой, но всё ещё популярной ветки 0.x. То есть атакующий накрыл сразу оба основных сценария использования библиотеки.

Согласно анализу, вредоносный код начинал сетевую активность почти сразу после установки пакета. На macOS троян маскировался под системный процесс Apple, на Windows использовал PowerShell и скрытый скрипт, а на Linux разворачивал Python-бэкдор во временной директории. После этого вредоносный модуль удалял собственные файлы и подменял их «чистой» заглушкой, чтобы при поверхностной проверке установленный пакет не вызывал подозрений.

Вредоносные версии, по имеющимся данным, оставались доступными в npm примерно два-три часа, после чего их удалили, а пакет plain-crypto-js попал под блокировку. При этом заражённые релизы не появились среди тегов GitHub-репозитория Axios, что указывает на публикацию напрямую в npm в обход обычного CI/CD-пайплайна проекта.

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