Более 2 000 Windows-систем уже скомпрометированы через вредоносные репозитории GitHub, замаскированные под утилиты для сканирования, тестирования безопасности и разбора логов. Для российских разработчиков и ИБ-команд это неприятное напоминание: даже небольшой скрипт «чтобы быстро почистить вывод сканера» может оказаться входной точкой для бэкдора и кражи корпоративных секретов.
Исследователи Dr. Web обнаружили кампанию, о которой сообщает BleepingComputer. Её операторы публикуют на GitHub проекты, внешне полезные для специалистов по безопасности: например, один из репозиториев предлагал лёгкий скрипт для разбора, очистки и форматирования результатов сетевого сканера Fscan. Внутри скрывался код, запускающий цепочку заражения ещё до того, как пользователь успеет получить ожидаемый результат работы утилиты.
Кампания действует около двух лет. Вначале злоумышленники охотились на пользователей криптокошельков, поклонников блокчейн-игр, ботов и читов. Теперь приманки стали заметно профессиональнее: фокус сместился на аудит инфраструктуры, автоматизацию проверок и анализ журналов событий. Это логичная эволюция: у ИБ-специалиста, DevOps-инженера или разработчика на рабочей станции часто есть доступ к VPN, облачным консолям, репозиториям, серверам и токенам — гораздо более ценная добыча, чем содержимое домашнего компьютера.
Вредоносный код исследователи нашли в проектах Visual Studio, Python-скриптах и исходниках на Go. Его прятали после длинных последовательностей пробелов — приём старый, но всё ещё рабочий, особенно когда код просматривают наспех или доверяют репутации GitHub как платформы. В части Visual Studio-проектов полезная нагрузка была привязана к событию предварительной сборки: она запускалась до компиляции приложения. Иными словами, открыть проект и нажать привычную кнопку сборки могло быть достаточно для начала атаки.
Далее PowerShell получает зашифрованную ссылку на загрузку и скачивает модульный загрузчик на базе Electron под именем Microsoft.exe. Он закрепляется в системе, пытается повысить привилегии, отключает защитные и восстановительные механизмы Windows, а затем внедряет следующий этап атаки в легитимные процессы. Использование знакомого имени файла здесь не выглядит изящной социальной инженерией, но в сочетании с запуском из уже «доверенного» проекта может сработать.
Загрузчик работает в нескольких режимах обхода защиты. Основной, Mode3, маскирует родительский процесс, меняет настройку реестра для отключения Smart App Control, восстанавливает оригинальный код ntdll.dll, чтобы убрать перехваты средств защиты, и использует прямые системные вызовы Windows. Также он модифицирует в памяти функции, связанные с трассировкой событий и проверкой скриптов через AMSI. Если основной сценарий не запускается, включается Mode2: он добавляет исключения в Microsoft Defender, расшифровывает полезную нагрузку через PowerShell и внедряет её в RegAsm.exe.
Финальный набор вредоносного ПО включает бэкдор AsyncRAT, клиппер для подмены адресов криптокошельков в буфере обмена и инфостилер. Последний собирает данные браузеров, настройки VPN, конфигурации FTP-клиентов, игровые аккаунты и токены Discord, после чего отправляет их через Telegram-бота. Отдельно вредонос пытается удалить ESET, McAfee и Malwarebytes, нарушить их связь с серверами обновлений и помешать работе резервного копирования Windows. Для рабочей машины разработчика такой набор означает риск не только личной утечки, но и компрометации доступов всей команды.
Вредоносные репозитории GitHub особенно опасны тем, что играют на нормальной инженерной привычке переиспользовать готовые инструменты. Проверка звёзд, даты создания и README уже недостаточна: полезно просматривать файлы проекта на подозрительные pre-build- и post-build-события, необычные PowerShell-вызовы, загрузки из сети и длинные нечитаемые блоки. В компаниях стоит ограничить запуск непроверенных скриптов на привилегированных рабочих станциях, использовать изолированные окружения для оценки внешних утилит и следить за тем, какие токены и учётные данные доступны локально.
Dr. Web также обнаружила незавершённый компонент, который, вероятно, должен поддерживать работу загрузчика и повторно скачивать его после удаления с диска. Это указывает на развитие кампании, а не на разовую раздачу заражённых проектов. GitHub остаётся удобнейшим местом для обмена инструментами, но доверять репозиторию только потому, что он выглядит технически правдоподобно, становится всё дороже. Детали исследования и индикаторы компрометации приведены в материале .

