Популярный сервис Top.gg, помогающий пользователям находить серверы и боты для Discord, пострадал от атаки на цепочку поставок. Злоумышленники внедряли вредоносный код в пакеты Python, используемые разработчиками ботов. Целью атаки, по всей видимости, являлась кража конфиденциальных данных. Об атаке рассказалиспециалисты Checkmarx в техническом отчете.
Атака шла по нескольким направлениям:
- Загруженные вредоносные пакеты в PyPI: С ноября 2022 года злоумышленники начали размещать на платформе PyPI вредоносные пакеты, маскировавшиеся под популярные инструменты с привлекательными описаниями.
- Фальшивое зеркало пакетов Python: В начале 2024 года злоумышленники создали поддельное зеркало пакетов Python, имитирующее настоящее хранилище файлов пакетов PyPI. На фальшивом зеркале размещались зараженные версии легитимных пакетов, например, популярного “colorama”.
- Взлом аккаунта администратора Top.gg: В марте 2024 года хакерам удалось взломать учетную запись администратора платформы Top.gg, обладающую широкими правами доступа к репозиториям на GitHub. С помощью учетной записи киберпреступники добавили вредоносные коммиты в репозиторий python-sdk платформы Top.gg , а именно добавили зависимости от отравленной версии “colorama” и другие вредоносные репозитории, чтобы повысить их видимость.
Вредоносный код обладал широкими возможностями кражи данных:
- Данные браузеров: логины, пароли, история посещений, данные автозаполнения, cookie-файлы и данные кредитных карт из браузеров Opera, Chrome, Brave, Vivaldi, Яндекс и Edge.
- Токены Discord: вредоносное ПО могло получить несанкционированный доступ к учетным записям Discord, похищая токены из соответствующих папок.
- Криптовалютные кошельки: программа сканировала систему на наличие файлов криптокошельков и отправляла их на сервер злоумышленников.
- Данные Telegram: вредоносное ПО пыталось похитить данные сессий Telegram для несанкционированного доступа к учетным записям и переписке.
- Файлы пользователя: вредоносное ПО могло похищать файлы с рабочего стола, загрузок, документов и недавно открытых файлов на основе определенных ключевых слов.
- Данные Instagram*: программа использовала похищенные токены сессий Instagram для получения информации об учетной записи через API Instagram.
- Нажатия клавиш: вредоносное ПО записывало нажатия клавиш пользователя, потенциально раскрывая пароли и другую конфиденциальную информацию.
Похищенные данные отправлялись на сервер злоумышленников несколькими способами:
- Через HTTP-запросы с уникальными идентификаторами (аппаратный идентификатор, IP-адрес);
- Через анонимные файлообменники (GoFile, Anonfiles).
Цепочка атаки
Точное количество пострадавших пользователей неизвестно. Однако эта атака в очередной раз подчеркивает важность проверки безопасности используемых компонентов при разработке программного обеспечения.