Злоумышленники использовали функции автоматизации GitHub и проекты Visual Studio, чтобы продвигать новый вариант вредоносного ПО Keyzetsu. Он перехватывает данные из буфера обмена и позволяет красть криптовалютные платежи.
Хакеры создают репозитории GitHub с именами, которые за счёт накрутки получают более высокий рейтинг в результатах поиска. Устройства пользователей, которые загружают файлы из этих репозиториев, заражаются вредоносным ПО, скрытым в в проектах Visual Studio. Оно запускается во время сборки проекта.
Согласно отчёту Checkmarx, кампания использует несколько репозиториев GitHub, названных в честь популярных тем и проектов. GitHub Actions позволяет обновлять их с очень высокой частотой путём внесения в файл журнала незначительных случайных изменений. Это делается для того, чтобы репозитории занимали высокие позиции в результатах поиска, которые сортируются по принципу «последних обновлений». Также злоумышленники создают поддельные учётные записи GitHub, которые ставят звёзды этим репозиториям, чтобы создать ложное ощущение популярности и надёжности проектов.
Полезная нагрузка вредоносного ПО обычно скрыта внутри событий сборки во вредоносных файлах проекта Visual Studio, хотя встречаются и некоторые другие варианты. Событие сборки Visual Studio — это команды, которые необходимо выполнить на разных этапах данного процесса. Например, вредоносный проект ниже использует PreBuildEvent для записи вредоносного ПО на диск и выполнения его до компиляции проекта.
Он состоит из пакетного сценария и сценария PowerShell в кодировке Base64, который выполняется последовательно: очистить временные файлы; получить IP-адрес и определить, находится ли он в России; загрузить зашифрованные файлы с указанного URL-адреса в зависимости от кода страны; расшифровать, извлечь и запустить загруженные файлы.
С 3 апреля 2024 года кампания перешла на использование зашифрованной полезной нагрузки /7z, содержащей исполняемый файл размером 750 МБ с именем «feedbackAPI.exe». Такой размер файла был достигнут за счёт его «раздувания» путём добавления нулей. В итоге файл стал слишком большим для сканирования такими инструментами безопасности, как VirusTotal.
Во всех случаях конечная полезная нагрузка представляет собой вариант вредоносного ПО Keyzetsu Clipboard Clipboard, которое заменяет содержимое буфера обмена Windows собственными данными злоумышленника. Это вредоносное ПО обычно используется для подмены адресов криптовалютных кошельков, скопированных жертвой, на адреса хакеров. Это позволяет перенаправлять платежи на указанные кошельки.
В системах Windows полезная нагрузка создаёт запланированную задачу с именем «Feedback_API_VS_Services_Client», которая запускает вредоносное ПО без запросов на подтверждение.
Пользователям посоветовали проверять активность репозитория на предмет подозрительных шаблонов, таких как избыточное число коммитов или оценок-звёзд, если они появились примерно в одно и то же время.
Ранее в репозитории Python-пакетов (PyPI) временно приостановили регистрацию пользователей и создание новых проектов. Такие меры приняли для борьбы с продолжающейся кампанией распространения вредоносного ПО. В Checkmarx сообщили, что накануне злоумышленники начали загружать в PyPI 365 пакеты с именами, имитирующими легальные проекты.