fshec2: новая атака на PyPI

security IOC

Исследовательская группа ReversingLabs выявила новую атаку на PyPI с использованием скомпилированного кода Python для обхода обнаружения - возможно, это первая атака, использующая преимущества прямого выполнения файлов PYC.

fshec2

В ходе непрерывной работы по поиску вредоносных программ в открытых репозиториях команда ReversingLabs столкнулась с новой атакой, использующей скомпилированный код Python для уклонения от обнаружения. Возможно, это первая атака на цепочки поставок, использующая тот факт, что файлы байт-кода Python (PYC) могут выполняться напрямую, и она происходит на фоне всплеска количества вредоносных материалов, отправленных в Python Package Index (PyPI). Если это так, то это создает еще один риск для цепочки поставок, поскольку этот тип атаки, скорее всего, будет пропущен большинством инструментов безопасности, которые сканируют только файлы исходного кода Python (PY).

ReversingLabs сообщили об обнаруженном пакете под названием fshec2 команде безопасности PyPI 17 апреля 2023 года, и в тот же день он был удален из репозитория PyPI. Команда безопасности PyPI также признала этот тип атаки интересным и отметила, что ранее он не встречался.

ReversingLabs регулярно сканирует регистры открытых исходных кодов, такие как PyPi, npm, RubyGems и GitHub, в поисках подозрительных файлов. Как команда уже заметила ранее, они часто выделяются из миллионов легитимных, не вредоносных файлов, размещенных на этих платформах, поскольку обладают странными свойствами или поведением, которые, как подсказывает нам опыт, часто сигнализируют о вредоносном намерении.

Так было и в случае с fshec2. Этот пакет привлек внимание после сканирования с помощью платформы ReversingLabs Software Supply Chain Security, которая обнаружила подозрительную комбинацию поведения в скомпилированном двоичном файле fshec2. Эти подозрительные действия, извлеченные из декомпилированного файла, включали наличие URL-адресов, ссылающихся на хост по IP-адресу, а также создание процесса и выполнение файла.

Затем был проведен ручной анализ пакета fshec2. Выяснилось, что он содержит всего три файла. Код внутри двух из этих файлов исходного кода на языке Python, _init_.py и main.py, выглядел доброкачественным. Только после изучения декомпилированной версии третьего файла, full.pyc, обнаружилось более интересное поведение и выяснилась истинная природа пакета.

Субъекты угроз всегда пытаются избежать обнаружения со стороны решений безопасности. Обфускация является одним из самых популярных методов достижения этой цели. Например, в нескольких наших предыдущих исследовательских блогах были рассмотрены инциденты в среде npm, в которых использовалась обфускация JavaScript. К ним относятся кампании Material Tailwind и IconBurst, а также недавно выявленная нами кампания, распространявшая вредоносное ПО Havoc.

Исторически сложилось так, что в гонке за то, какая платформа с открытым исходным кодом привлечет наибольшее внимание авторов вредоносных программ, npm был неудачным лидером, а PyPI - аутсайдером. Однако за последние шесть месяцев ReversingLabs и другие специалисты заметили заметное увеличение объема вредоносного ПО, публикуемого на PyPI. Так, в мае создание новых учетных записей пользователей и проектов на PyPI было временно приостановлено на несколько часов из-за большого количества вредоносной активности.

Наряду с увеличением количества вредоносных модулей, моя команда заметила рост использования различных методов обфускации во вредоносном ПО, опубликованном в репозитории PyPI. Одним из наиболее популярных методов обфускации является выполнение Base64-кодированного вредоносного кода, который впервые был замечен в кампаниях, связанных с авторами W4SP в ноябре 2022 года. Разновидности этой атаки, в которых вредоносный код внедряется в код, но смещается за границы экрана по умолчанию (тем самым скрывая его от глаз), все еще встречаются в природе. Однако сегодня в распоряжении злоумышленников больше инструментов. Например, использование инструментов обфускации W4SP crew, таких как Hyperion и Kramer, растет - вероятно, это реакция на улучшение возможностей обнаружения компаний безопасности, отслеживающих PyPI и другие публичные репозитории пакетов.

Пакет fshec2 использует существенно иной подход, который не полагается на инструменты обфускации. Вместо этого он помещает вредоносную функциональность в один файл, содержащий скомпилированный байт-код Python.

Indicators of Compromise

IPv4

  • 13.51.44.246

SHA1

  • 7be50d49efd1e8199decf84dc4623f58b8686161
  • bab57a9aac8e138e4e2a9f8079fd50b7c1d31540
Добавить комментарий