Специалисты Juniper Threat Labs обнаружили новый метод обфускации JavaScript, использующий невидимые символы Unicode. Этот метод активно применялся в фишинговых атаках, направленных на филиалы Комитетов политического действия (Political Action Committee, PAC).
Обнаруженная исследователями атака произошла в начале января 2025 года и была весьма сложной. К примеру, атакующие располагали персональной непубличной информацией о своих жертвах и использовали рекурсивно обернутые Postmark ссылки для трекинга, чтобы скрыть конечные фишинговые адреса.
Техника обфускации, использованная в этих атаках, была впервые описана известным JavaScript-разработчиком Мартином Клеппом (Martin Kleppe) в октябре 2024 года. Отметим, что до этого Клепп приложил руку к созданию проекта JSFuck, которому мы посвятили отдельную статью.
Новая техника обфускации основывается на использовании невидимых символов Unicode, в частности полуширинного (U+FFA0) и полноширинного (U+3164) хангыля. В полезной нагрузке JavaScript каждый ASCII-символ преобразуется в 8-битное двоичное представление, а двоичные значения (единицы и нули) заменяются на невидимые символы хангыля.
В результате обфусцированный код хранится как свойство в объекте JavaScript, а поскольку символы-заполнители отображаются как пустое место, полезная нагрузка в скрипте тоже выглядит пустой. Такие атаки сложно обнаружить, поскольку пустоты снижают вероятность того, что защитные сканеры заметят угрозу.
Аналитики Juniper рассказывают, что короткий загрузочный скрипт извлекает скрытую полезную нагрузку с помощью ловушки JavaScript Proxy get(). При обращении к скрытому свойству прокси конвертирует невидимые символы-заполнители хангыля обратно в двоичный код и восстанавливает исходный JavaScript.
Кроме того, злоумышленники используют дополнительные методы для маскировки, в том числе кодирование скрипта в base64 и антиотладку для уклонения от анализа.
«Атаки были максимально персонализированными, включали непубличную информацию о жертвах, а исходный JavaScript старался вызвать точку останова отладчика, если его анализировали, проверял наличие задержки и прерывал атаку, перенаправляя цель на безобидный сайт», — пишут исследователи.
По данным Juniper, два домена, задействованных в этой кампании, ранее были связаны с фишинговым набором Tycoon 2FA. Если эта связь подтвердится, скорее всего, в будущем этот метод обфускации будет применяться хакерами более широко, предупредили эксперты.