Исследователи ESET обнаружили ранее не задокументированную APT-группу, связанную с Китаем, которую мы назвали GopherWhisper. Группа использует широкий спектр инструментов, в основном написанных на языке Go, а также инжекторы и загрузчики для развертывания и запуска различных бэкдоров из своего арсенала. В ходе наблюдаемой кампании злоумышленники нацелились на правительственную организацию в Монголии.

GopherWhisper злоупотребляет легитимными сервисами, в частности Discord, Slack, Microsoft 365 Outlook и file.io, для связи с командно-контрольным сервером (C&C) и вывода данных. Важно отметить, что после того, как мы идентифицировали несколько токенов API Slack и Discord, нам удалось извлечь большое количество сообщений C&C из этих сервисов, что дало нам глубокое понимание деятельности группы.

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

Ключевые моменты публикации в блоге:
  • Исследователи ESET обнаружили новую APT-группу, связанную с Китаем, которую мы назвали GopherWhisper и которая атаковала правительственную организацию в Монголии.
  • В набор инструментов группы входят настраиваемые бэкдоры на языке Go — LaxGopher, RatGopher и BoxOfFriends, инжектор JabGopher, инструмент для вывода данных CompactGopher, загрузчик FriendDelivery и бэкдор на C++ SSLORDoor.
  • GopherWhisper использует Discord, Slack, Microsoft 365 Outlook и file.io для связи с командно-контрольным сервером и выноса данных.
  • Мы проанализировали C&C-трафик из каналов Slack и Discord злоумышленников, получив информацию о внутренних операциях группы и ее действиях после взлома.

Множество бэкдоров

Мы обнаружили эту группу в январе 2025 года, когда нашли ранее не задокументированный бэкдор, который мы назвали LaxGopher, в системе одного из государственных учреждений в Монголии. Проведя более тщательное расследование, нам удалось обнаружить еще несколько вредоносных инструментов, в основном различные бэкдоры, все развернутые той же группой. Большинство этих инструментов, включая LaxGopher, написаны на языке Go.

Поскольку набор обнаруженного нами вредоносного ПО не имеет сходств в коде, связывающих его с каким-либо известным злоумышленником, и не было совпадений в тактиках, техниках и процедурах (TTP) с какой-либо другой группой, мы решили отнести эти инструменты к новой группе. Мы решили назвать ее GopherWhisper, поскольку большинство инструментов группы написано на языке программирования Go, талисманом которого является сурок (gopher), а также на основании имени файла whisper.dll — вредоносного компонента, который загружается сбоку.

Внедренное нами вредоносное ПО состоит из следующих компонентов:

  • JabGopher: инжектор, который запускает бэкдор LaxGopher, замаскированный под файл whisper.dll. Он создает новый экземпляр svchost.exe и внедряет LaxGopher в память процесса svchost.exe.
  • LaxGopher: бэкдор на языке Go, взаимодействующий с частным сервером Slack для получения C&C-сообщений. Он выполняет команды через cmd.exe и публикует результаты обратно в канал Slack, настроенный в коде. LaxGopher также может загружать дополнительное вредоносное ПО на скомпрометированную машину.
  • CompactGopher: инструмент для сбора файлов на языке Go, используемый операторами для быстрого сжатия файлов из командной строки и автоматической передачи их на файлообменник file.io. Это один из полезных грузов, развертываемых LaxGopher.
  • RatGopher: бэкдор на языке Go, взаимодействующий с частным сервером Discord для получения C&C-сообщений. При успешном выполнении команды результаты публикуются обратно в настроенный канал Discord.
  • SSLORDoor: бэкдор, написанный на C++, использующий OpenSSL BIO для связи через необработанные сокеты на порту 443. Он может перечислять диски и запускать команды на основе входных данных C&C, в основном связанные с открытием, чтением, записью, удалением и загрузкой файлов.

Опираясь на знания, полученные в ходе анализа, нам удалось обнаружить еще два инструмента GopherWhisper, которые вновь были задействованы против того же монгольского государственного учреждения:

  • FriendDelivery: вредоносный файл DLL, выступающий в качестве загрузчика и инжектора, который запускает бэкдор BoxOfFriends.
  • BoxOfFriends: бэкдор на языке Go, использующий REST API почты Microsoft 365 Outlook из Microsoft Graph для создания и изменения черновиков электронных писем для связи с C&C-сервером.

Схематический обзор арсенала GopherWhisper представлен на рисунке 1.

Figure 1. GopherWhisper toolset overview
Рисунок 1. Обзор набора инструментов GopherWhisper

Раскрытие сообщений

Как упоминалось во введении, GopherWhisper характеризуется широким использованием легитимных сервисов, таких как Slack, Discord и Outlook, для связи с командно-контрольным сервером. В ходе нашего расследования нам удалось извлечь тысячи сообщений Slack и Discord, а также несколько черновиков электронных писем из Microsoft Outlook. Это дало нам глубокое понимание внутренней работы группы.

Анализ временных меток сообщений Slack и Discord показал, что большая их часть отправлялась в рабочее время, т. е. с 8:00 до 17:00 по UTC+8 (см. рис. 2 и рис. 3), что соответствует стандартному времени Китая. Кроме того, локаль для настроенного пользователя в метаданных Slack также была установлена на этот часовой пояс. Поэтому мы полагаем, что GopherWhisper — это группа, связанная с Китаем.

Figure 2. Slack messages every hour
Рисунок 2. Сообщения Slack каждый час
Figure 3. Number of Discord messages every hour
Рисунок 3. Количество сообщений в Discord каждый час

По результатам нашего расследования, серверы группы в Slack и Discord сначала использовались для тестирования функциональности бэкдоров, а затем, без очистки журналов, также использовались в качестве командных серверов для бэкдоров LaxGopher и RatGopher на нескольких скомпрометированных машинах.

Канал LaxGopher в Slack

Сообщения, которые мы собрали, показали, что C&C-связь LaxGopher в основном использовалась для отправки команд по перечислению дисков и файлов.

Кроме того, среди сообщений в Slack было обнаружено несколько интересных ссылок на репозитории GitHub с вредоносным кодом, как показано в таблице 1. Исходя из исходного кода каждого репозитория, мы предполагаем, что эти репозитории могли использоваться в качестве учебного материала и справочника во время разработки.

Таблица 1. Репозитории GitHub, обнаруженные в тестовых загрузках от операторов

Репозиторий Описание
https://github.com/kardianos/service Установка, запуск и связанные действия по обслуживанию демонов для всех операционных систем с помощью Go.
https://github.com/NHAS/stab Внедрение локальных и удаленных процессов Go для x86 и x64.
https://github.com/kirinlabs/utils Утилиты шифрования и сжатия Go, среди прочего.
https://github.com/wumansgy/goEncrypt Различные методы шифрования, реализованные на Go.

Канал RatGopher в Discord

Помимо C&C-связи, канал RatGopher в Discord также содержал исходный код на Go, который, возможно, был ранней версией бэкдора.

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

Обмен сообщениями в Microsoft 365 Outlook

Помимо переписки в Slack и Discord, нам также удалось извлечь электронные письма, использовавшиеся для связи между бэкдором BoxOfFriends и его C&C-сервером через Microsoft Graph API. Там мы заметили, что приветственное письмо от Microsoft, отправленное при создании учетной записи, так и не было удалено. Это сообщение подтвердило, что учетная запись barrantaya.1010@outlook[.]com была создана11 июля 2024 года, всего за 11 дней до создания DLL-файла FriendDelivery — загрузчика, используемого для запуска BoxOfFriends —22 июля 2024 года.

Заключение

Наше расследование GopherWhisper выявило APT-группу, использующую разнообразный набор инструментов, включающий пользовательские загрузчики, инжекторы и бэкдоры. Анализируя C&C-сообщения, полученные из каналов Slack и Discord, управляемых злоумышленниками, а также черновики писем Outlook, мы смогли получить дополнительную информацию о внутренней работе группы и ее действиях после взлома.

Подробный анализ набора инструментов и полученного C&C-трафика см. в нашем полном техническом документе.

Полный список индикаторов компрометации (IoC) можно найти в техническом документе и в нашем репозитории GitHub.

Читать полный анализ на WeLiveSecurity →