Злоумышленники используют Google Таблицы для управления шпионским ПО: новая версия кампании SHEETCREEP нацелена на индийских дипломатов

phishing

Исследователи в области информационной безопасности обнаружили продолжающуюся шпионскую кампанию, в рамках которой вредоносная программа удалённого доступа (RAT) использует API табличного редактора Google в качестве канала связи с командным центром (C2). Атака, получившая название SHEETCREEP, нацелена на сотрудников индийских дипломатических ведомств и ведомств по иностранным делам. Примечательно, что злоумышленники значительно усовершенствовали своё вредоносное программное обеспечение по сравнению с более ранними версиями, добавив шифрование конфигурационных данных и средства противодействия анализу.

Описание

Начальный вектор атаки - фишинговое письмо с вложением в виде образа диска (ISO), замаскированного под документ о стратегическом партнёрстве между ОАЭ и Индией. Файл называется UAE-India_Strategic_Partnership_Week.iso. Когда жертва монтирует образ, тот отображает единственный ярлык с расширением LNK, который визуально имитирует PDF-документ. При двойном клике ярлык запускает командную строку, которая исполняет вредоносный загрузчик - компактную программу на C#.

Загрузчик содержит два встроенных ресурса. Первый - это безвредный PDF-файл, который извлекается во временную папку и открывается, чтобы отвлечь пользователя. Второй - основное тело RAT, которое сохраняется в каталог %LOCALAPPDATA%\Microsoft\Vault\ под именем vaultsvc.exe. Выбор этого пути не случаен: папка Vault является легитимным хранилищем учётных данных Windows, поэтому файл-вредитель легко маскируется среди системных. После записи загрузчик устанавливает атрибуты "скрытый" и "системный", чтобы затруднить визуальное обнаружение.

Для закрепления в системе используется планировщик задач. Загрузчик не вызывает утилиту schtasks.exe (что фиксировалось бы в журналах), а создаёт задание программно через COM-интерфейс. Задание носит имя WindowsVaultSyncService и имеет запутанное описание, смешивающее термины "Edge", "Windows" и "Discord Update", чтобы при беглом осмотре выглядеть безобидным. Оно настроено на запуск при каждом входе пользователя в систему без ограничения времени выполнения.

Сразу после завершения установки загрузчик самоудаляется, запуская скрытый командный процесс, который задерживается на две секунды, стирает исходный EXE-файл и перемещает PDF-приманку на его место. К моменту проведения исследования единственными артефактами, остающимися на диске, остаются сам RAT в скрытой папке Vault и ссылающееся на него задание в планировщике.

После запуска вредоносная программа vaultsvc.exe создаёт уникальный идентификатор жертвы, объединяя имя пользователя, имя компьютера и короткий хеш SHA256. Этот идентификатор становится именем вкладки в таблице Google Sheets, которая выполняет функции командного центра. RAT также проверяет, не запущен ли уже его экземпляр, с помощью системного мьютекса.

Наиболее интересная особенность кампании - способ связи с командным центром. Вместо традиционного сервера программа аутентифицируется в API Google Sheets v4, используя жёстко зашитый сервисный аккаунт GCP и закрытый ключ RSA-2048. Весь трафик идёт по протоколу HTTPS к домену sheets.googleapis.com, что делает его практически неотличимым от обычной нагрузки Google Workspace на сетевом уровне.

Но если предыдущие варианты SHEETCREEP хранили конфигурационные строки в открытом виде, то новая версия шифрует их с помощью простого XOR-алгоритма. Ключом служит слово "discrete". Пароль расшифровывается во время выполнения через функцию JIT(). Исследователям удалось извлечь из бинарника зашифрованные данные и восстановить идентификатор таблицы и адрес сервисного аккаунта. Аутентификация происходит путём создания и подписи JSON Web Token (JWT); полученный токен обновляется каждые 50 минут.

Основной цикл работы RAT, названный Pulse(), выполняется по расписанию. Каждый цикл вредоносная программа проверяет, существует ли в таблице вкладка с её идентификатором, и при необходимости создаёт новую. Затем она записывает временную метку первого подключения в ячейку A1 и автоматически выполняет команду systeminfo, помещая результат в ту же таблицу. После этого программа читает диапазон ячеек A4:B100 в поисках новых команд от оператора. Команда считается ожидающей, если в столбце A есть данные, а столбец B пуст. Программа декодирует команду из Base64, исполняет её через встроенный в процесс экземпляр PowerShell (без запуска отдельного процесса powershell.exe) и записывает закодированный вывод обратно в таблицу с пометкой времени. За один цикл выполняется только одна команда, остальные ставятся в очередь.

Использование встроенного PowerShell - важная техника обхода защиты. Поскольку код выполняется внутри процесса vaultsvc.exe, системы обнаружения на уровне конечных точек (EDR) не видят дочерний процесс powershell.exe. В ходе тестирования единственным дочерним процессом RAT оказалась скрытая консоль conhost.exe. Кроме того, злоумышленники добавили механизмы активного противодействия анализу: если на машине обнаружены инструменты вроде dnSpy, Wireshark или Netmon, оператор может удалённо выполнить принудительную перезагрузку компьютера, прерывая сессию отладки.

В своём отчёте специалисты Securonix рассказали, что благодаря извлечению учётных данных сервисного аккаунта они смогли подключиться к реальной управляющей таблице и проанализировать активность жертв. На момент проверки таблица содержала 91 активную вкладку. Из них 28 вкладок принадлежали автоматизированным песочницам, 17 - исследовательским лабораториям с запущенными инструментами анализа, 16 пустых вкладок (вероятно, сработала антивирусная защита или сетевые фильтры) и 17 потенциально реальных целей. Среди последних была одна цель, идентифицированная как "высокая достоверность" - физический компьютер в Исламабаде, Пакистан.

На основе тематики фишинга (партнёрство ОАЭ-Индия), нацеленности на индийских дипломатов, использования ISO-образов, техники с Google Таблицами и геополитического контекста исследователи с умеренной уверенностью связывают кампанию с группировкой APT36 (Transparent Tribe), которая, как считается, действует в интересах Пакистана и ранее атаковала индийские правительственные и военные структуры.

Кампания SHEETCREEP демонстрирует зрелый подход к использованию доверенной облачной инфраструктуры. Все команды управления и украденные данные передаются через шифрованные каналы к легитимным API Google, что делает выявление на сетевом уровне крайне сложной задачей. Комбинация методов: создание задач планировщика без запуска консольных утилит, выполнение PowerShell в памяти основного процесса, XOR-шифрование настроек, маскировка файлов и активное противодействие анализу - требует от защитников многоуровневого подхода. Эволюция вредоносного ПО также показывает, что авторы следят за публикациями сообщества и постоянно ужесточают своё средство, чтобы обойти стандартные сигнатуры и правила детекта.

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

Auth Endpoint

oauth2.googleapis.com

C2 Endpoint

  • sheets.googleapis.com

C2 IP (observed)

  • 142.251.223.42 (Google LLC, AS15169)

GCP Project ID

  • sheet5-495707

Service Account

  • sheet5@sheet5-495707.iam.gserviceaccount.com

C2 Spreadsheet ID

  • 1Lb5BEIsehbCGe8p1jkfWf5Mw1dBAcw5RHWFdga5gFq8

Scheduled Task

  • WindowsVaultSyncService

Mutex

  • Global\WinSync_<username>-<hostname>-<4char-hash>

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