Google нашёл 16 уязвимостей в ядре Windows при помощи фаззинга

Google нашёл 16 уязвимостей в ядре Windows при помощи фаззинга

Google нашёл 16 уязвимостей в ядре Windows при помощи фаззинга

Специалисты Google протестировали компонент ядра Windows и обнаружили в нём шестнадцать опасных уязвимостей. Впоследствии оказалось, что таким образом они, сами того не зная, перебежали дорогу Hacking Team. Хакеры знали об одной из этих уязвимостей и хотели выпустить эксплойт, но не успели.

Все уязвимости скрывались в подсистеме, которая отвечает за визуализацию шрифтов. В большинстве версий Windows она по историческим причинам включена в состав ядра. Это делает её изъяны особенно опасными. Рассказ об охоте на них, которую предпринял Google, опубликован в блоге Project Zero.

В растеризаторах шрифтов всегда полно уязвимостей, и не без причины. Во-первых, они, как правило, написаны на Си или Си++, а сложные программы на этих языках почти всегда подвержены ошибкам из-за переполнения буфера или нарушения безопасности памяти. Во-вторых, шрифты в форматах TrueType и OpenType могут содержать код, исполняемый в специальных виртуальных машинах. Это делает их настоящим кладом для хакеров, передает xakep.ru.

Специалисты Google занимались поиском уязвимостей в растеризаторе Windows с начала 2015 года. Он оказался непростым объектом для изучения. Его исходники, в отличие от исходников FreeType, недоступны, и даже отладочной информации во многих случаях нет. Задача усложняется тем, что код растеризатора исполняется на уровне ядра операционной системы.

В мае 2015 года в Google попробовали подвергнуть этот компонент фаззингу. Так называется метод автоматизированного поиска уязвимостей, при котором тестируемой программе скармливают неверные, неожиданные или случайные данные, а потом смотрят на её реакцию.

Идея оказалась продуктивной. 21 мая в течение одного дня Google выявил одиннадцать уязвимостей в растеризаторе шрифтов Windows. 18 августа тесты указали пару новых уязвимостй, а 22 декабря их список пополнился ещё тремя пунктами.

Десять из шестнадцати уязвимостей объяснялись ошибками, которые ведут к переполнению буфера. Одна уязвимость была связана с переполнением области, занимаемой стеком, а остальные оказались вызваны попытками растеризатора обратиться к неинициализированной или уже освобождённой памяти.

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

Пара уязвимостей, которые фаззинг выявил в самом начале тестирования, срабатывала от самых мизерных изменений в файлах с шрифтами. Позже в Google узнали, что их уже отыскали другие хакеры. Одну из уязвимостей обнаружили во время соревнования pwn2own в марте 2015 года, то есть за два месяца до Google. Другая упоминалась в архивах Hacking Team, похищенных в июле 2015 года.

Обо всех найденных дырах компания сообщала в Microsoft, и та не очень быстро, но всё же реагировала на жалобы. Первой была побеждена уязвимость, известная Hacking Team. Это произошло в прошлом июле. А последний пункт из списка Google был закрыт относительно недавно — 12 апреля 2016 года.

Под видом очистки macOS юзерам подсовывают команды для запуска инфостилеров

Microsoft описала новую волну ClickFix-атак, нацеленных на пользователей macOS. Злоумышленники публикуют фейковые инструкции по очистке диска, оптимизации хранилища и решению системных проблем. На деле эти советы сводятся к одному: убедить пользователя скопировать и вставить команду в Терминал.

После запуска такая команда не чинит систему, а скачивает и выполняет вредоносный скрипт.

В кампаниях используются инфостилеры Macsync, Shub Stealer и AMOS, перехватывающие пароли, данные iCloud, документы, содержимое связки ключей (Keychain), данные браузеров и криптокошельков.

Трюк работает за счёт социальной инженерии. Пользователь сам запускает команду, которая выглядит как лайфхак. Внутри она может быть закодирована в Base64, а затем через стандартные инструменты macOS — curl, base64, gunzip, osascript — загружает и выполняет удалённый код. При этом нет привычного установщика или приложения, которое можно было бы заметить в Finder.

 

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

Microsoft выделяет несколько вариантов кампании. В одном случае загрузчик на zsh проверяет систему, ищет признаки русской или СНГ-раскладки, а затем подтягивает AppleScript-инфостилер. Он собирает данные браузеров, Keychain, iCloud, документы и артефакты мессенджеров и криптокошельков, упаковывает их в архив и отправляет злоумышленникам.

 

В другом сценарии скрипт закрепляется в системе через LaunchAgent в ~/Library/LaunchAgent/, после чего пейлоад ищет активный C2-сервер и выполняет новые команды прямо в памяти. Ещё один вариант устанавливает вредоносный Mach-O-файл в /tmp, разворачивает скрытый бэкдор и LaunchDaemon, чтобы запускаться с повышенными правами после перезагрузки.

Особое внимание злоумышленники уделяют криптокошелькам. Вредоносные скрипты ищут Trezor Suite, Ledger, Exodus, Electrum и другие приложения. В некоторых случаях легитимные кошельки могут подменяться троянизированными версиями, внешне похожими на настоящие.

Для устойчивости вредоносные компоненты маскируются под обновления Google, например через поддельный GoogleUpdate и LaunchAgent с названием вроде com.google.keystone.agent.plist. Такой канал позволяет не только украсть данные сразу, но и сохранить удалённый доступ к системе.

Apple уже обновила сигнатуры XProtect, а начиная с macOS 26.4 добавила защиту от вставки подозрительных команд в Терминал.

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