Зловреды в тестовых заданиях для разработчиков

Хакеры продолжают охотиться на разработчиков: во время фейкового собеседования их просят запустить скрипт с GitHub, в котором скрывается бэкдор.

Бэкдор в тестовом задании для разработчиков на GitHub

Как правило, разработчики ПО являются как минимум продвинутыми пользователями компьютеров. Поэтому может сложиться впечатление, что они с большей вероятностью смогут выявить и отразить атаку злоумышленников. Но, как показывает практика, от социальной инженерии не защищен никто — надо лишь найти к человеку правильный подход. В случае IT-специалистов таким подходом часто может стать предложение хорошо оплачиваемой работы в престижной компании. В погоне за вакансией мечты даже опытные айтишники иногда теряют осторожность и начинают вести себя ничем не лучше школьников, скачивающих пиратские игры из Интернета. А реальной целью (а точнее жертвой) атаки может стать его текущий работодатель.

Недавно стало известно о новой схеме, которую хакеры используют для заражения компьютеров интересующих их разработчиков: под видом тестового задания они подсовывают соискателям скрипт с бэкдором. И это не изолированный случай, а лишь самая свежая итерация хорошо отлаженного процесса. Хакеры уже несколько лет активно используют фейковые вакансии для охоты на IT-специалистов — и в ряде случаев добиваются поистине оглушительного успеха.

Казалось бы, это должно быть личной проблемой айтишника. Но в современных условиях велика вероятность, что и основную работу, и тестовое задание на новую вакансию специалист будет делать на одной и той же машине. То есть под угрозой может оказаться не только личная, но и корпоративная информация.

Фейковая вакансия, криптоигра и ограбление на $540 миллионов

Один из самых громких случаев успешного применения тактики фейковой вакансии произошел в 2022 году. Тогда злоумышленникам удалось связаться (вероятно, через LinkedIn) с одним из старших инженеров компании Sky Mavis, которая разрабатывает криптоигру Axie Infinity, и предложить ему высокооплачиваемую работу.

Получив заманчивое предложение, сотрудник прилежно прошел несколько инсценированных взломщиками этапов отбора. В итоге все, естественно, закончилось получением оффера, который был отправлен жертве в виде PDF-файла.

Файл оказался зараженным — после того как сотрудник Sky Mavis скачал и открыл документ, в сеть компании попала шпионская программа. Немного осмотревшись в инфраструктуре компании, взломщики заполучили приватные ключи пяти валидаторов внутреннего блокчейна Axie Infinity под названием Ronin. Имея эти ключи, хакеры получили полный контроль над движением криптовалютных активов, хранившихся в кошельках компании.

Результатом этой истории стало одно из самых масштабных криптоограблений века. Злоумышленникам удалось увести у Sky Mavis 173 600 ETH и 25 500 000 USDC, что по курсу на момент ограбления составляло около $540 миллионов.

 

Больше фейковых вакансий, больше зловредов

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

Один из сценариев атаки выглядит следующим образом: через LinkedIn с жертвой связывается некто, представляющийся рекрутером какой-нибудь крупной технологической компании. После некоторого количества общения жертве поступает «интересное предложение».

Но для получения работы необходимо продемонстрировать свои навыки программирования, для чего требуется выполнить некое тестовое задание. Задание это присылают в ISO-файлах, которые жертве предлагается загрузить по ссылке. После запуска содержимого этих файлов на компьютер жертвы сперва попадает вредоносный загрузчик NickelLoader, который далее устанавливает один из двух бэкдоров — miniBlindingCan или LightlessCan.

В другом сценарии злоумышленники под видом рекрутеров также инициируют общение с жертвой в LinkedIn, но далее плавно переводят беседу в WhatsApp. В определенный момент жертве отправляют файл с описанием вакансии в формате Microsoft Word. В файле, как несложно догадаться, содержится вредоносный макрос, который устанавливает на компьютер жертвы бэкдор PlankWalk.

В еще одном варианте атаки на пользователей Linux использовался вредоносный архив с названием HSBC job offer.pdf.zip. Внутри архива содержался исполняемый файл, замаскированный под PDF-документ. Интересно, что для маскировки настоящего расширения файла в этом случае злоумышленники использовали экзотический символ, так называемое отточие (U+2024). Для человека этот символ выглядит как точка, но с точки зрения компьютера, естественно, это совершенно другой знак.

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

Фейковое тестовое задание с трояном на GitHub

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

Когда дело доходит до собеседования, жертву просят выполнить тестовое задание. Однако, в отличие от предыдущих вариаций схемы, вместо того чтобы напрямую прислать файл, разработчика отправляют за ним в репозиторий на GitHub. Сам файл представляет собой ZIP-архив, в котором находится на первый взгляд ничем не примечательный проект Node.js.

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

Когда жертва запускает вредоносный проект, вышеописанный код загружает, разархивирует и выполняет код следующей ступени зловреда. Эта ступень представляет собой Python-файл без расширения, с точкой в начале названия файла, сигнализирующей операционной системе, что файл скрытый. Данный скрипт запускает следующую ступень атаки — еще один Python-скрипт, в котором и содержится код бэкдора.

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

Как и в других вариациях этой схемы, расчет злоумышленников состоит в том, что жертва проходит «собеседование» на рабочем компьютере и на нем же запускает «тестовое задание». Таким образом хакеры получают доступ в инфраструктуру интересующей их компании. Дальнейшие действия, как показывает история, могут быть различными: от троянизации разрабатываемого компанией-жертвой ПО до прямого хищения средств со счетов организации, как это было в истории Sky Mavis, с которой мы начали этот текст.

Как защититься

Как мы уже сказали выше, от атак с использованием социальной инженерии фундаментальной защиты пока, увы, не придумано — для них потенциально уязвим любой человек, злоумышленникам надо лишь найти к нему правильный подход. Тем не менее можно сделать задачу атакующих значительно более сложной:

  • Повышайте осведомленность сотрудников, в том числе разработчиков, о киберугрозах с помощью специализированных тренингов. Организовать такое обучение несложно — достаточно воспользоваться нашей автоматизированной образовательной платформой Kaspersky Automated Security Awareness Platform.
  • Обязательно используйте надежное защитное решение на всех корпоративных устройствах.
  • Если внутренних ресурсов и экспертизы недостаточно, можно воспользоваться внешним сервисом, таким как Kaspersky Managed Detection and Response.
Советы