Компания ReversingLabs обнаружила PyPI-пакет, который смешивал вредоносное ПО со скомпилированным кодом, чтобы избежать обнаружения инструментами безопасности, которые проверяют только файлы исходного кода, а не скомпилированные выходные данные. Речь идет о пакете “fshec2”, который был удален из репозитория 17 апреля 2023 года после ответственного раскрытия информации в этот же день.
Аналитики ReversingLabs заявили, что это может быть первая атака на цепочку поставок, в которой используется тот факт, что файлы байт-кода Python (PYC) могут выполняться напрямую. Файлы PYC представляют собой скомпилированные файлы байт-кода, которые генерируются интерпретатором при выполнении программы Python.
Пакет “fshec2” содержит в себе 3 файла, 2 из которых являются безопасными. Однако один PYC-файл является загрузчиком вредоносного ПО. PYC-файл содержит в себе скомпилированный модуль Python.
Анализ переработанной версии файла PYC показывает, что он настроен на сбор имен пользователей, имен хостов и списков каталогов, а также на получение команд с жестко запрограммированного сервера.
ReversingLabs также наблюдала за загрузкой модуля и запуском другого скрипта Python, который отвечает за получение новых команд, помещенных в файл, который может быть изменен злоумышленником для выдачи различных инструкций.
Дальнейшее изучение C2-сервера выявило неправильную настройку, которая позволяла загружать файлы по их идентификаторам, пронумерованным в последовательном порядке (начиная с 1), без какой-либо авторизации. Это указывает на то, что за атакой стоит неопытный хакер.
Исследователи заключили, что сценарии загрузчика, подобные обнаруженным в пакете “fshec2”, содержат минимальное количество кода Python и выполняют простое действие: загрузку скомпилированного модуля Python из пакета “fshec2”.