Разработчики в опасности: вредоносные пакеты были размещены на популярном репозитории

В этом месяце неизвестный злоумышленник под ником «Lolip0p» загрузил в репозиторий PyPI (Python Package Index) три вредоносных пакета, которые содержат код для последующей установки программ-инфостилеров.

Вредоносные пакеты, обнаруженные Fortinet — это компания, которая занимается разработкой и производством оборудования и программного обеспечения для информационной безопасности. Она была основана в 2000 году в Калифорнии, а в настоящий момент имеет офисы в более чем 100 странах мира.
Продукты Fortinet включают в себя решения для сетевой безопасности, такие как фаерволы, VPN, антивирусное и антималварное программное обеспечение.

» data-html=»true» data-original-title=»Fortinet»>Fortinet, были загружены в период с 7 по 12 января 2023 года. Названия у этих пакетов следующие: «colorslib», «httpslib» и «libhttps». Все три были удалены из PyPI после обнаружения.

PyPI — это наиболее широко используемый репозиторий для пакетов Python, который разработчики программного обеспечения используют для ускорения своей работы.

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

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

В отличие от типичных вредоносных загрузок на PyPI, обнаруженное Fortinet «трио», содержит полные подробные описания, которые обычно используются в нормальных пакетах. Это усыпляет бдительность разработчиков, и они добровольно скачивают зловредное ПО на свой компьютер.

Пример описания одного из вредоносных пакетов (выглядит убедительно)

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

По данным службы подсчета статистики пакетов PyPI, к моменту удаления у трех вредоносных записей было следующее количество загрузок:

  • colorslib – 248 загрузок
  • httpslib – 233 загрузки
  • libhttps – 68 загрузок

Хотя количество загрузок может показаться небольшим, потенциальное влияние заражения, если рассматривать эти случаи как часть цепочки — очень значительно.

Все три пакета содержат один и тот же вредоносный файл setup.py, который пытается запустить PowerShell. Инсталлятор скачивает исполняемый файл «Oxyz.exe» с подозрительного URL-адреса. Программа, в свою очередь, крадёт данные из браузера.

Издание BleepingComputer — это сообщество пользователей, созданное для решения проблем, возникающих при использовании компьютеров и интернета. Сайт был основан в 2005 году и за это время стал одним из ведущих англоязычных ресурсов в этой сфере.
На сайте можно найти полезные статьи и руководства по теме. Также функционирует форум, где пользователи могут задавать вопросы и получать помощь от других членов сообщества.

» data-html=»true» data-original-title=»BleepingComputer»>BleepingComputer обнаружило, что «Oxyz.exe» также распространяется как бесплатный генератор подписки Discord — это проприетарная кроссплатформенная система мгновенного обмена сообщениям, изначально созданная для геймеров, но в настоящее время используется в различных сообществах по интересам. Discord  разделен на серверы, на каждом из которых есть свои участники, темы, правила и каналы.

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

» data-html=»true» data-original-title=»Discord»>Discord Nitro. А ещё по крайней мере один из исполняемых процессов данного файла используется для сбора токенов Discord. Значит, предположительно, это всего лишь часть крупной кампании по краже информации и других данных с заражённых устройств.

Показатели обнаружения для всех трех файлов, используемых в этой атаке, довольно низкие — от 4,5% до 13,5%. Это позволяет вредоносным файлам в большинстве случаев избежать обнаружения антивирусом, установленном на компьютере жертвы.

Вредоносный пакет засекли лишь 7 антивирусных систем из 70

К сожалению, даже после удаления этих пакетов из PyPI злоумышленники всё равно могут повторно загрузить их под другим именем.

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

Источник