В прошлом и нынешнем году коллеги из «Лаборатории Касперского» и BI.Zone рассказывали о группировке GOFFEE (Paper Werewolf). В конце мая мы снова фиксируем ее активность, но немного в другом обличии — можно сказать, в новой овечьей шкуре. Я Никита Полосухин, ведущий аналитик центра мониторинга и реагирования на кибератаки RED Security SOC, и я расскажу, как сейчас действует GOFFEE и как обнаружить их присутствие в инфраструктуре.

Что изменилось?

Итак, сначала к главному:

  • У вредоносного документа во вложении фишингового письма имеется уязвимость загрузки удаленных шаблонов СVE-2017-0199. Полезная нагрузка, как и ранее, находится в самом документе, закодированная в base64, но вредоносный макрос, который запускает ее, теперь скачивается в шаблоне.

  • PowerModul загружает основную нагрузку в память через [System.Reflection.Assembly]::Load, что не встречалось в атаках этой группировки в прошлом.

А теперь — разбор.

Этап 1. Анализ фишинга

Как и ранее, все начинается с письма с вложением. Мы увидели, как сотрудникам компании-жертвы были направлены два документа Microsoft Word:

FSTEK_100_233_ot_22_05.docx
FSTEK_100_233_ot_22_05.docx
TO2.docx
TO2.docx

При открытии файлов применяется уязвимость CVE-2017-0199 и с C2-сервера скачивается шаблон с внедренным макросом:

Этап 2. Анализ макроса

Сам шаблон не представляет никакой ценности, а вот макрос следует изучить:

Дампим его код через команду oledump -s A3 -v curling > macros.txt

На старте макрос извлекает из документа полезную нагрузку, начиная с поля MS_Office_RSA_Digital_Signature. При этом она разделена на две части с помощью символов CONTROL_PKI. Затем происходит ее декодирование из base64 (внутри макроса «зашита» нужная функция) и запись частей полезной нагрузки в два элемента IconStorageConfig.cfg и IconStorageConfig.cfg.hta в директорию профиля пользователя:

Далее макрос записывает hta-файл в ключ HKCU\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows\LOAD:

Стандартная техника для GOFFEE.

Этап 3. Анализ hta-файла

Как можно видеть, hta-файл обфусцирован с использованием Obfuscator.io. Деобфусцировав скрипт, получаем:

Здесь мы видим стандартную матрешку для GOFFEE. Сначала создается файл C:\\Users\\localadmin\\IconStorageConfig.cfg.jse. А теперь следите за руками: он запускается через cscript, который через wmi создает новый процесс, открывающий powershell, который запускает содержимое cfg-файла.

Идем в cfg-файл — там base64 payload:

$content="QWRkLVR5cGUgQCI0ZW0uTmV<Здесь еще много base64>VwdGlvbjsNCn0="; $bytes = [System.Convert]::FromBase64String($content);$code = [System.Text.Encoding]::UTF8.GetString($bytes);iex $code; 

Деобфусцировав скрипт, мы выяснили, что он: 

  1. Отключает проверку SSL сертификатов через настройку политики сертификатов. 

  2. Проверяет mutex 87325266-ddce-4bf7-b428-e13abbbe982b и останавливается при его наличии. Мы предполагаем, что это значение может быть уникальным для каждой жертвы.

  3. Собирает имя пользователя и хостнейм, кодирует их в base64 и разделяет знаком /. 

  4. Производит запрос на C2 по следующему URL:
    https://TributeTropic[.org/thickfog/
    87325266-ddce-4bf7-b428-e13abbbe982b/<здесь значение, полученное на этапе 3>. Интересно, что в документе, где шаблон загружался с другого C2-сервера, обращения полезной нагрузки все равно уходили на этот же ресурс.

  5. Ждет ответ. Без него скрипт «спит» случайное количество секунд (от 26 до 37) и затем повторяет запрос. Получив ответ, раскодирует его из base64 и запускает через [System.Reflection.Assembly]::Load в памяти. Таким образом, полезная нагрузка — это исполняемый .Net-код.

Получаем следующий Kill Chain:

Советы по противодействию

  • Используйте классические хостовые и почтовые антивирусы с актуальными базами;

  • Обязательно инструктируйте сотрудников о правилах обращения с электронной почтой и внедряйте механизмы автоматического оповещения пользователей о подозрительности писем (зашифрованные архивы, внешние отправители и т. д.);

  • Для того чтобы быть уверенным в своей защите 24/7, подключайте команду SOC, которая оперативно пресечет подобные попытки атак на организацию.

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

SHA256

ed41a4b1f989839a5ad97aaff30dbdf28aeb4fde6d3068a96cb83da27d298d5d FSTEK_100_233_ot_22_05.docx

580839bf75b910a2251f21f1cea006c6f1e84fcde03b696a7e8b163278042b80 TO2.docx

1dcbf2774f505b45368ff0541da4117dce0e4763b85d9ccba20e7298b2425ec9 curling

2318600c7bd150e8bf06b0301635598cc799ce2a9a60308027eb63a033f97ceb IconStorageConfig.cfg

9641870ec560c0463d86f482cbd1cb6ea34c3db23d40ad80833cd59739cd33b6 IconStorageConfig.cfg.hta.

677e4f461dca20c6e24efbefd47b115722b2eafbd2dc00718c08a393e687bd80 IconStorageConfig.cfg

faf35266966ce5432b312d4120cafd95f1c6187db0f1f4b6d6c579c339d66f55 IconStorageConfig.cfg.hta

Filename

C:\Users\<username>\IconStorageConfig.cfg.hta 
C:\Users\<username>\IconStorageConfig.cfg
C:\Users\localadmin\IconStorageConfig.cfg.jse

Registry

HKCU\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows\
LOAD = C:\Users\<username>\IconStorageConfig.cfg.hta 

C2

tributetropic[.org
barrelize[.org

URL

\thickfog\[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}

Комментарии (1)


  1. pnmv
    04.06.2025 12:51

    когда-то давно, была шутка о вирусах на php, 1с, vba...

    вот мы и дожили до этого светлого будущего.