Спецпроекты

Безопасность Техника

Северокорейские хакеры атакуют разработчиков на Python и JavaScript, подсовывая троян под видом соревновательного теста

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

Все начинается с LinkedIn

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

По данным экспертов подразделения Palo Alto Networks Unit 42, группировка, именуемая Slow Pisces (также известная как Jade Sleet, PUKCHONG, TraderTraitor и UNC4899), пытается атаковать разработчиков с помощью двух вредоносов RN Loader и RN Stealer.

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

Северокорейские хакеры под видом соревновательного теста подсовывают разработчикам вредонос на Python

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

В 2023 г. GitHub опубликовал бюллетень, в котором указывалось, что один и тот же кластер угроз ведет кампанию против программистов, занятых в таких сферах как блокчейн и криптовалюты, а также азартные игры и кибербезопасность. Жертвам сгружались вредоносные npm-пакеты.

В 2024 г. фирма Mandiant обрисовала новую методику атакующих: они сперва отправляли жертвам невинный PDF-документ с описанием вакансии, а затем, если они были заинтересованы, опросник с тестовым заданием, для выполнения которого надо было загрузить с GitHub и запустить проект на языке Python, предназначенный для просмотра курсов криптовалют. На деле этот пакет устанавливал соединение с удаленным сервером, и, если машина жертвы отвечала определенным параметрам, загружал вредоносные компоненты второй стадии.

Нынешняя кампания следует той же схеме. Жертвы - непосредственные получатели вредоносов второй стадии - отбираются, судя по всему, по IP-адресам, геолокации, временным зонам и HTTP-заголовкам.

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

В то же время хакеры совершенствовали свои методы обеспечения безопасности на таких сайтах как GitHub, время от времени меня как приманки, так и способы запуска «полезной нагрузки» в системах жертв.

По мнению экспертов Unit 42, злоумышленники также очень не хотели бы, чтобы их вредоносные инструменты попадали в руки специалистов по кибербезопасности, с чем и связана разборчивость в выборе, кому их отправлять, а кому нет.

Тестовые задания с сюрпризом

В большинстве случаев потенциальным жертвам предлагались «тестовые задания» либо на Python, либо на JavaScript. Репозитории GitHub, принадлежавшие злоумышленникам, содержали видоизмененный код, скопированный из других проектов. В основном это были средства просмотра и анализа биржевых данных, курсов криптовалют, а также метеорологической информации и статистики футбольных лиг Европы.

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

Разработчикам на JavaScript предлагается проект Cryptocurrency Dashboard, через который - также опосредованно - осуществляется скрытная загрузка вредоносных компонентов.

«Репозиторий использует инструмент Embedded JavaScript (EJS), который передает присланные с сервера C2 значения в функцию ejs.render(), — говорится в публикации Unit42. — Как и использование yaml.load(), это еще один метод, который Slow Pisces использует для сокрытия выполнения произвольного кода со своих серверов C2, и применение этого метода становится понятным только в том случае, если виден конечный вредоносный компонент».

К настоящему моменту известно, что разработчикам на Python загружается RN Loader, вредонос, который собирает основную информацию о машине, на которой его запустили, и передает ее на командный сервер через протокол HTTPS. Затем он загружает и запускает объект второй стадии в кодировке Base64.

Этим объектом является RN Stealer, многофункциональный троянец, который способен выводить важную информацию из систем под управлением Apple macOS: метаданные, сведения об установленном ПО, список каталогов и контент из домашнего каталога пользователя. Кроме того, он ворует данные о ключах к iCloud, сохраненные SSH-ключи, файлы настроек AWS, Kubernetes и Google Cloud.

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

Что именно загружается разработчикам на JavaScript, исследователям установить не удалось.

Python и JavaScript - не единственные языки, разработчиков на которых злоумышленники пытаются атаковать. Известны репозитории с проектами на языке Java, принадлежащие тем же злоумышленникам, но их намного меньше.

«Python и JavaScript - широко распространенные языке для написания веб-приложений, и, по-видимому, злоумышленники в каждый момент времени атакуют тех, кто им более важен», — говорит Александр Зонов, эксперт по информационной безопасности компании SEQ. «Но конечная цель, скорее всего, одна и та же: найти слабые места в криптовалютных ресурсах, чтобы их ограбить».

Роман Георгиев

Короткая ссылка