Исследователи безопасности обнаружили крупномасштабную вредоносную операцию, которая использует троянские приложения мобильных криптовалютных кошельков для сервисов Coinbase, MetaMask, TokenPocket и imToken.
Вредоносная активность была выявлена в начале этого года в марте. Исследователи из Confiant назвали этот кластер активности SeaFlower и описали его как «самую технически сложную угрозу, нацеленную на пользователей web3, сразу после печально известной Lazarus Group».
В недавнем отчете Confiant отмечает, что вредоносные криптовалютные приложения идентичны реальным, но они поставляются с бэкдором, который может украсть фразу безопасности пользователей для доступа к цифровым активам.
Субъектами угроз, стоящими за деятельностью SeaFlower, по-видимому, являются граждане Китая. Данные вывод исследователи сделали, изучив комментарии в исходном коде, а так же расположение инфраструктуры, используемые фреймворки и сервисы.
Распространение приложений
Первым шагом в операции SeaFlower является распространение троянских приложений среди как можно большего числа пользователей. Злоумышленник достигает этого с помощью клонов легальных веб-сайтов, отравления SEO и черных методов SEO.
Также возможно, что приложения продвигаются на каналах социальных сетей, форумах и с помощью вредоносной рекламы (malvertising), но основным каналом распространения, который заметил Confiant, являются поисковые сервисы.
Исследователи обнаружили, что результаты поиска с движка Baidu больше всего влияют на операцию SeaFlower, направляя огромное количество трафика на вредоносные сайты.
В iOS сайты злоупотребляют профилями подготовки, чтобы загрузить неопубликованные приложения на устройстве для обхода защиты безопасности.
Профили подготовки (Distribution Provisioning Profile) используются для привязки разработчиков и устройств к авторизованной группе разработчиков. Они позволяют использовать устройства для тестирования кода приложений, что делает их мощным методом добавления вредоносных приложений на устройство.
Бэкдор-приложения
Аналитики Confiant "вывернули на изнанку" исходный код приложений, чтобы выяснить, как авторы SeaFlower установили в них бэкдоры и нашли во всех из них похожий код.
Для приложения MetaMask на iOS бэкдор-код активируется при генерации начальной фразы и перед ее сохранением в зашифрованном виде. Это означает, что злоумышленник перехватывает парольную фразу при создании нового кошелька или при добавлении существующего в недавно установленное приложение.
Одна из идентифицированных функций в бэкдор-коде, «startupload», отвечает за кражу начальной фразы и отправку ее в домены, которые имитируют домены легальных поставщиков.
Например, злоумышленник использовал запросы POST для эксфильтрации парольных фраз в 'trx.lnfura[.] org' - которая олицетворяет подлинное «infura.io». Точно так же они использовали «metanast».] cc', имитирующий оригинальный домен MetaMask.
Класс, скрывающий функции, запутывается с помощью алгоритма кодирования base64 и шифруется с помощью криптосистемы RSA. Однако ключи жестко закодированы, поэтому аналитики могут расшифровать бэкдор, протестировать код и проверить его во время выполнения.
Бэкдор-код не был так старательно скрыт во вредоносных приложениях android-вариантов, и исследователи могли получить доступ к большему количеству их функций без особых усилий.
Особенно интересным аспектом в обнаруженном бэкдоре является внедрение React Native Bundle непосредственно в экземпляр RCTBridge для загрузки JavaScript.
Ссылаясь на этот вывод, Таха Карим, директор по разведке киберугроз в Confiant, рассказал следующее :
Внедрение нативных пакетов react определенно является чем-то новым в мире бэкдоров, это связано с тем, что метамаска является нативным приложением react. Злоумышленники потратили время на обратный инжиниринг нативного моста React и поняли, как и где загружаются связки.
Они добавили настройку логотипов, чтобы заставить пакет бэкдоров загружаться во время выполнения и выполнять его с помощью javascriptcore. Пакет поставлялся RSA зашифрованным и скрытым внутри файла dylib, который также внедряется во время выполнения.
Надежные источники
Чтобы защититься от этих угроз, пользователи криптовалютных кошельков должны загружать приложения только из надежных источников, таких как официальные магазины приложений или с веб-сайта разработчика.
Для пользователей iOS установка или принятие профилей подготовки без проверки легитимности запросов не допустима, поскольку они позволяют устанавливать любое приложение на системах iOS или macOS.