Специалисты выявили семь опасных пакетов в репозитории PyPI, которые применяли SMTP-серверы Gmail и веб-сокеты для несанкционированного извлечения информации и дистанционного исполнения команд.
Эти пакеты были обнаружены аналитиками из Socket, которые уведомили PyPI о своих открытиях, что привело к их удалению. Тем не менее, некоторые из них находились в PyPI более четырех лет, а один из пакетов был скачан свыше 18 000 раз.
Вредоносное ПО было обнаружено в следующих пакетах:
Coffin-Codes-Pro (9000 скачиваний);
Coffin-Codes-NET2 (6200 скачиваний);
Coffin-Codes-NET (6100 скачиваний);
Coffin-Codes-2022 (18 100 скачиваний);
Coffin2022 (6500 скачиваний);
Coffin-Grave (6500 скачиваний);
cfc-bsb (2900 скачиваний).
Зловредные пакеты маскировались под легитимный пакет Coffin, который представляет собой упрощенное решение для интеграции Jinja2-шаблонов в Django-проекты.
Скрытые вредоносные функции этих пакетов были направлены на тайный удаленный доступ и компрометацию данных посредством Gmail.
Для входа на SMTP-сервер Gmail (smtp.gmail.com) пакеты использовали заранее заданные учетные данные, отправляя злоумышленникам информацию, собранную с зараженных машин. Эта информация позволяла удаленно управлять взломанной системой. Так как Gmail считается надежным источником, сетевые экраны и системы EDR редко идентифицируют подобную активность как подозрительную.
После отправки данных по электронной почте, вредоносное ПО устанавливало соединение с удаленным сервером, используя WebSocket через SSL, получая инструкции для настройки защищенного двустороннего туннеля между хостом и злоумышленником.
Используя класс Client, вредоносная программа перенаправляла трафик из удаленной системы в локальную через этот туннель. Это давало возможность получить доступ к внутренним административным панелям и API, передавать файлы, похищать электронную корреспонденцию, исполнять команды оболочки, собирать учетные данные и перемещаться по сети.
Эксперты предполагают, что основной целью этих пакетов была кража криптовалюты. Подтверждением тому служат используемые адреса электронной почты (например, blockchain.bitcoins2020@gmail.com), а также то, что ранее злоумышленники применяли аналогичные методы для кражи приватных ключей Solana.