7 июля этого года пользователь репозитория для разработчиков npm под ником “nagasiren978” опубликовал два вредоносных пакета: “harthat-hash” и “harthat-api”, которые содержат код, устанавливающий дополнительное вредоносное ПО с ” data-html=”true” data-original-title=”C2″ >C2-сервера злоумышленников. Основными мишенями этих атак оказались системы на базе Windows.
Методы и инфраструктура, использованные во вредоносных пакетах, соответствуют тактикам хакерской группы, связанной с КНДР, которую Microsoft отслеживает под именем MOONSTONE SLEET. Внутри компании Datadog, первой обнаружившей злонамеренные пакеты, данный кластер угроз именуется “Stressed Pungsan”. Это название связано с породой собак, которую разводят в Северной Корее.
Целью хакеров было проникновение в цепочки поставок программного обеспечения и среды разработчиков. После получения необходимого доступа злоумышленники крадут личную информацию, API и ключи доступа к облачным сервисам, а также перемещаются по другим системам жертвы.
В рамках борьбы с подобными угрозами команда безопасности Datadog разработала инфраструктуру для сканирования пакетов на PyPi и npm, используя программное обеспечение GuardDog. Во время сканирования 7 июля специалисты и обнаружили два пакета с подозрительным поведением.
Пакеты “harthat-hash” версии 1.3.3 и “harthat-api” версии 1.3.1 использовали предустановленные скрипты для выполнения и последующего удаления файлов формата “.js”. Они содержали ссылки на подозрительные домены и загружали вредоносные DLL-файлы, которые запускались с помощью “rundll32.exe”.
Оба пакета оказались почти идентичными по содержанию, отличаясь только значением параметра id в ссылках на C2-сервер. Вредоносный код загружал файл “Temp.b”, переименовывал его в “package.db” и запускал через “rundll32.exe”. После выполнения скрипт удалялся, а файл “package.json” заменялся на “pk.json”, что усложняло обнаружение вредоносной активности.
DLL-файл, загруженный вредоносными пакетами, содержал подозрительные API-вызовы Windows, такие как “IsDebuggerPresent” и “GetTickCount”, используемые для антиотладки и защиты от обратного анализа. Однако статический анализ не выявил явной вредоносной логики, что позволило предположить, что DLL-файл мог быть не полностью готов к использованию или использовался для тестирования C2-инфраструктуры.
Злоумышленники использовали код из популярного репозитория “node-config”, добавив некоторые вредоносные модификации. Стоит отметить, что пакеты были удалены с npm весьма быстро, причём не модераторами, а самим автором.
Разработчикам программного обеспечения рекомендуется проверить, установлены ли в их инфраструктуре пакеты “harthat-api” или “harthat-hash”. В случае обнаружения необходимо немедленно принять меры по ротации учётных данных, изоляции приложения и расследованию возможного распространения угрозы.
Угроза от вредоносных npm-пакетов с каждым днём становится всё более актуальной. Злоумышленники используют маскировку под легитимные пакеты, чтобы внедрять вредоносный код. Быстрая реакция на подобные инциденты может помочь предотвратить серьёзные последствия для безопасности данных и инфраструктуры.