Спам и фишинг

Использование HTML-вложений в фишинговых письмах

Использование вложенных HTML-документов в фишинговых рассылках — один из стандартных приемов злоумышленников. Он позволяет мошенникам не вставлять в тело письма ссылки, которые, как правило, легко детектируются антиспам-движками и почтовыми антивирусами. HTML дает больше возможностей замаскировать фишинговый контент, чем само письмо.

Есть два основных типа HTML-вложений, которые используют злоумышленники: HTML-файлы со ссылкой на мошеннический сайт или полноценные фишинговые страницы. В первом случае злоумышленники могут не только прятать ссылку в файл, но и автоматически перенаправлять пользователя на мошеннический сайт при открытии этого файла. Второй тип HTML-вложений позволяет обходиться без сайтов и экономить на оплате хостинга: фишинговая форма и скрипт, собирающий данные, содержатся непосредственно во вложении. К тому же HTML-файл, как и письмо, можно изменять в зависимости от предполагаемой жертвы и вектора атаки, добиваясь более точной персонализации фишингового контента.

Рис. 1. Пример письма с HTML-вложением

Рис. 1. Пример письма с HTML-вложением

Как устроены фишинговые HTML-вложения

Обычно фишинговые элементы в HTML-вложениях реализованы с помощью JavaScript, который и отвечает за перенаправление пользователя на фишинговый сайт или сбор и отправку учетных данных мошенникам.

Рис. 2. Фишинговая HTML-страница и ее исходный код

Рис. 2. Фишинговая HTML-страница и ее исходный код

Чаще всего в качестве адреса, на который HTML-страница отправляет данные, злоумышленники используют вредоносный сайт, URL которого прописан в скрипте. Некоторые вложения целиком или почти целиком состоят из JS-скрипта.

В исходном коде письма HTML-вложение выглядит как обычный текст, закодированный, как правило, в base64.

Рис. 3. Вид HTML-вложения в исходном коде письма

Рис. 3. Вид HTML-вложения в исходном коде письма

Если в файле присутствуют вредоносные скрипты или ссылки в виде простого текста, защитному ПО ничто не мешает быстро его распарсить и заблокировать. Чтобы избежать блокировки, злоумышленники прибегают к различным трюкам.

JavaScript-обфускация

JavaScript-обфускация — один из самых популярных приемов для зашумления HTML-вложений. Чтобы URL в файле нельзя было идентифицировать и быстро заблокировать, фишеры сильно искажают и зашумляют либо непосредственно фишинговую ссылку, либо скрипт целиком, а иногда и весь HTML-файл. В некоторых случаях злоумышленники обфусцируют код вручную, но часто они используют готовые инструменты, которых довольно много в открытом доступе, например JavaScript Obfuscator.

Если открыть в текстовом редакторе HTML-вложение из фишингового письма от имени банка HSBC, приведенного на рис. 1, то мы увидим довольно запутанный JS-код, в котором, казалось бы, нет и намека ни на открытие ссылки, ни на другое осмысленное действие.

Рис. 4. Пример обфускации в HTML-вложении

Рис. 4. Пример обфускации в HTML-вложении

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

Рис. 5. Деобфусцированный скрипт из вложения в письме от имени банка HSBC: ссылка для перенаправления пользователя на фишинговый сайт

Рис. 5. Деобфусцированный скрипт из вложения в письме от имени банка HSBC: ссылка для перенаправления пользователя на фишинговый сайт

Если скрипт, ссылка или HTML-страница обфусцированы вручную, восстановить исходный код значительно сложнее. Чтобы обнаружить фишинговый контент в таком файле, может потребоваться динамический анализ — запуск и отладка кода.

Кодирование

Иногда злоумышленники используют и более интересные методы. В одном из фишинговых писем нам попалось необычное HTML-вложение. В нем, как и в примере выше, использовался JavaScript. Поскольку код был очень компактным, можно было подумать, что он делает примерно то же, что и код в поддельном письме от HSBC — перенаправляет пользователя на фишинговый сайт. Но при его запуске выяснилось, что в этом маленьком скрипте закодирована полноценная фишинговая страница.

Рис. 6. HTML-файл с использованием метода unescape() — исходный код файла содержит всего пять строк, включая пустую

Рис. 6. HTML-файл с использованием метода unescape() — исходный код файла содержит всего пять строк, включая пустую

Рис. 7. Фишинговая страница в HTML-вложении

Рис. 7. Фишинговая страница в HTML-вложении

Трюк, который используют злоумышленники, весьма интересен — они прибегли к устаревшему JS-методу unescape(). При передаче ему последовательности символов %xx она заменяется на эквивалент из кодировки ASCII. Если запустить скрипт и посмотреть на исходный код получившейся страницы, то мы увидим обычный HTML.

Рис. 8.

Рис. 8. «Декодированный» HTML-файл

Сейчас вместо unescape() в JavaScript используются методы decodeURI() и decodeURIComponent(), но большинство современных браузеров до сих пор поддерживают unescape(). Мы не можем сказать наверняка, почему злоумышленники обратились именно к устаревшему методу, однако это может быть связано с тем, что современные методы с большей вероятностью интерпретируются и детектируются антиспам-движками.

Статистика

За первые четыре месяца 2022 года защитные решения «Лаборатории Касперского» обнаружили почти 2 миллиона писем, содержащих вредоносные HTML-вложения. Чуть менее половины из них были выявлены и заблокированы в марте — 851 328 писем. Январь был самым тихим месяцем, за который наши антиспам-решения обнаружили 299 859 писем с фишинговыми HTML-вложениями.

Количество обнаруженных писем с вредоносными HTML-вложениями, январь — апрель 2022 г. (скачать)

Заключение

Фишеры используют различные уловки, чтобы избежать блокировки рассылок и заманить на мошенническую страницу как можно больше пользователей. HTML-вложения с частично или полностью обфусцированным кодом — один из распространенных их приемов. HTML-файлы позволяют злоумышленникам использовать скрипты, обфусцировать вредоносный контент, чтобы затруднить его обнаружение, и рассылать фишинговую страницу в виде вложения, а не ссылки.

Защитные решения «Лаборатории Касперского» детектируют HTML-вложения, содержащие скрипты, вне зависимости от степени обфускации кода.

Использование HTML-вложений в фишинговых письмах

Ваш e-mail не будет опубликован. Обязательные поля помечены *

 

Отчеты

StripedFly: двуликий и незаметный

Разбираем фреймворк StripedFly для целевых атак, использовавший собственную версию эксплойта EternalBlue и успешно прикрывавшийся майнером.

Азиатские APT-группировки: тактики, техники и процедуры

Делимся с сообществом подходами, которые используют азиатские APT-группировки при взломе инфраструктуры, и подробной информацией о тактиках, техниках и процедурах (TTPs) злоумышленников, основанной на методологии MITRE ATT&CK.

Как поймать «Триангуляцию»

Эксперты «Лаборатории Касперского» смогли получить все этапы «Операции Триангуляция»: эксплойты нулевого дня для iOS, валидаторы, имплант TriangleDB и дополнительные модули.

Подпишитесь на еженедельную рассылку

Самая актуальная аналитика – в вашем почтовом ящике