Аналитики компании Checkmarx сообщили, что после загрузки вредоносного клона популярной утилиты Colorama несколько Python-разработчиков, включая сопровождающего Top.gg, оказались заражены малварью, похищающей информацию. По мнению специалистов, основной целью кампании, скорее всего, была кража данных и их последующая монетизация.

Атака началась еще в ноябре 2022 года, когда хакеры впервые загрузили вредоносные пакеты в Python Package Index (PyPI). В последующие годы на PyPI было добавлено еще больше пакетов с малварью. Все они были похожи на популярные опенсорсные инструменты, что повышало вероятность их попадания в результаты поисковых систем.

Вредоносные пакеты

Утилита Colorama, которую в числе прочих подделали злоумышленники, обеспечивает работу последовательностей символов ANSI в Windows и в настоящее время насчитывает более 150 млн загрузок ежемесячно.

Чтобы организовать атаку на цепочку поставок, хакеры клонировали эту утилиту, внедрили в нее вредоносный код и разместили вредоносную версию на поддельном домене. Благодаря тому, что атакующие использовали тайпсквоттинг, сайт хакеров (files.pypihosted[.]org) походил на легитимное зеркало files.pythonhosted.org.

Для распространения вредоносного пакета злоумышленники не только создали вредоносные репозитории под собственными учетными записями, но также взломали ряд известных аккаунтов. В их числе был GitHub-аккаунт editor-syntax, поддерживающий платформу для поиска и обнаружения серверов, ботов и других социальных инструментов в Discord, Top.gg, сообщество которой насчитывает более 170 000 участников.

Аккаунт, скорее всего, был взломан через украденные cookies, которые злоумышленники использовали для обхода аутентификации и выполнения вредоносных действий, при этом не зная пароля аккаунта. В результате взлома пострадали несколько членов сообщества Top.gg.

Обсуждение взлома в Discord

Используя аккаунт editor-syntax, хакеры внесли вредоносный коммит в репозиторий top-gg/python-sdk, добавив инструкции по загрузке вредоносного клона Colorama, а также повысили видимость и репутацию своих вредоносных репозиториев на GitHub.

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

«Манипулируя процессом установки пакетов и используя доверие пользователей к экосистеме пакетов Python, злоумышленники добились того, что вредоносный пакет Colorama устанавливался всякий раз, когда вредоносная зависимость указывалась в требованиях проекта», — говорят исследователи.

Чтобы скрыть вредоносный код в Colorama, преступники добавили множество white space, отодвинув сниппет за пределы экрана, чтобы тот не был заметен при беглом просмотре исходников. Кроме того, код выполнялся каждый раз при импорте Colorama, независимо от того, использовалась ли она.

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

В итоге машины пострадавших разработчиков оказались заражены вредоносным ПО, способным перехватывать нажатия клавиш, а также похищать файлы и данные из множества браузеров (включая Brave, Chrome, Edge, Opera, Vivaldi и Yandex), Discord, криптовалютных кошельков, сессии Telegram и так далее.

Схема атаки

«Украденные данные передавались на сервер злоумышленников с помощью различных техник. В код были включены функции для загрузки файлов на анонимные файлообменные сервисы, такие как GoFile и Anonfiles. Также украденная информация отправлялась на сервер злоумышленников с помощью HTTP-запросов», — отмечают в Checkmarx.

Количество пользователей, пострадавших от этой кампании, неизвестно, но эксперты заключают, что произошедшее — яркий пример того, как злоумышленники могут использовать такие надежные платформы, как PyPI и GitHub, для распространения вредоносного ПО.

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

  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    2 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии