Contagious Interview атакует через задачи VS Code и WeaselStore
Исследователи кибербезопасности описали кампанию Contagious Interview, в рамках которой злоумышленники используют Visual Studio Code (VS Code) и его автоматизированные задачи как часть вектора атаки. В центре схемы — вредоносное ПО WeaselStore, совмещающее функции information stealer и Remote Access Trojan (RAT).
По данным отчета, инфраструктура атаки рассчитана на две разные платформы: PylangGhost для Windows, написанный на Python, и GolangGhost для macOS, разработанный на Go. Обе версии опираются на извлеченные скрипты, размещенные в GitHub Gists, и используют слабые места в автоматизированных задачах VS Code.
Как работает атака на Windows
Для развертывания на Windows злоумышленники запускают PylangGhost через PowerShell-скрипт, замаскированный под установщик NVIDIA CUDA Toolkit. Далее цепочка действий выглядит следующим образом:
- скрипт загружает ZIP-файл с вредоносного домена;
- извлекает содержимое в локальный временный каталог AppData;
- запускает программу на VBScript;
- VBScript инициирует выполнение Python-скрипта;
- Python-скрипт декодирует и выполняет содержимое в Base64, которое служит точкой входа для PylangGhost.
Отдельное внимание в отчете уделено механизму закрепления. Если вредоносное ПО получает права администратора, оно создает scheduled task, чтобы запускаться при каждом входе в систему. Если повышение привилегий недоступно, используются альтернативные методы закрепления: запись в раздел реестра HKCU или помещение команд в папку автозагрузки пользователя.
Версия для macOS и особенности GolangGhost
Вариант для macOS, GolangGhost, использует похожую схему доставки: ZIP-файл также загружается и распаковывается, но в этом случае применяется bash-скрипт. Содержимое помещается в каталог /var/tmp/WebCam/, после чего запускается скрипт, регистрирующийся в системе как LaunchAgent для закрепления.
При этом в отчете отмечается важная деталь: пакет приложений, включенный в это развертывание, оказывается пустым. Это позволяет предположить, что он может быть либо заполнителем, либо незавершенным компонентом инфраструктуры атаки.
Управляющая инфраструктура и повторное использование GitHub
Обе версии WeaselStore обмениваются данными с управляющими серверами, в которых используются жестко закодированные IP-адреса. Для PylangGhost указан адрес hxxp://144.172.115.189:8080. Для GolangGhost также упоминается второй сервер — hxxp://23.227.203.99:8080, однако в образце кода он закомментирован.
Авторы отчета также подчеркивают, что злоумышленники часто повторно используют backdoor-репозитории в GitHub, изменяя промежуточные URL-адреса и встраивая вредоносные компоненты в код приложения. Такая практика демонстрирует, насколько гибко атакующие адаптируют свои методы и перестраивают инфраструктуру.
Недавние обновления VS Code направлены на ограничение возможностей вредоносных репозиториев переопределять настройки пользовательского уровня, однако аудит пользовательских конфигураций по-прежнему остается критически важным.
На что должны обращать внимание defenders
В отчете отдельно перечислены признаки, которые могут помочь в обнаружении подобной активности. Среди них — необычные взаимосвязи процессов и нетипичное использование сред выполнения Python или Go.
wscript.exe, запускаемый изPowerShellилиCMD;- извлечение portable Python- или Go-environment в нетипичные каталоги;
- неожиданные задачи scheduled task или LaunchAgent;
- подозрительная активность вокруг GitHub Gists и пользовательских конфигураций VS Code;
- соединения с жестко заданными IP-адресами управляющей инфраструктуры.
По мере развития атакующих методов понимание того, как они злоупотребляют автоматизированными задачами в средах разработки, становится ключевым элементом защиты. В случае с Contagious Interview речь идет не просто о доставке вредоносного кода, а о комплексной адаптации инфраструктуры под разные платформы и сценарии закрепления.
Отчет получен из сервиса CTT Report Hub. Права на отчет принадлежат его владельцу.
Ознакомиться подробнее с отчетом можно по ссылке.


