Обнаружен Python-шифровальщик, нацеленный на серверы Jupyter Notebook

Обнаружен Python-шифровальщик, нацеленный на серверы Jupyter Notebook

Обнаружен Python-шифровальщик, нацеленный на серверы Jupyter Notebook

В ханипот-ловушку Aqua Security попался незнакомый шифровальщик, написанный на Python. Как оказалось, новоявленный зловред ориентирован на корпоративные окружения, использующие среду разработки Jupyter Notebook.

Это интерактивное веб-приложение с открытым исходным кодом предназначено для работы с данными. Продукт позволяет создавать и запускать коды на разных языках программирования, визуализировать результаты анализа, обмениваться блокнотами и публиковать их в интернете. Среди пользователей софта числятся Microsoft, IBM, Google, Oracle, а также ряд американских ВУЗов.

Найденный образец шифровальщика был похож на других Python-собратьев (об одном из них, нацеленном на VMware ESXi, рассказала Sophos в октябре прошлого года). Не исключено, что автор зловреда попросту позаимствовал чьи-то исходники и приспособил их для своих нужд.

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

Вредоносная атака начинается с поиска возможностей для взлома: пользователь Jupyter Notebook может допустить ошибку при настройке веб-приложения или упустить из виду защиту доступа. Для проверки уязвимости сервера злоумышленники также пытаются дистанционно загрузить на него текстовый файл с именем f1gl6i6z (в папку /tmp).

Этот файл содержит единственное слово — bl*t, которое навело исследователей на мысль, что авторами атаки могут быть русскоязычные хакеры. Такой же файл аналитики из Aqua не раз находили ранее при разборе атак криптоджекеров на серверы с установленным софтом Jupyter.

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

 

В комментарии для SecurityWeek представитель Aqua отметил, что они обнаружили в интернете свыше 11 тыс. серверов с Jupyter Notebooks. Некоторые из них могут оказаться ловушками, однако остальные потенциально уязвимы для подобных атак.

Поскольку интерактивная платформа Jupyter используется для анализа данных и построения моделей данных, новый Python-шифровальщик может причинить большой ущерб организациям, пренебрегающим резервным копированием. Эксперты рекомендуют защитить Jupyter Networks адекватной аутентификацией, ограничить права пользователям, использовать SSL для передачи данных и отключить интернет-доступ к таким серверам — или организовать его через VPN.

Критическая уязвимость в TLP позволяет обойти защиту Linux

В популярной утилите TLP, которую многие владельцы ноутбуков на Linux используют для управления энергопотреблением, обнаружили критическую уязвимость. Причём проблема нашлась во время обычной проверки пакета командой SUSE Security Team и располагается во вполне штатном коде.

Брешь получила идентификатор CVE-2025-67859 и затрагивает версию TLP 1.9.0, где появился новый profiles daemon.

Этот демон работает с root-правами и управляет профилями питания через D-Bus. Задумка хорошая, но реализация подвела: в механизме аутентификации Polkit нашлась логическая ошибка, которая фактически позволяет обойти проверку прав.

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

На этом сюрпризы не закончились. В ходе анализа специалисты SUSE нашли ещё несколько проблем, уже связанных с исчерпанием ресурсов. В частности, механизм profile hold, который позволяет временно «зафиксировать» профиль питания, оказался совершенно без валидации. Локальный пользователь мог создавать неограниченное количество таких блокировок, причём без прав администратора.

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

Любопытно, что SUSE вспомнила похожую историю с демоном управления питанием в GNOME: аналогичную проблему находили ещё несколько лет назад. Отдельно исследователи отметили вопросы к механизму «куки», которыми отслеживаются profile hold. Формально речь шла о предсказуемости значений, но в сочетании с отсутствием лимитов это лишь расширяло поверхность атаки.

К счастью, реакция была быстрой. SUSE сообщила об уязвимостях разработчикам ещё в декабре, и в версии TLP 1.9.1 проблема уже закрыта. В частности, число одновременных profile hold теперь жёстко ограничено числом 16, что убирает риск истощения ресурсов.

RSS: Новости на портале Anti-Malware.ru