Pull to refresh

Юный программист разместил шифровальщика в репозитории  PyPI «шутки ради»

Reading time2 min
Views20K

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

Специалисты по информационной безопасности обнаружили в репозитории PyPI вредоносные пакеты requesys, requesrs и requesr, которые выдавали себя за популярный пакет requests. Отмечается, что вредоносы шифровали данные пользователей, но при этом не требовали выкупа и перенаправляли жертв на Discord-сервер с ключами для дешифровки.

Вредоносный пакет requesys версии 1.5
Вредоносный пакет requesys версии 1.5

Отмечается, что пакет requesys при запуске на машинах под управлением операционной системы Windows просматривал содержимое папок Documents, Downloads и Pictures, а после этого начинал шифровать их содержимое. Также исследователи заметили, что скрипт запускался только в том случае, если имя пользователя ПК отличалось от «GIAMI». Исследователи решили, что это никнейм автора вымогателей.

Исключение имени пользователя самого разработчика
Исключение имени пользователя самого разработчика

Для шифрования данных разработчик использовал модуль fernet из библиотеки для шифрования с симметричным ключом. Этот же модуль использовался для генерации ключа для расшифровки данных. Отмечается, что первые версии пакета предоставляли ключ в виде обычного текстового файла, а в версии 1.5 разработчик перешёл к обфусцированному исполняемому файлу base64.

Всплывающее окно со ссылкой на Discord-сервер
Всплывающее окно со ссылкой на Discord-сервер

При успешном запуске и шифровании данных пользователи видели всплывающее окно, которое предлагало перейти на Discord-сервер пользователя под никнеймом OHR (Only Hope Remains). Исследователи заметили, что сервер был открытым, и на него мог попасть любой желающий. На самом сервере был канал #ransomware-notifications, который содержал имена жертв и ключи для дешифрования.

Канал с именами жертв и ключами
Канал с именами жертв и ключами

Специалисты быстро нашли автора вредоносов. Выяснилось, что он использовал никнеймы OHR и b8ff в PyPI, Discord, GitHub и на других сайтах. На GitHub находился и код самого шифровальщика. Также у автора был обнаружен YouTube-канал с роликами про создание простых эксплойтов на Python. Также важно отметить, что автор указал в README-файле проекта, что он не несёт ответственности в случаях неправомерного использования кода. Однако, в пакетах PyPI никаких предупреждений не было и разработчик не пытался предупредить пользователей.

YouTube-канал разработчика. На данный момент он уже удалён
YouTube-канал разработчика. На данный момент он уже удалён

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

Разговор с разработчиком помог предотвратить новые жертвы среди пользователей. Школьник согласился переименовать пакет requesys, чтобы пользователи больше не путали его с requests. Пакеты requesrs и requesr удалены из репозитория PyPI, но не до конца ясно, кем. Это могли сделать как модераторы, так и сам разработчик.

Tags:
Hubs:
If this publication inspired you and you want to support the author, do not hesitate to click on the button
Total votes 27: ↑25 and ↓2+31
Comments37

Other news