[ << ALL_FEED ]

Город празднует, просыпается мафия

Ещё в группе «Общее»

Город празднует, просыпается мафия 🥰

За период с 1 по 11 января в экосистеме NPM было удалено ~180 вредоносных пакетов, в PyPI — 16. Злоумышленники в PyPI ленятся. Мы расскажем о маленькой новогодней магии в рамках одного PyPI-пакета.

Пользователь ambertransit 4 января опубликовал проект aiihttp, название которого мимикрирует под http-клиент aiohttp.

Начинается код простой обфускацией:

import base64

exec(base64.b64decode('aW1wb3J0IGl...')Code language: Python (python)


Логика, сокрытая за base64, представлена на первом скриншоте. Из ключевого:

• Пакет по-джентельменски помогает опечатавшемуся разработчику: удаляет себя, устанавливает aiohttp [п.1 на скр. 1], после чего перезагружает модуль, если он уже был импортирован [2].

• Следующий стейдж находится на GitHub [3]. Однако все не так просто — он зашифрован XOR-ом длиной 32 символа [4]. Для ключа используется алфавит [a-f0-9]{32}, который по формату походит на MD5, но дополнительного смысла мы за этим не нашли.

• Закрепление в системе происходит через реестр [5]. Стейдж отработает при следующем входе пользователя в систему.

Учетная запись GitHub активна и заливает вредоносы с мая 2024. Использование XOR, даже с ключом длиной 32 байта, без режима сцепления блоков шифротекста делает исполняемые файлы не такими уж и защищенными 😁 (на втором скриншоте — скачиваемый вредоносным кодом блоб). Такая же картина наблюдается и к концу файла, тоже богатому нулевыми байтами.

Исполняемым файлом является майнер для криптовалюты Monero. В результате кампании злоумышленнику удалось намайнить 15,7 (не миллионов) рублей 🤑

Будьте осторожны в опенсорсе, это плодородная почва для действий злоумышленников 😼


#pypi #ti #scs #pyanalysis
@ptescalator

Ещё от ti_author

Ещё от ti_author

Ещё в группе «Общее»