Категория > Новости > Неизвестные злоумышленники случайно раскрыли данные о двух 0-day уязвимостях - «Новости»
Неизвестные злоумышленники случайно раскрыли данные о двух 0-day уязвимостях - «Новости»17-05-2018, 16:00. Автор: Алевтина |
Неизвестные хакеры случайно оповестили специалистов о существовании двух уязвимостей нулевого дня в продуктах Adobe и Microsoft (Adobe Reader и Microsoft Windows), загрузив вредоносный файл PDF в публичный сканер малвари. На уязвимости обратили внимание эксперты компании ESET, которые и сообщили производителям о происходящем. Необычный PDF-файл (образцы 1 и 2), загруженный в публичный сервис для сканирования вредоносных программ, привлек внимание специалистов в конце марта 2018. Изучив образец, эксперты установили, что в нем используются сразу две 0-day бреши: уязвимость удаленного выполнения кода в Adobe Reader и уязвимость повышения привилегий в Microsoft Windows. Сочетание двух этих уязвимостей позволяло злоумышленникам выполнять произвольный код на компьютере жертвы с максимальными привилегиями и минимальным необходимым участием пользователя. В своем отчете специалисты отмечают, что файлы PDF нередко используют для распространения вредоносного ПО. Чтобы выполнить вредоносный код на компьютере жертвы, атакующие ищут и используют уязвимости в программах для просмотра PDF, в частности, в Adobe Reader. При этом в Adobe Reader внедрена песочница Protected Mode, которая изрядно усложняет задачу злоумышленников. В итоге, чтобы обойти защиту, атакующие стараются обнаружить и использовать уязвимости в самой операционной системе. В данном случае злоумышленники нашли уязвимости и написали эксплоиты как для Adobe Reader, так и для операционной системы. Аналитики отмечают, что это сравнительно редкий случай, иллюстрирующий высокую квалификацию авторов. Подобные сочетания инструментов чаще используют АРТ-группы, например, в кампании Sednit в прошлом году. Чтобы «двойная уязвимость» сработала, пользователю было достаточно открыть вредоносный PDF-файл на компьютере с уязвимой версией Adobe Reader и Windows. В основе ранее неизвестной уязвимости в Windows лежит функция NtUserSetImeInfoEx компонента ядра Windows win32k. В частности, SetImeInfoEx, подпрограмма NtUserSetImeInfoEx, не проверяет указатель данных, позволяя разыменовать нулевой (NULL) указатель. Как видно на иллюстрации, функция SetImeInfoEx ожидает указатель на инициализированный объект WINDOWSTATION в качестве первого аргумента. SpklList может быть равен нулю, если атакующий создает новый объект WS и присваивает его текущему процессу в пользовательском режиме. Таким образом, маппинг нулевой страницы и установка указателя на смещение (offset) 0x2C позволяет злоумышленникам использовать уязвимость для записи на произвольный адрес в пространстве ядра. Стоит отметить, что, начиная с Windows 8, пользовательский процесс не может преобразовать данные нулевой страницы. Поскольку у атакующих есть произвольный пишущий примитив, они могут использовать различные техники. Но в данном случае злоумышленники выбрали технику, описанную Ivanlef0u, а также Mateusz «j00ru» Jurczyk и Gynvael Coldwin. Они устанавливают шлюз вызова в Ring 0, перезаписав глобальную таблицу дескрипторов (GDT). Для этого злоумышленники получают адрес исходной GDT, используя инструкции по сборке SGDT, создают собственную таблицу и затем перезаписывают оригинал с использованием упомянутой уязвимости. Затем эксплойт использует команду CALL FAR для вызова уровня привилегий. Когда код выполняется в режиме ядра, эксплойт заменяет токен текущего процесса системным токеном. Что касается бага в Adobe Reader, во вредоносный PDF-файл был встроен jаvascript-код, управляющий процессом эксплуатации. Код выполнялся после открытия файла. В начале процесса эксплуатации jаvascript-код манипулирует объектом Button1. Объект содержит специально созданное изображение JPEG2000, которое запускает двойную уязвимость. jаvascript использует технику heap-spraying, чтобы нарушить внутренние структуры данных. После этих манипуляций атакующие достигают главной цели – доступ к памяти с правами на чтение и запись. Используя два примитива, атакующие находит адрес памяти плагина EScript.api, являющийся движком Adobe jаvascript. Используя ROP гаджеты из этого модуля, вредоносный jаvascript устанавливает ROP цепочку, которая приведет к выполнению нативного шеллкода. В качестве последнего шага, шеллкод инициализирует PE файл, встроенный в PDF, и передает ему выполнение. Стоит сказать, что образец PDF, обнаруженный специалистами ESET, не содержал финальной полезной нагрузки. Вероятно, экспертам удалось обнаружить образец на ранних этапах разработки и принять меры, связавшись с Microsoft Security Response Center, командами Windows Defender ATP и Adobe Product Security Incident Response Team для закрытия уязвимостей. Патчи и рекомендации Adobe и Microsoft доступны по следующим ссылкам:
Уязвимостям подвержены следующие продукты:
Перейти обратно к новости |