Найдены вредоносные пакеты для кражи криптовалюты в репозитории PyPI
8 ноября 2022 года
В каталоге PyPI (Python Package Index) выявлено 26 вредоносных пакетов, содержащих в скрипте setup.py обфусцированный код, определяющий наличие идентификаторов криптокошельков в буфере обмена и меняющий их на кошелёк злоумышленника (предполагается, что при совершении оплаты жертва не заметит, что перенесённый через буфер обмена номер кошелька отличается).
Подмену выполняет сценарий JavaScript, который после установки вредоносного пакета встраивается в браузер в форме браузерного дополнения, которое выполняется в контексте каждой просматриваемой web-страницы. Процесс установки дополнения привязан к платформе Windows и реализован для браузеров Chrome, Edge и Brave. Поддерживается подмена кошельков для криптовалют ETH, BTC, BNB, LTC и TRX.
Вредоносные пакеты маскируются в каталоге PyPI под некоторые популярные библиотеки при помощи тайпсквотинга (назначение похожих имён, отличающихся отдельными символами, например, exampl вместо example, djangoo вместо django, pyhton вместо python и т. п.). Так как создаваемые клоны полностью повторяют легитимные библиотеки, отличаясь только вредоносной вставкой, злоумышленники рассчитывают на невнимательных пользователей, совершивших опечатку и не заметивших отличий в названии при поиске. С учётом популярности исходных легитимных библиотек (число загрузок превышает 21 млн копий в день), под которые маскируются вредоносные клоны, вероятность поймать жертву достаточно велика, например, через час после публикации первого вредоносного пакета его успели загрузить более 100 раз.
Примечательно, что неделю назад та же группа исследователей выявила в PyPI 30 других вредоносных пакетов, некоторые из которых также маскировались под популярных библиотеки. За время атаки, которая продолжалась около двух недель, вредоносные пакеты были загружены 5700 раз. Вместо скрипта для замены криптокошельков в указанных пакетах использовался типовой компонент W4SP-Stealer, обеспечивающий поиск на локальной системе сохранённых паролей, ключей доступа, криптокошельков, токенов, сессионных Cookie и другой конфиденциальной информации, и отправку найденных файлов через Discord.
Вызов W4SP-Stealer осуществлялся через подстановку выражения «__import__» в файлы setup.py или __init__.py, которое было отделено большим числом пробелов, чтобы вывести вызов __import__ за пределы видимой области в текстовом редакторе. В блоке «__import__» выполнялось декодирование блока в формате Base64 и его запись во временный файл. Блок содержал скрипт для загрузки и установки в системе W4SP Stealer. Вместо выражения «__import__» подключение вредоносного блока в некоторых пакетах осуществлялось через установку дополнительного пакета при помощи вызова «pip install» из скрипта setup.py.
Выявленные вредоносные пакеты, подменяющие номера криптокошельков:
|
Выявленные вредоносные пакеты, отправляющие конфиденциальные данные из системы:
|
Источники
правитьКомментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.