Новая угроза для разработчиков: фишинговые предложения работы в LinkedIn доставляют вредоносный RAT через GitHub и смарт-контракты Binance Smart Chain

information security

Специалисты по безопасности зафиксировали целенаправленную кампанию, в рамках которой злоумышленники, притворяясь рекрутерами в LinkedIn, обманом заставляют разработчиков запускать вредоносный код, спрятанный в репозиториях GitHub. Уникальность атаки заключается в использовании блокчейна для хранения основного вредоносного модуля: полезная нагрузка динамически подгружается во время выполнения из смарт-контракта в сети Binance Smart Chain (BSC), что позволяет обходить традиционные средства защиты. После заражения имплант обеспечивает злоумышленникам полный удалённый контроль над системой жертвы, что несёт прямую угрозу коммерческой тайне, исходному коду и критически важным учетным данным компаний-разработчиков.

Описание

Кампания, получившая рабочее название по имени основного репозитория-приманки «Tech-Core», эксплуатирует стандартные рабочие процессы разработчиков. Злоумышленник, используя поддельный профиль в LinkedIn, предлагает потенциальной жертве пройти техническое собеседование, которое сводится к клонированию и запуску определённого репозитория на GitHub. Согласно анализу ThreatProphet, как только разработчик открывает папку проекта в редакторе Visual Studio Code, происходит автоматическое выполнение скрытой задачи, прописанной в конфигурационном файле ".vscode/tasks.json". Ключевое свойство "runOn: "folderOpen"" позволяет коду запускаться без какого-либо дополнительного взаимодействия с пользователем, что резко снижает порог успешного заражения.

Первоначальный скрипт, загружаемый с контролируемых злоумышленниками доменов на платформе Vercel, представляет собой сложную цепочку исполнения. Она включает проверку окружения, при необходимости автоматическую установку Node.js и в конечном итоге загрузку и запуск импланта, функционально идентичного тому, что хранится в блокчейне. Этот многоэтапный подход повышает отказоустойчивость атаки и расширяет круг потенциальных жертв, включая системы без предустановленной среды выполнения Node.js. Однако главной технической особенностью является второй этап, реализованный в самом репозитории. Вместо того чтобы хранить вредоносный JavaScript-код в файлах проекта, логика в "server/controllers/collection.js" обращается к смарт-контракту в сети BSC по адресу "0xE251b37Bac8D85984d96da55dc977A609716EBDc".

Этот контракт, через функцию "getMemo()", возвращает сегменты обфусцированного кода, которые затем собираются воедино и динамически исполняются с помощью конструктора "new Function('require', payload)(require)". Данный метод крайне затрудняет статический анализ, поскольку финальная полезная нагрузка не существует в репозитории или на диске до момента исполнения, оставаясь вне досягаемости сканеров репозиториев и классических антивирусных решений. После активации имплант начинает активно взаимодействовать с командным сервером (C2). Он собирает детальную информацию о системе: имя хоста, MAC-адреса сетевых интерфейсов и данные об операционной системе, отправляя их на сервер "163.245.194[.]216:3000" каждые пять секунд.

Как показало исследование, сервер управления может в ответ прислать произвольный JavaScript-код, который будет немедленно выполнен на заражённой машине. Это предоставляет атакующему возможности для полного удалённого выполнения кода, кражи данных, установки дополнительных вредоносных программ или движения по сети организации. Анализ инфраструктуры и тактик выявил кластер из нескольких взаимосвязанных репозиториев под управлением аккаунта "LuckyKat1001", использующих схожие механизмы. Кроме того, была обнаружена кампания по ребрендингу: репозиторий "Softstack-Platform-MVP2" в организации "Softstack-Hub5" является точной копией "Tech-Core", включая тот же самый смарт-контракт BSC для доставки полезной нагрузки.

Примечательно, что название организации "Softstack-Hub5" имитирует реальную немецкую компанию SOFTSTACK GmbH, что указывает на целенаправленную подготовку персонажей для социальной инженерии. Существование заготовленного аккаунта "Softstack-Hub4" без публичных репозиториев говорит о систематическом подходе злоумышленников к созданию и ротации инфраструктуры. Техники, тактики и процедуры (TTP), использованные в этой кампании, включая целевую фишинговую рассылку через LinkedIn, тематику Web3 и использование блокчейна для стейджинга, перекликаются с деятельностью, ранее приписываемой Lazarus Group в рамках операций «Contagious Interview». Однако эксперты оценивают уверенность в этой атрибуции как низкую-среднюю, поскольку данные методы могут быть заимствованы другими продвинутыми группами.

Для специалистов по информационной безопасности и разработчиков кампания служит серьёзным напоминанием о рисках, связанных с выполнением незнакомого кода, даже в контексте трудоустройства. В качестве мер защиты рекомендуется отключить автоматический запуск задач в VS Code через настройку "task.allowAutomaticTasks", тщательно проверять файлы ".vscode/tasks.json" в неизвестных проектах и запускать подозрительные репозитории в изолированных виртуальных средах. На сетевом уровне необходимо заблокировать исходящие соединения на IP-адрес "163.245.194[.]216" и настроить мониторинг HTTP-запросов к шаблону "/api/err/error" с параметром "exceptionId=1228". В случае возможного заражения первым шагом должна быть немедленная изоляция системы от сети и смена всех учётных данных, к которым у неё был потенциальный доступ.

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

IPv4 Port Combinations

  • 163.245.194.216:3000

Domains

  • vscode-ipchecking.vercel.app

SHA256

  • 2f65e39dcbcb028da4bf4da43f3a1db7e5f9fff2dfd57ad1a5abd85d7950f365
  • 30d3b0536692d1c9455921ff97e4adfef1f463a26f3043c302f950c010911f66
  • 5cde597193dd137e09b1d53e6869ee8d5930bd36d5992705b036acc435b2a38e
  • 6e04b6337480ca0395b28c78ce9a7066ce345f4b87f7b844a0414a4dfffcf5f9
  • 6effad9fdee81589b37c60bbbae20483200bf53bee3e3c107b1aa47d2ac4ccb3
  • 85dcf1705064dcd13e6d1b95b5c1e9f62f269887410385a474a462426d9e9384
  • 89b2ecf801d5c93c71a8a7f01e3a3ee37f45590e14e035741bd1a8a5f4c33ded
  • 95bc7ce3500278ff3e092c13e25675ea297301c54917a92b38ba4b10d471269f
  • 9f8c712f1364a87e1b4677395e2a2c8849c63526611a4665d197348c50f47818
  • a7cd162c691ad71a4c0c5955765d8f7a60d8b7b9a92b277b1ae74b280644cdf8
  • ceff282f32aae9ce3dea6a9b00212e6de90669646180cb5e5bb6bf5353527bbd
  • e1790a08ebf0402d49e826b6f773b3b6e55f3cb5a755bc2067dda2a0c2737503
Комментарии: 0