Дълготрайна кампания със зловреден софтуер в npm, наречена MALFEX, е насочена към разработчици за Windows с инструменти за отдалечен достъп, софтуер за кражба на данни и скрити модули за изтегляне.

Атаката използва осем злонамерени пакета и три отделни пътя за доставка, включително изпълним файл за Windows, маскиран като PNG, и криптирана програма, скрита след реалните данни на изображението.

Операторът публикува пакети от август 2023 г. В рамките на осемте злонамерени пакета npm регистрира 40 767 изтегляния до 1 октомври 2026 г., включително 3 017 през предходната седмица.

Тези числа показват обхвата на пакетите, а не потвърдени инфекции: изтеглянията могат да включват повторни инсталации, зависимости и системи, които не могат да изпълняват зловредния код за Windows.

Изследователи от Checkmarx идентифицираха кампанията в доклад от 5 октомври. Те свързаха дванадесет пакета с един вероятен оператор, като четири чисти пакета са използвани за прикритие.

Името MALFEX се появява в профилите на издателя, записите в хранилището и документацията на пакетите, като ключът за декриптиране на изображението също носи същото наименование.

MALFEX npm Malware Hides Executables in PNG Files

Първият път за доставка използва три пакета, които изпълняват скрити скриптове преди или след инсталацията. Тези скриптове извличат файл, доставен като image/png, запазват го като изпълним файл за Windows и го стартират.

Въпреки етикета за изображение, изтегленият файл е архив на Microsoft IExpress, а не нормално PNG изображение. В архива подписан интерпретатор на AutoIt изпълнява криптиран скрипт.

postinstall[.]js (Source - Checkmarx)
postinstall[.]js (Източник – Checkmarx)

Няколко стъпки на декодиране, включително XOR, RC4 и LZNT1 компресия, разкриват Overlord RAT. Анализът на кода показва инструкции за инжектиране на RAT в подписан процес на Windows, като същевременно прави Explorer да изглежда като негов родителски процес. Изследователите не са наблюдавали това инжектиране по време на тестовете в реално време.

Вторият път работи по различен начин. Верига от три пакета извлича истинско PNG изображение с добавени криптирани данни на изпълним файл след неговия маркер за край.

Зловредният софтуер извлича тези данни и ги декриптира с помощта на AES. Модул за изтегляне на Go след това извлича movinlike, 64 MB софтуер за кражба на информация за Node.js, пакетиран като изпълним файл за Windows.

Тази верига се изпълнява при зареждане на пакета, а не чрез скрипт за инсталиране. Тази разлика е важна, тъй като деактивирането на скриптовете от жизнения цикъл на npm не я спира.

Cyber Security News по-рано отрази друга npm атака, криеща RAT в PNG изображения, въпреки че тази кампания съхраняваше зловредния код в пикселите на изображението, вместо да използва методите на MALFEX.

Remote Control, Account Theft, and Hidden Downloads

Overlord поддържа заснемане на екрана, запис на натиснатите клавиши, събиране на данни от клипборда, търсене на файлове, отдалечени команди и скрит работен плот.

Неговият модул за зареждане създава планирана задача (scheduled task), която се изпълнява на всеки пет минути и носи със със задна дата начална дата от 2020 г. Проверката само на ключовете за автостартиране в системния регистър би пропуснала този метод за запазване на присъствието (persistence).

RAT може да получава адреси на сървъри от криптирани бележки към трансакции в Solana. Анализираната извадка обаче нямаше конфигуриран Solana адрес или списък със сървъри и изследователите не видяха трафик към командни сървъри (command-and-control).

index[.]js (Source - Checkmarx)
index[.]js (Източник – Checkmarx)

Това е поддържана възможност, а не доказателство, че базираният на блокчейн контрол е бил активен в тестваната инфекция. Софтуерът за кражба movinlike е насочен към токени на Discord, бисквитки на браузъра и запазени пароли, сесии на Telegram и портфейли за криптовалута.

Той променя скриптовете за стартиране на Discord, събира подробности за профили и изпраща откраднати файлове към Discord webhook в компресирани части. Предишни доклади за многостепенната кражба на данни за достъп на StegaBin показват защо инсталациите на пакети от разработчици заслужават щателни проверки за сигурност.

Третият път крие модул за изтегляне в пакет с ASCII изкуство. Специфична стойност на шрифта задейства изтеглянето, докато дългите поредици от интервали избутват злонамерения код извън видимия прозорец на редактора.

Грешките при изтегляне се пренебрегват тихомълком. Последният анализиран зловреден код не беше наличен и Checkmarx не откри доказателства, свързващи този отделен модул за изтегляне с movinlike.

Три злонамерени пакета останаха достъпни за инсталиране в снимката на Checkmarx от 1 октомври. На два липсваха предупреждения за зловреден софтуер (malware advisories), докато друго предупреждение покриваше само две от четири злонамерени версии.

Екипите, разчитащи само на бюлетини с предупреждения, следователно биха могли да пропуснат известен зловреден код. Тези констатации описват проверките към датата на доклада, а не състояние на регистъра в реално време.

Разработчиците трябва да инспектират дърветата със зависимости, lockfile файловете, кешовете на пакетите и крайните точки за Windows. Ако е инсталиран засегнат пакет, изолирайте хоста, запазете доказателствата, премахнете механизмите за запазване на присъствието и променете изложените пароли от чиста система.

Прекратете сесиите в Telegram и преместете изложените средства в криптовалута към нови портфейли. Блокирайте всички осем злонамерени пакета и техните специфични пътища за изтегляне, без да блокирате напълно споделените хостинг услуги.

Самото премахване на пакетите не отменя откраднатите сесии или инсталирания зловреден софтуер. Свързаното отразяване на фалшиви съобщения при npm инсталация и компрометирани SAP npm пакети подсилва риска от сляпо доверие в процесите по инсталиране на пакети.

Анализът на пейзажа на заплахите в npm от Unit 42 предоставя по-широк контекст за тези рискове във веригата за доставки. Екипите по сигурност трябва също да прегледат активността в профилите и да премахнат злонамерените копия от вътрешните регистри, преди разработчиците да преинсталират засегнатите зависимости.

Indicators of compromise (IoCs):-

PackageMalicious versions
function-flag1.7.3, 4.0.0, 3.0.0, 2.3.5–2.3.9
function-color1.7.3, 1.0.0
cdn-img-fetch1.0.0–1.0.3
img-to-native1.0.0–1.0.3
native-runner1.0.0–1.0.3
tlxbnhd0.0.1
tldriver0.0.1
mxdriver0.0.1, 0.0.2

Тези диапазони от версии са изрично идентифицирани като злонамерени; Checkmarx посочва, че function-flag@2.3.4 не е злонамерен.

URLs and Hosts

Индикатор от източникаРоля
hxxps[:]//api.imghippo.com/files/hOG8244hc.pngOverlord зареждаща програма, доставяна като PNG
www.image.comВтори домейн за доставка на Overlord, свързан с mxdriver
hxxps[:]//raw.githubusercontent.com/cavecrew/proj/main/banner.pngИзображение от веригата за кражба на данни (stealer); използвано от cdn-img-fetch версии 1.0.0–1.0.2
hxxps[:]//raw.githubusercontent.com/cavecrew/proj/main/banner.jpgЗловреден код за cdn-img-fetch@1.0.3
hxxp[:]//104.234.65.75:700/setup.exeИзтегляне на movinlike
hxxp[:]//104.234.65.75/setup.exeАлтернативен път за изтегляне на movinlike
hxxps[:]//cdnzona.discloud.app/node.exeЗловреден код за function-flag@1.7.3
hxxps[:]//apicdn.squareweb.app/attachments/1392577835742265576/1395570372077682768/svchost.exeЗловреден код за function-flag@4.0.0
hxxps[:]//bypasscdn.onrender.com/hxxps[:]//cdn[.]discordapp[.]com/attachments/1392577835742265576/139557037…function-flag@3.0.0; незавършен в IoC таблицата на източника
hxxps[:]//45.89.30.194/attachments/1242231519943069778/1270557692171128915/nocry.exeЗловреден код за function-flag@2.3.9
hxxps[:]//45.89.30.194/attachments/1255944996503158885/1263421457598386237/malfex.exeЗловреден код за function-flag@2.3.8
hxxps[:]//191.96.81.101/attachments/1255944996503158885/1259416184265244682/malfex.exeЗловреден код за function-flag@2.3.7
hxxps[:]//apizona.onrender.com/attachments/1255944996503158885/1259416184265244682/malfex.exeЗловреден код за function-flag@2.3.6
hxxps[:]//51.137.158.178/downloadЗловреден код за function-flag@2.3.5
discord.com/api/webhooks/1553545982975811594/…Уебхук на movinlike за кражба на данни; токенът е пропуснат от източника

Таблицата с версии на зловредния код на Checkmarx използва hxxp[:] вместо hxxps[:] за двата пътя към 45.89.30.194, пътя към 191.96.81.101 и 51.137.158.178/download. Поради това и двата протоколни варианта са посочени от източника. Докладът също така предупреждава да не се блокират изцяло споделени домейни на услуги; използвайте конкретните зловредни пътища.

SHA-256 хешове

АртефактSHA-256
Зареждаща програма за Overlord RAT, доставяна като PNG9aba4685af072231aee049e1a5e294965580001b364d7d00152d84fcec1ce793
Подписан AutoIt3.exe от архива5d69a932a077fee044b193c28e84564143f5c7e51079ab48e88fef74ab0b77b7
Криптиран скрипт Oxygen.a3x / h.a3xfd199d3977e1a2945b6031fc8696660a980e4f4617899baa045efe7ccbc8de67
Декодиран Overlord RAT2989244eac2a4bc7a13a09dec003e5c05ef7c80b2afe0958ce25042d5b804210
Текущ banner.png4f4f7d64139bde6d458a061c7fb7dd247f70f60a1ab47d87fd3634656586c106
Програма за изтегляне от веригата за кражба на данни, 25 септември889e13e227bc2b762178b88c35c691db3256e72be64d92ff1f381d29a2789849
Програма за изтегляне от веригата за кражба на данни, 25 септемвриe7f86f6cc4380db66d333eaf6f7dfc2c12d232c2bcd526434681245dea25efa4
Програма за изтегляне от веригата за кражба на данни, 25 септемвриff826d2778ea1d40ce8ebfd9d66ecc86d4c811f5654b8a466a7e220ebbbc6807
Програма за изтегляне от веригата за кражба на данни, 26 септември2f268ca76ab27971d8b16bd4ded26e1f9cd3d4460b894af2d4bdf89f0ab7ec4b
tlxbnhd/scripts/postinstall.js7acf331117900179b483142f216fdcb22c671eb0b1971abd57f01bc036248a6e
movinlikec9c374afba4658dff15f71801e88c4d199c91dd2622d72c7b0c55577c8f73437
img-to-native@1.0.1/index.jsc7cf2323e4923428984297db7715d75fec5b964fe65c325b53e3fa360f3b8d86
cdn-img-fetch@1.0.0/index.js и версия 1.0.1430300450f5acbd69c29f02d8c2e243f7d1d6202d1826f6e4d7715f95c47299b
cdn-img-fetch@1.0.2/index.js4cba0c785e66d517eabd0164f34a9c2d04549da93b5ee3eebdce5558daa2f47c
cdn-img-fetch@1.0.3/index.js5c933aa533721fa293b284170dd4611a4d88f88cc89f2d9c28ea4e22305b1f75
cdn-img-fetch@1.0.3 — banner.jpg8f7ed69fb5505b57f06e673826779d459f7735739756de73a6d3347a9c8ea0cc
function-flag@1.7.3/index.jsd54853d6be467567d9f22d7f22ac48214df52c1f9c7a503930e901286423044a
function-flag@1.7.3/example.js886b84f83a0f760e664046ba40d8c800b7d0cf72190e13ca031ee5cf50f45bee

Всички хешове са възпроизведени така, както са публикувани. Checkmarx отбелязва, че movinlike може лесно да бъде прекомпилиран, така че специалистите по защита трябва да комбинират проверките на хешовете с доказателства от файлове, задачи и мрежова активност. Подписаният интерпретатор на AutoIt е легитимен софтуер; неговият хеш сам по себе си не доказва инфекция извън контекста на тази кампания.

Хост артефакти и персистентност

ИндикаторЗначение
%LOCALAPPDATA%\ScopeSmart Technologies Inc\Директория на зареждащата програма на Overlord
%LOCALAPPDATA%\ScopeSmart Technologies Inc\AutoIt3.exeИнтерпретатор, използван от зареждащата програма
%LOCALAPPDATA%\ScopeSmart Technologies Inc\h.a3xКриптиран AutoIt скрипт
%LOCALAPPDATA%\ScopeSmart Technologies Inc\SmartScope.vbsСвързан скрипт
Планирана задача \MaidenПерсистентност на Overlord
Команда на задачата „AutoIt3.exe“ „h.a3x“Планирано изпълнение
Интервал на задачата: на всеки пет минути, без краен часВремеви параметри на персистентността
Начална дата на задачата: 1/1/2020Антидатирани метаданни на задачата
Автор на задачата: Welcome; коментар: WichitaСвързани метаданни на задачата
<package dir>\gldriver_pre_core.exeПуснат зловреден код на Overlord, изтрит след стартиране
<package dir>\gldriver_pre_asset.exeПуснат зловреден код на Overlord, изтрит след стартиране
%APPDATA%\Microsoft\Windows\node_runtime_helper.exeДекриптирана програма за изтегляне от веригата за кражба на данни
%TEMP%\._cif_dataМеждинен файл от веригата за кражба на данни
%APPDATA%\node.exeЗловреден код за function-flag@1.7.3

Тези пътища и подробности за задачите са документирани в секциите за хост артефакти и персистентност на източника.

Подкрепящи индикатори за атрибуция

ИндикаторКонтекст от източника
malfexkkj, malfex_user, malfexteste2, malfexteste3, malfexteste4Профили на издатели в npm
corpmalfex[@]gmail.comИмейл адрес на Git автора на хранилището със зловреден код
malfexteam2027AES ключ за декриптиране във веригата за кражба на данни
MurizadaИме на собственика, посочено в README файла на пакета

Забележка: IP адресите и домейните са нарочно неутрализирани (напр. [.]), за да се предотврати случайното им разпознаване или създаването на хипервръзки. Възстановете ги само в рамките на контролирани платформи за анализ на киберзаплахи като MISP, VirusTotal или вашата SIEM система.

Спира заплахите преди тяхното въздействие с 21 минути по-бързо средно време за отстраняване (MTTR). Интегрирайте изолираната среда (Sandbox) на ANYRUN във вашия SOC