Зловредная Python-библиотека открывает бэкдоры в Windows, macOS и Linux

Зловредная Python-библиотека открывает бэкдоры в Windows, macOS и Linux

Зловредная Python-библиотека открывает бэкдоры в Windows, macOS и Linux

В публичном репозитории PyPI вновь найден вредоносный пакет с вводящим в заблуждение именем. Проведенный в Sonatype анализ показал, что pymafka загружает на компьютеры под Windows и Darwin (macOS) маячок Cobalt Strike, а в Linux пытается создать обратный шелл.

Имя pymafka было выбрано не случайно: оно похоже на PyKafka, популярный клиент кластера Apache Kafka, за которым числится более 4 млн загрузок на pypi.org. Зловред, автор которого использовал тайпсквоттинг, был выложен в паблик 17 мая; через пару дней поддельную библиотеку удалили, но пользователи PyPI успели скачать ее 325 раз.

Вредоносная атака, согласно Sonatype, начинается с запуска скрипта setup.py. Он определяет тип платформы и загружает с удаленного сервера компонент для обеспечения удаленного доступа к зараженному устройству.

В случае с Windows и macOS это Cobalt Strike Beacon, копия которого помещается в папку C:\Users\Public\ (Пользователи > Общие) или /var/tmp/ соответственно. Примечательно, что в Windows новый исполняемый файл прописывается как iexplorer.exe — еще один прием социальный инженерии, рассчитанный на невнимательность жертвы: легитимный процесс Microsoft Internet Explorer отображается как iexplore.exe, без конечной «r» в имени.

Обе версии маячка Cobalt Strike загружаются с одного и того же сервера (141.164.58[.]147, облачный хостинг Vultr) и пытаются установить соединение с китайским IP-адресом (39.106.227[.]92, выделен Alisoft, дочке Alibaba). По состоянию на 24 мая эту полезную нагрузку для Windows детектируют две трети антивирусов на VirusTotal, для macOS — половина.

На Linux-машинах setup.py пытается подключиться к IP 39.107.154[.]72 (тоже принадлежит Alibaba) и получить исполняемый файл для интерпретатора bash. Его содержимое определить не удалось: во время проведения анализа сервер был отключен. Скорее всего, выполнение команд было нацелено на создание обратного шелла.

 

Подобные сюрпризы в PyPI позволяют провести атаку на цепочку поставок и получить доступ к сетям жертв. Тем, кто успел скачать pymafka, рекомендуется немедленно удалить вредоносную библиотеку, проверить системы на наличие бэкдоров и впредь быть внимательнее при выборе компонентов для своих творений.

В Linux нашли 19-летнюю дыру: атакующий может добраться до root

В Linux обнаружили новую уязвимость повышения привилегий, получившую имя CIFSwitch. При удачном раскладе обычный локальный пользователь может обмануть механизм CIFS-аутентификации, подсовывать ядру фальшивые запросы и в итоге получить root. Проблема затрагивает системы с уязвимыми связками kernel CIFS и cifs-utils, в первую очередь версии 6.14 и выше.

CIFS нужен Linux для работы с сетевыми шарами: монтировать удалённые папки, читать и писать файлы по сети. Если такая шара использует Kerberos-аутентификацию, ядро Linux обращается к пользовательскому приложению, а cifs-utils выступает посредником.

По словам исследователя Асима Вилади Оглу Манизады, который нашёл и назвал CIFSwitch, ядро запрашивает ключ типа cifs.spnego, после чего стандартная связка keyutils/request-key запускает cifs.upcall от root, чтобы получить или собрать материалы Kerberos/SPNEGO.

Беда в том, что CIFS-подсистема ядра не проверяла, что такие cifs.spnego-запросы действительно пришли от CIFS-клиента ядра. В результате непривилегированный пользователь мог сгенерировать поддельный запрос и запустить штатный процесс аутентификации.

А дальше привилегированный cifs.upcall доверяет полям, которые считает созданными ядром, хотя на деле ими управляет атакующий. Через эти поля можно форсировать переключение namespace, спровоцировать NSS-запрос до сброса привилегий, подгрузить вредоносный NSS-модуль и получить выполнение кода от root.

Манизада отмечает, что баг появился ещё в 2007 году, то есть прожил в экосистеме около 19 лет. При этом эксплуатация не универсальна: нужны подходящая версия ядра, уязвимый cifs-utils, доступные пространства имен пользователей и политики SELinux/AppArmor, которые не ломают атаку на взлёте.

Среди уязвимых систем, в дефолтных конфигурациях эксперт называет:

  • Linux Mint 21.3 / 22.3;
  • CentOS Stream 9;
  • Rocky Linux 9;
  • AlmaLinux 9;
  • Kali Linux 2021.4–2026.1;
  • SLES 15 SP7.

Уязвимость уже закрыта патчем для ядра, он добавляет проверку происхождения запросов cifs.spnego. Однако конкретные версии ядра с патчем зависят от дистрибутива, так что администраторам лучше не гадать, а проверять бюллетени своих вендоров.

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