Исследователи Лаборатории Касперского в новом отчете представи | SecAtor
Исследователи Лаборатории Касперского в новом отчете представили результаты своих исследований в отношении недавней громкой атаки на цепочку поставок Shai Hulud 2.0.
Впервые Shai-Hulud попал в заголовки новостей в сентябре, в которых обращалось внимание на распространение вредоносного ПО через скомпрометированные пакеты Node Package Manager (npm).
Тогда ЛК опубликовала её подробный анализ, недавно появилась новая версия.
Как отмечают в ЛК, Shai Hulud 2.0 - это тип двухэтапного червеобразного вредоносного ПО, которое распространяется путём компрометации токенов npm для повторной публикации доверенных пакетов с вредоносным содержимым.
Более 800 пакетов npm заразились этой версией червя.
По данным телеметрии, жертвами этой кампании стали отдельные лица и организации по всему миру, при этом больше всего случаев заражения зафиксировано в России, Индии, Вьетнаме, Бразилии, Китае, Турции и Франции.
Когда разработчик устанавливает зараженный пакет npm, скрипт setup_bun.js запускается на этапе предустановки, как указано в измененном файле package.json.
Причем setup_bun.js намеренно не обфусцирован и хорошо документирован, чтобы замаскироваться под безобидный инструмент для установки легитимной среды выполнения Bun JavaScript.
Он проверяет распространённые пути установки Bun и, если среда выполнения отсутствует, устанавливает её из официального источника в соответствии с платформой, реализуя подготовку среды выполнения для последующих этапов вредоносной ПО.
Затем установленная среда выполнения Bun запускает полезную нагрузку второго этапа, bun_environment.js, вредоносный скрипт размером 10 МБ, обфусцированный с помощью инструмента, похожего на obfuscate.io (фактически основная вредоносная активность).
Shai Hulud 2.0 создан для сбора секретов из различных сред.
После запуска он немедленно ищет конфиденциальные данные в нескольких источниках: секреты GitHub, учетные данные облака AWS, Azure и Google Cloud, локальные файлы (с помощью сканирования TruffleHog).
Затем все извлеченные данные отправляются по установленному каналу связи через публичный репозиторий GitHub с помощью токена доступа жертвы.
После этого вредоносная ПО создаёт репозиторий со случайно сгенерированным 18-символьным именем и маркером в описании, который затем служит хранилищем данных, куда загружаются все украденные учётные данные и системная информация.
Если токен не найден, скрипт пытается получить ранее украденный токен у другой жертвы, выполняя поиск в репозиториях GitHub на наличие тех, в описании которых содержится текст «Sha1-Hulud: The Second Coming».
Для последующей саморепликации посредством встраивания в пакеты npm скрипт сканирует файлы конфигурации npmrc в домашнем каталоге и текущем каталоге в попытке найти токен авторизации реестра npm.
Если это удается, он проверяет токен, отправляя запрос на проверку к конечной точке API npm /-/whoami, после чего скрипт извлекает список из 100 пакетов, поддерживаемых жертвой.
Для каждого пакета он внедряет вредоносные файлы setup_bun.js и bun_environment.js через bundleAssets и обновляет конфигурацию пакета, устанавливая setup_bun.js в качестве предустановочного скрипта и увеличивая версию пакета.
Изменённый пакет затем публикуется в реестре npm.
Если вредоносная ПО не может получить токен npm и GitHub, что делает кражу данных невозможной, она запускает разрушительную полезную нагрузку, которая стирает пользовательские файлы, в первую очередь те, которые находятся в домашнем каталоге.
С сентября этого года Лаборатория Касперского заблокировала более 1700 атак Shai Hulud 2.0 на компьютеры пользователей.
Из них 18,5% затронули пользователей в России, 10,7% - в Индии и 9,7% - в Бразилии.
В ЛК продолжают отслеживать вредоносную активность, предоставляя актуальную информацию через Kaspersky Open Source Software Threats Data Feed, которая включает все пакеты, затронутые Shai-Hulud, а также информацию о других опенсорс-компонентах с вредоносным поведением.