Северокорейские хакеры освоили новую тактику: вредоносный код теперь прячется в Git-ловушках

APT

Разработчики, проходящие собеседования в сфере DeFi и криптовалют, снова оказались под прицелом. Специалисты команды OpenSourceMalware обнаружили существенное изменение в тактике операторов кампании, известной как Contagious Interview. Вместо того чтобы встраивать вредоносный загрузчик в файлы конфигурации редактора VS Code или поддельные веб-шрифты, злоумышленники перешли на более коварный вектор атаки - Git-ловушки (Git hooks).

Описание

Суть атаки остается прежней. Соискателю предлагают клонировать репозиторий с тестовым заданием, связанным с разработкой криптовалютного проекта. После клонирования злоумышленники делают ставку на то, что кандидат запустит выполнение кода в соответствии с инструкциями. Однако теперь опасность подстерегает разработчика намного раньше - при первой же попытке зафиксировать изменения.

Технически атака реализована через предварительно настроенную ловушку pre-commit. Этот скрипт находится в каталоге .githooks и запускается автоматически до того, как система даже запишет информацию о коммите. Сам скрипт очень короток, в чем и заключается его преимущество. Он определяет операционную систему жертвы при помощи команды uname -s, а затем загружает дополнительную вредоносную нагрузку с удаленного сервера и сразу передает ее в оболочку системы.

Например, для систем macOS и Linux скрипт обращается к ресурсу hxxps://precommit[.]vercel.app/settings/mac?flag=5 или linux?flag=5 и с помощью команд curl или wget скачивает и выполняет сценарий. Для пользователей Windows, работающих через эмуляторы Unix-окружения вроде Git Bash или MSYS, применяется отдельный вариант, который запускается через cmd.exe. Параметр flag=5, как полагают исследователи, является идентификатором конкретной кампании - операторы Contagious Interview ранее уже использовали подобные метки для отслеживания эффективности своих приманок.

Примечательно, что вся работа скрипта происходит незаметно для разработчика. Вывод консоли подавляется через перенаправление в системную пустоту, а команда exit 0 принудительно сообщает системе, что операция завершилась успешно. В результате коммит проходит в штатном режиме, и разработчик не замечает подозрительной активности.

Доменное имя precommit[.]vercel.app - часть социальной инженерии. При беглом взгляде оно напоминает официальный сайт популярной инфраструктуры для управления Git-ловушками. На самом деле это развертывание на бесплатной платформе Vercel, которое злоумышленники могут в любой момент удалить или заменить на новый сервер.

Почему выбор пал именно на pre-commit ловушки? Этот механизм идеально вписывается в рабочий процесс разработчика. Множество проектов используют инструменты вроде Husky или pre-commit framework, поэтому появление каталога .githooks не вызывает подозрений. Сама ловушка срабатывает в тот момент, когда кандидат пытается исправить баг в коде и зафиксировать изменения - а это именно то, что от него требует подставной рекрутер. Большинство соискателей, клонировав репозиторий, выполняют настройку путей к ловушкам через команду git config core.hooksPath, даже не заглядывая внутрь скриптов.

Более того, операторы перешли на новую тактику, вероятно, из-за того, что Microsoft начала уделять больше внимания проблеме автоматического выполнения кода через tasks.json в VS Code. Разработчики этих атак явно ищут новые инструменты взаимодействия, которые могут сработать на машине жертвы без ее ведома.

Исследователи отмечают, что один и тот же скрипт pre-commit с идентичным содержимым уже обнаружен в нескольких репозиториях, созданных в рамках стандартной схемы Contagious Interview. Все они имеют общие черты: свежие учетные записи, минимальную историю коммитов, тематику DeFi или криптовалют. Кроме того, группа начала использовать и более опасную разновидность ловушек - post-checkout, которые запускаются при каждом переключении между ветками репозитория.

Рекомендация для разработчиков, особенно работающих в сфере криптовалют, DeFi и web3, предельно проста. Любой репозиторий, полученный в рамках собеседования, стоит рассматривать как потенциально вредоносный. Перед запуском кода необходимо проверять содержимое каталогов .githooks, .husky, .vscode/tasks.json и любых пост-установочных скриптов. Однако самый надежный способ защиты - запускать все тестовые задания в изолированной виртуальной машине, к которой не подключены ни кошельки, ни SSH-ключи, ни рабочие браузерные профили. Игнорирование этой угрозы может привести к компрометации криптовалютных активов и краже учетных данных - именно на это и нацелены программы-загрузчики, которые проникают в систему через новый вектор атаки.

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

Domains

  • precommit.vercel.app

URLs

  • https://precommit.vercel.app/settings/linux?flag=5
  • https://precommit.vercel.app/settings/mac?flag=5
  • https://precommit.vercel.app/settings/windows?flag=5

Комментарии: 0