В прошлом году в популярной программе для виртуализации Parallels Desktop для Mac OS на базе процессоров Intel была найдена уязвимость CVE-2024-34331, позволяющая запускать вредоносные файлы с высокими привилегиями.
Уязвимость связана с отсутствием проверки подписи в ходе выполнения сценария repack_osx_install_app.sh. Это даёт возможность атакующему запустить утилиту createinstallmedia с правами root без проверки принадлежности файла к дистрибутиву macOS.
Компания-производитель несколько раз патчила эту дыру, но потом оказывалось, что исправления можно обойти – и снова эксплуатировать. И не исключено, что в вашем софте от Parallels такая возможность до сих пор есть.
Подробности о том, в чём состоит уязвимость CVE-2024-34331 и почему её не смогли исправить сразу – читайте в
новой статье Дмитрия Лифанова. А мы здесь процитируем только выводы: как ловить такую атаку в вашей инфраструктуре? Нужно отслеживать:
– Попытки открытия файлов через консоль с использованием Parallels Desktop. Команда может выглядеть, например, так: “open /tmp/proof.app -a /Applications/Parallels Desktop.app”. Таким способом атакующий может вызвать сценарии переупаковки, не дожидаясь легитимного запуска от пользователя.
– Создание символьных ссылок на объекты, расположенные в пользовательских каталогах и tmp-каталогах.
– Действия над файлами createinstallmedia, boot.efi, systemversion.plist, platfromsupport.plist и basesystem.dmg, которые не связаны с дистрибутивом macOS Install OS X и самой системой.
– Активности, связанные с использованием переменных DYLD_* с целью загрузки подозрительных динамических библиотек. В частности, DYLD_INSERT_LIBRARIES позволяет произвести загрузку динамической библиотеки в процессе выполнения приложения, а DYLD_LIBRARY_PATH позволяет переопределить путь поиска динамических библиотек.
– Загрузку подозрительных динамических библиотек в процесс, например, с использованием события ESF ES_EVENT_TYPE_NOTIFY_MMAP.
– Создание директорий и файлов в них, содержащих в пути .app, похожих на приложение и его контент, но расположенных в нетиповых локациях для приложений и пакетов.