Пакеты Go распространяют скрытые вредоносные нагрузки через обфусцированные загрузчики

information security

Команда исследования угроз компании Socket обнаружила одиннадцать вредоносных пакетов в экосистеме Go, десять из которых остаются доступными в официальном репозитории Go Module. Восемь из них используют технику типосквоттинга, маскируясь под легитимные библиотеки. Пакеты содержат идентичные обфусцированные загрузчики, которые при выполнении скрытно запускают командную оболочку, загружают второстепенную вредоносную нагрузку с управляющих серверов (C2) и исполняют её в памяти, минуя запись на диск.

Описание

Техника атаки и исполнение

Зловредный код применяет индексную обфускацию строк: команды собираются из элементов массива, что затрудняет статический анализ. Пример из пакета "github.com/expertsandba/opt" демонстрирует функцию "QSpKOPl", где массив "KusM" скрывает команду:

Амперсанд в конце обеспечивает фоновое выполнение, делая процесс незаметным для пользователя.

Второстепенные нагрузки адаптированы под ОС:

  • Для Linux: Bash-скрипт выдерживает часовую паузу ("sleep 3600") для обхода песочниц, затем загружает ELF-бинарник (например, "f0eee999"), который сканирует файловую систему и отправляет данные.
  • Для Windows: Используется "certutil.exe" для загрузки EXE-файла (например, "appwinx64.exe"), который запускается в фоне через "start /b". Эти файлы похищают данные браузеров и системную информацию.

Активная инфраструктура и взаимосвязи

Шесть из десяти C2-доменов (включая "monsoletter.icu", "infinityhel.icu") остаются активными, что позволяет злоумышленнику удалённо контролировать заражённые системы. Семь URL используют идентичный путь "/storage/de373d0df/a31546bf", а два - "/storage/bbb28ef04/fa31546b". Пять пакетов взаимодействуют с несколькими C2 одновременно. Анализ SHA-256 хешей выявил известные вредоносные бинарники, например:

  • "844013025bf7c5d01e6f48df0e990103ad3c333be31f54cf5301e1463f6ca441" (ELF);
  • "4a8bf419424ff42b736a51472d35a2c172e4c60b762c519b0b2f9eb04690726c" (EXE).

Повторяемость C2-эндпоинтов и методов обфускации указывает на возможную связь между пакетами. Например, "github.com/ordinarymea/tnsr_ids", "github.com/lastnymph/gouid" и "github.com/sinfulsky/gouid" используют одни и те же домены "kaiaflow[.]icu", что свидетельствует об общем источнике.

Проблема типосквоттинга в Go

Децентрализованная природа Go (импорт напрямую из GitHub) упрощает подмену пакетов. Злоумышленники создают репозитории, визуально схожие с популярными библиотеками:

  • "github.com/stripedconsu/linker" имитирует легитимный "github.com/logrange/linker", копируя документацию;
  • "github.com/cavernouskina/mcp-go" - типосквот пакета "cavernous/mcp-go";
  • Три пакета "gouid" ("lastnymph", "sinfulsky", "briefinitia") подменяют оригинальный "gouid".

Поиск по pkg.go.dev не всегда выявляет подделку из-за вариативности результатов. Например, запрос "stm" помещает вредоносный "github.com/agitatedleopa/stm" на пятое место, хотя у него всего три импорта.

Данная кампания перекликается с предыдущими находками Socket, где типосквоттинговые пакеты Go также распространяли вредоносные загрузчики. Сообществу следует ожидать новых атак с аналогичными TTPs (тактиками, техниками и процедурами), учитывая высокую автоматизацию процесса у злоумышленников.

Индикаторы компрометации

Malicious Packages

  • github.com/stripedconsu/linker
  • github.com/agitatedleopa/stm
  • github.com/expertsandba/opt
  • github.com/wetteepee/hcloud-ip-floater
  • github.com/weightycine/replika
  • github.com/ordinarymea/tnsr_ids
  • github.com/ordinarymea/TNSR_IDS
  • github.com/cavernouskina/mcp-go
  • github.com/lastnymph/gouid
  • github.com/sinfulsky/gouid
  • github.com/briefinitia/gouid

C2 Infrastructure

  • https://nymclassic.tech/storage/de373d0df/a31546bf
  • https://alturastreet.icu/storage/de373d0df/a31546bf
  • https://monsoletter.icu/storage/de373d0df/a31546bf
  • https://monsoletter.icu/storage/de373d0df/f0eee999
  • https://carvecomi.fun/storage/de373d0df/a31546bf
  • https://infinityhel.icu/storage/de373d0df/a31546bf
  • https://infinityhel.icu/storage/bbb28ef04/fa31546b
  • https://kaiaflow.icu/storage/de373d0df/a31546bf
  • https://kaiaflow.icu/storage/bbb28ef04/fa31546b
  • https://kavarecent.icu/storage/de373d0df/a31546bf

SHA256 Hashes

  • 844013025bf7c5d01e6f48df0e990103ad3c333be31f54cf5301e1463f6ca441
  • 4a8bf419424ff42b736a51472d35a2c172e4c60b762c519b0b2f9eb04690726c
  • 2b55430b90a500cb2bb9ddc530aeb1ffb8d2f8878148b7204ab7ef998d66eb9d
  • c8ae8d69f465f2d1ca88907e75471299acbb76b5663dacca1520aaa4d99d7b43
  • 42f3f9d2684328575847f3115fcd6f759cc47b0f21b3d4fea480de0f34a1e947
Комментарии: 0