В недавнем анализе сканирования пакетов в Python Package Index (PyPi) и npm, программное обеспечение GuardDog успешно выявило два вредоносных пакета, связанных с северокорейской группой угроз, известной как "Stressed Pungsan". Этот кластер активности демонстрирует сильные связи с MOONSTONE SLEET от Microsoft, указывая на сложный подход к атакам на цепочки поставок.
Обнаружение вредоносных пакетов
Выявленные пакеты служат начальными точками доступа для распространения вредоносного ПО, способствуя эксфильтрации данных, краже учетных данных и боковому перемещению в скомпрометированных средах. 7 июля 2024 года пользователь npm под именем nagasiren978 загрузил два пакета, harthat-hash и harthat-api, которые были разработаны для загрузки дополнительного вредоносного ПО с предполагаемого северокорейского сервера команд и управления (C2).
Этот сервер отвечает за распространение вредоносных пакетных скриптов, с особым акцентом на системы Windows, что соответствует тактике, используемой группой угроз MOONSTONE SLEET. Оба пакета npm демонстрируют схожее вредоносное поведение, используя скрипт предустановки, который загружает вредоносную DLL с удаленного сервера, выполняет ее через rundll32 и затем самоуничтожается.
Оба пакета имеют почти идентичные структуры, различаясь только уникальным идентификатором в URL загрузки. Пакет harthat-api маскируется под легитимный пакет Hardhat, используя схожие наименования для обмана пользователей. Несмотря на происхождение из авторитетного репозитория node-config, вредоносный пакет модифицирует файл package.json для удаления скрипта предустановки и переименования себя в config.
Кроме того, пакет включает два необъясненных файла, deference.js и pk.json, функции которых остаются за рамками данного анализа. Скрипт предустановки особенно коварен, загружая DLL, замаскированную под временный файл, переименовывая его в "package.db" и выполняя через системную утилиту "rundll32".
Избежание обнаружения
Этот метод, известный как "System Binary Proxy Execution", направлен на избежание обнаружения путем очистки после себя — удаления загруженной DLL и восстановления оригинального файла package.json для сокрытия своих вредоносных действий. Исследование вредоносной DLL командой Datadog Security Research выявило казалось бы безобидный бинарный файл без явно вредоносной функциональности. Он экспортировал две функции, одна из которых, GenerateKeyW, предположительно содержит вредоносный код. Однако как статический, так и динамический анализ не смогли выявить никакой самомодификации или вредоносного поведения внутри DLL.
Отсутствие явного вредоносного кода вызывает вопросы о назначении DLL, предполагая, что это может быть незавершенная версия или тестовая итерация, указывая на то, что злоумышленник может экспериментировать со своей операционной инфраструктурой.
Индикаторы компрометации
В недавнем инциденте злоумышленникам удалось скомпрометировать цели через вредоносные пакеты npm harthat-api-v1.3.1.zip и harthat-hash-v1.3.3.zip, которые вероятно содержали контент, предназначенный для создания видимости легитимности. Вредоносные полезные нагрузки были отслежены до IP-адреса 142.111.77.196. Потенциальные индикаторы компрометации (IOC) включают имена файлов Temp.b (также известный как package.db) и его SHA256 хэш d2a74db6b9c900ad29a81432af72eee8ed4e22bf61055e7e8f7a5f1a33778277.