Графика с сюрпризом: когда векторы скрывают вредоносный код

Ещё в группе «Общее»
- Операция Chewbacca
В конце июня команда PT ESC в ходе расследования инцидентов обнаружила новую группу, нацеленную как минимум…
- Din, din — кто там?
Din, din — кто там? 🔔 Группа киберразведки экспертного центра безопасности Positive Technologies обнаружила новую группировку,…
- Enterprise-grade validation system with schema support
Enterprise-grade validation system with schema support (c) Автор десятка троянов, забывший добавить "Enterprise-grade" обфускацию Мы обнаружили…
- Минус один пернатый вор — плюс сто очков рейтинга!
Минус один пернатый вор — плюс сто очков рейтинга! 😵 Команда Threat Intelligence экспертного центра безопасности…
- DragonDoll: матрешка в мире Android-шпионов
DragonDoll: матрешка в мире Android-шпионов 🪆 В начале этой весны специалисты PT ESC обнаружили неизвестный ранее…
Графика с сюрпризом: когда векторы скрывают вредоносный код 🤨
В этом посте мы рассмотрим пример фишингового электронного письма, в котором вредоносный контент доставлялся через SVG-файл. Ранее о таком способе обхода средств защиты информации писали здесь, но сейчас мы более подробно рассмотрим, как это работает. Наши наблюдения за последние недели показали, что половина вредоносных писем с HTML-подобными вложениями содержат именно SVG-файл.
Фишинговое письмо 🥳
Почтовый образец достаточно скромный: отправлялся от почтового ящика из сервиса GMX, поддерживающего свободную регистрацию; в теме содержал информацию о поступлении квитанции об оплате; тело письма было пустым, а вредоносный SVG-файл был единственным вложением (скриншот 1).
SVG-файл 😱
Начало файла имеет достаточно обычную SVG-верстку с метаданными, а само тело «изображения» представляет собой загрузку HTML-контента через вызов <foreignObject> (скриншот 2).
Примечание: элемент <foreignObject> в SVG используется для подгрузки других XML-объектов в изображение, в том числе HTML. Подгрузка последнего позволяет наполнить изображение «фишками» HTML, такими как интерактивные объекты или динамический контент.
Заранее стоит отметить, что анализируемый образец при открытии не отображается как изображение, а загружаемый им скрипт содержит элементы управления вкладками браузера и редиректами.
Внутри блока символьных данных (<![CDATA[ ... ]]>) определяется константа, волатильная в зависимости от адресата электронного письма. Такой подход позволяет не менять непосредственно код JS-скрипта, встраивая его одинаковым Base64-блоком в элемент <script src=>.
JS-скрипт 🐈⬛️
Подгружаемый скрипт, естественно, обфусцирован, а также наполнен довольно приличным скопом бессмысленных комментариев.
Конфигурация скрипта содержит блоки Base64-данных, но просто декодировав их информацию не получить (скриншот 3).
Далее по скрипту находится функция декодирования и дешифрования данных из конфига, а также запуска блока кода из дешифрованных данных. Его вывод представляет собой JSON-конфиг, а ключ code уже содержит URL-адрес вредоносной страницы (скриншот 4).
В нем мы также видим запрос значения переменной huqe из предыдущего пункта и его подстановку за «якорем» в формируемую URL-ссылку — достаточно известная техника проброса email-адреса получателя в форму сбора учетных записей.
Запуск функций в скрипте осуществляется через window.addEventListener("DOMContentLoaded", script_function()), но с учетом того, что никакого DOM скрипт не содержит: сразу запускается код из JSON-ключа code, возвращаемого из функции дешифрования.
window.location.assign() запускает редирект на URL-адрес из его параметров. Это говорит о том, что непосредственные манипуляции с пользователем осуществляются уже на отдельной веб-странице, а не внутри SVG-изображения.
Советы ☕️
Тщательно проверяйте средствами защиты информации поступающие к пользователям образцы SVG-изображений: для них вполне могут подойти признаковые паттерны, используемые для анализа HTML-страниц и другого XML-контента.



#phishing #detect #tip #news
@ptescalator
Ещё в группе «Общее»
- Операция Chewbacca
В конце июня команда PT ESC в ходе расследования инцидентов обнаружила новую группу, нацеленную как минимум…
- Din, din — кто там?
Din, din — кто там? 🔔 Группа киберразведки экспертного центра безопасности Positive Technologies обнаружила новую группировку,…
- Enterprise-grade validation system with schema support
Enterprise-grade validation system with schema support (c) Автор десятка троянов, забывший добавить "Enterprise-grade" обфускацию Мы обнаружили…
- Минус один пернатый вор — плюс сто очков рейтинга!
Минус один пернатый вор — плюс сто очков рейтинга! 😵 Команда Threat Intelligence экспертного центра безопасности…
- DragonDoll: матрешка в мире Android-шпионов
DragonDoll: матрешка в мире Android-шпионов 🪆 В начале этой весны специалисты PT ESC обнаружили неизвестный ранее…







