Специалисты по безопасности цепочек поставок из компании Socket обнаружили Go-модуль, который выдавал себя за сканер DNS и поддоменов, а на деле служил загрузчиком вредоносного ПО для Windows. Пакет — dnsub-scanning-tool — был построен на основе кода легитимного открытого проекта dnsub, что и обеспечивало ему правдоподобное README и видимость рабочего инструмента. Первая версия появилась 24 января 2026 года, и с тех пор модуль накопил более 1 200 версий, из которых свыше 700 оказались вредоносными. Расследование вывело исследователей на сеть из 222 репозиториев GitHub, принадлежащих 190 учетным записям. Кампанию в Socket назвали «Operation Muck and Load» и сообщили о модуле команде безопасности Go, которая заблокировала его в прокси-сервере модулей.

Источник изображения - Getty ImagesИсточник изображения - Getty Images

Раздутая история версий

Go присваивает псевдо-версию на основе временной метки и хеша коммита любому коммиту без семантического тега. В Socket связывают взрывной рост числа версий модуля с собственным рабочим процессом злоумышленника в GitHub Actions: коммиты с привязкой ко времени регулярно разрешались как новые версии, из-за чего история релизов рядового сканера-утилиты раздулась до сотен записей.

Единый почерк за сотнями аккаунтов

Во всех подтвержденных репозиториях исследователи нашли один и тот же рабочий процесс: он выставляет Git-адрес ischhfd83@rambler.ru, подставляет в качестве видимого имени коммита текущего владельца репозитория, а затем каждую минуту принудительно перезаписывает файл лога. Такая схема создавала видимость активности от имени владельцев одноразовых аккаунтов, но оставляла один и тот же повторяющийся отпечаток. Репозиторий засчитывался в статистику Socket только при совпадении обоих признаков — адреса и рабочего процесса, — что и дало минимум 222 подтвержденных случая.

реклама кормит Уточку 🦆

Как срабатывает заражение

Файл main.go модуля запускает скрытую команду PowerShell, которая обращается к muckcoding.com, сохраняет полученные данные в файл api.db, декодирует его штатной утилитой certutil и запускает результат с обходом политики выполнения скриптов. Расшифрованный скрипт представляет собой многоуровневый загрузчик на Base64 и XOR-шифровании; в одном из слоев обнаружен комментарий на турецком языке, который переводится как «запускай напрямую, дополнительных шагов не требуется».

Тайники вместо жёсткого адреса

Вместо того чтобы зашивать в код постоянный адрес загрузки, резолвер вредоноса извлекает текст с публичных платформ, ищет в нём строку-маркер «LastW» и расшифровывает идущий за ней блок заранее заданным ключом — так восстанавливается фактический адрес полезной нагрузки. Такая схема позволяет злоумышленнику обновлять точку доставки, не трогая код загрузчика первой ступени, даже если защитники удалят конкретную запись.

Площадки, которые используются как тайники:

  • Pastebin и паста-сервис Rlim — основные хранилища
  • YouTube — резервный канал
  • Instagram*
  • Telegram
  • Google Docs
  • GitCode

реклама кормит Уточку 🦆

Итоговая нагрузка

Восстановленный адрес ведёт на защищённый паролем архив 7-Zip, размещённый как файл релиза на GitHub. Загрузчик распаковывает его в каталог, названный так, чтобы напоминать легитимную установку Microsoft Photos, и запускает оттуда файл Microsoft.exe в скрытом окне. Расшифрованные стадии соответствуют сигнатурам RAT-троянов AsyncRAT, Quasar и Remcos, а также поведению инфостилеров.

В проанализированном наборе Socket подтвердила как минимум 14 уникальных вредоносных файлов:

  • троянские загрузчики и дропперы
  • инфостилер Vidar
  • шпионские нагрузки
  • майнеры Monero на базе XMRig

Один и тот же файл Loader.exe оказался побайтово идентичным сразу в четырёх разных репозиториях — признак централизованной сборки, а не самостоятельной работы разных авторов.

реклама кормит Уточку 🦆

Приманки для разработчиков и геймеров

Темы репозиториев-приманок рассчитаны на разную аудиторию: интеграции с MetaMask и Trust Wallet, утилиты для работы с seed-фразами, автоматизация для Binance и PayPal, боты для Telegram и Discord, а также читы для PUBG, Valorant и Escape from Tarkov. Один из репозиториев, nrevv1lad/Pubg-DESYNC-Menu, выдавал себя за внешний чит с инструкцией по установке, но в дереве исходников содержал файл Loader.exe, связанный с Vidar.

Продолжение прошлогодней кампании

В Socket с высокой степенью уверенности считают, что «Operation Muck and Load» — продолжение кластера, который компания Sophos описывала в июне прошлого года. Тогда исследователи Sophos Мэтт Уикси и Эндрю О'Доннелл отследили 141 репозиторий GitHub, 133 из которых оказались бэкдорены, до того же адреса ischhfd83@rambler.ru. Sophos также зафиксировала псевдоним злоумышленника «Muck» — сейчас он закреплён в доменах muckcoding.com и muckdeveloper.com.

реклама кормит Уточку 🦆

Ни GitHub, ни команда Go пока не прокомментировали ситуацию сверх факта блокировки модуля в прокси-сервере. Для тех, кто подключает сторонние Go-модули в собственные проекты, история — лишний повод проверять репозиторий не только по количеству звёзд и версий, но и по реальной активности аккаунта-владельца: массовые автогенерируемые коммиты и раздутая история релизов сами по себе — тревожный признак.

* Instagram принадлежит компании Meta Platforms Inc., деятельность которой признана экстремистской и запрещена на территории Российской Федерации.