Киберпреступники из КНДР, нацеленные на финансовую выгоду, продолжают совершенствовать свои методы атаки на специалистов из высокодоходных технологических секторов. Активная кампания, получившая название Contagious Interview, теперь включает в себя новый агрессивный вектор - манипуляцию расширением для браузера MetaMask с целью прямого хищения криптовалютных средств. Этот шаг знаменует собой переход от сбора конфиденциальных данных к непосредственному и автоматизированному опустошению кошельков жертв.
Описание
Суть угрозы и целевая аудитория
Кампания на протяжении нескольких лет целенаправленно затрагивает IT-специалистов, работающих в сферах криптовалют, Web3 и искусственного интеллекта. Злоумышленники, связываемые с северокорейскими группировками, маскируют вредоносное ПО под легитимные инструменты разработки, такие как пакеты для менеджера NPM или расширения для редактора VSCode. Классический сценарий заражения построен вокруг фиктивного процесса технического собеседования: соискателю предлагают выполнить тестовое задание, включающее установку и запуск специально подготовленного пакета с вредоносным кодом.
Эволюция вредоносного инструментария
Основу арсенала атакующих составляют два семейства вредоносных программ: BeaverTail и InvisibleFerret. Недавние изменения в цепочке заражения показывают, что злоумышленники не только регулярно обновляют эти инструменты, но и кардинально упростили начальную стадию атаки для избежания обнаружения. Первоначальный JavaScript-код, встроенный в поддельный NPM-пакет, теперь выполняет лишь три ключевые функции: отправляет сигнал об успешном заражении на управляющий сервер, получает закодированный адрес сервера для следующей стадии и загружает последующие полезные нагрузки. Эта минималистичная тактика снижает шансы на срабатывание сигнатурных систем обнаружения.
После выполнения начального скрипта система жертвы последовательно загружает несколько вредоносных модулей. Среди них - два дополнительных JavaScript-файла и Python-бэкдор InvisibleFerret, давно используемый в этой кампании. Один из JavaScript-компонентов выполняет функцию легковесного бэкдора, устанавливая постоянное TCP-соединение с командным сервером злоумышленников и ожидая инструкций. Второй модуль специализируется на поиске и эксфильтрации конфиденциальных файлов, целенаправленно сканируя систему на наличие данных, связанных с криптовалютами, паролями и ключами.
Новый вектор: компрометация MetaMask
Наиболее значимым нововведением стала команда "ssh_mmc", добавленная в легковесный бэкдор. По этой команде с сервера злоумышленников загружается специальный скрипт ("y.js"), задача которого - подмена легитимного расширения криптокошелька MetaMask на скомпрометированную версию. Процесс осуществляется через хирургическое изменение конфигурационных файлов браузера (Chromium, Brave).
Алгоритм атаки включает несколько шагов. Сначала скрипт находит установленный MetaMask в профилях браузера. Затем он загружает с сервера злоумышленников архив со взломанным расширением и динамически сгенерированный конфигурационный файл. Ключевым моментом является подмена значений MAC (кодов аутентификации сообщений) в файлах "Preferences" и "Secure Preferences" браузера. Chrome использует HMAC-SHA256 для проверки целостности настроек расширений. Подставляя корректно вычисленные злоумышленниками MAC-значения для настроек MetaMask, режима разработчика и всей структуры предпочтений, скрипт обходит встроенные механизмы защиты от несанкционированных изменений. После этого браузер перезапускается, и пользователь продолжает работу со взломанным расширением, внешне ничем не отличающимся от оригинала.
Механизм кражи средств
Внедренный в поддельный MetaMask вредоносный код минимален и точен. Он модифицирует всего две функции, добавляя около 15 строк. Основная логика встраивается в функцию "submitPassword()", отвечающую за разблокировку кошелька паролем. При успешном вводе мастер-пароля модифицированный код отправляет на командный сервер злоумышленников как сам пароль в открытом виде, так и зашифрованный файл хранилища (vault), содержащий сид-фразы и приватные ключи. Этой информации достаточно, чтобы атакующие могли в любой момент расшифровать данные в автономном режиме и получить полный контроль над всеми активами в кошельке жертвы.
Практические выводы и рекомендации
Данная кампания наглядно демонстрирует, как целевые атаки на сотрудников могут привести к прямым финансовым потерям, выходящим далеко за рамки утечки данных. Для специалистов по информационной безопасности и разработчиков в криптоиндустрии это служит серьезным предупреждением.
- Критически важно усилить проверку сторонних зависимостей. Установка пакетов из недоверенных источников, особенно в контексте найма или тестовых заданий, должна проводиться в изолированных средах, например, в одноразовых контейнерах или виртуальных машинах. В
- Необходимы технические меры контроля целостности. Решения класса EDR могут помочь выявить подозрительную активность, такую как модификация файлов браузера или необычные сетевые подключения со стороны процессов Node.js или Python.
- Для защиты криптоактивов стоит рассмотреть использование аппаратных кошельков, которые хранят приватные ключи в защищенном элементе и не подвержены риску компрометации через вредоносное расширение браузера. Наконец, регулярный аудит установленных расширений и их сравнение с хэшами официальных версий может помочь выявить подмену.
Эволюция кампании Contagious Interview показывает, что угрозы для криптосообщества становятся все более изощренными и автоматизированными. Вместо того чтобы просто искать файлы с ключами на диске, злоумышленники теперь активно внедряются в рабочий процесс, напрямую перехватывая критичные данные в момент их использования. Это требует от специалистов и компаний пересмотра подходов к безопасности, сочетающего технические меры защиты с повышением осведомленности о подобных социально-инженерных схемах.
Индикаторы компрометации
IPv4 Port Combinations
- 145.59.1.45:1244
- 147.124.202.163:1243
- 202.163.147.124:1248
- 45.43.11.200:1244
- 45.43.11.248:1244
- 66.235.168.238:1244
- 66.235.28.238:1249
- 67.203.7.205:1244
MD5
- 134102aa60f0a97a78a6299b35c30e69
- 1b39dfc0ef262baba95b58e3b8d81c8e
- 211d0fad75d20a032803e7cc0d277e09
- 3013d942ee75ee982f66d7d1021a759d
- 427bb906b72388381ed3d1ef22f0b3ad
- 6244da9940f50b9f51e3d85766cb1226
- 687b235572f3b35c0eb5c6c742862db4
- 6d3f1aeed4feca39cb5d53f59bf6d9a5
- 6da79a0ddb7c4923f834ba723f8aea6f
- 800ffb10a79370991c5c918f572fe192
- 8e6db10b5acc15c2cc54592e3dd49bf7
- 900b95205e414e04eacd0ba5dc4868a5
- 998cc427b2be37bd9dbb109bd1843366
- b18101a943a149cb1cbb3cac3b4f9f6c
- d423bf6b18662aed88ddd69c72b4e116
- d80a29cefae892d26567b14ba9ba21c6
- ddec84f075036f4afee55e708987b05a
- f55560735ae028745cf6c90488b07bd7
