Аналитики компании EclecticIQ с высокой степенью уверенности зафиксировали целевую кампанию против министерств иностранных дел стран, входящих в альянс НАТО. В ходе атаки использовались изощрённые фишинговые документы, маскирующиеся под официальные приглашения от посольства Германии. Один из файлов доставил на системы жертв новую вариацию вредоносного программного обеспечения Duke, исторически связываемого с деятельностью российской государственной хакерской группировки APT29. Этот инцидент вновь демонстрирует устойчивый интерес российских разведывательных служб к добыче дипломатической и политической информации, а также эволюцию их тактик в сторону использования легитимных веб-сервисов для скрытного управления атаками.
Описание
Кампания началась с целевых фишинговых писем, содержащих вложения в формате PDF. Документы были оформлены как приглашения на официальные дипломатические мероприятия: "Прощание с послом Германии" и "День германского единства". Подобный выбор тем и целевой аудитории - классический признак операций APT-групп (advanced persistent threat, рус. - целенаправленная постоянная угроза), которые специализируются на шпионаже. Внутри первого PDF-файла был внедрён JavaScript-код, использующий метод HTML Smuggling. Этот приём позволяет скрытно доставлять вредоносную нагрузку в виде HTML-файла, минуя традиционные механизмы проверки вложений на периметре сети.
Если получатель, несмотря на стандартное предупреждение PDF-ридера о выполнении кода, всё же открывал файл, запускался многоэтапный процесс заражения. Изначальный HTML-файл содержал зип-архив с вредоносным приложением HTA (HTML Application). HTA-файлы, исполняемые движком Windows mshta.exe, являются примером легитимных системных инструментов, используемых злоумышленниками - так называемых LOLBIN (Living Off The Land Binaries). Это позволяет атаке дольше оставаться незамеченной, так как действия маскируются под обычную активность операционной системы. В конечном счёте, HTA-приложение разворачивало в системе вариацию шпионского ПО Duke.
Механизм доставки демонстрирует высокий уровень технической изощрённости. Для выполнения своей основной полезной нагрузки вредоносная библиотека mso.dll использовала технику подмены DLL (DLL Sideloading). Она помещалась в каталог C:\Windows\Tasks вместе с легитимным подписанным исполняемым файлом msoev.exe от Microsoft и вспомогательной библиотекой AppVIsvSubsystems64.dll. При запуске msoev.exe автоматически загружал вредоносную mso.dll вместо оригинальной, что позволяло коду выполниться с высоким уровнем доверия. Для усложнения анализа злоумышленники применили несколько методов обфускации: хеширование имён API-функций Windows по алгоритму ROR13 для сокрытия импортируемых библиотек и шифрование всех строковых значений с помощью XOR, причём ключ шифрования хранился внутри зашифрованного же массива данных.
Особенностью данной кампании стало использование для управления инфраструктуры управления открытого корпоративного мессенджера Zulip. Как сообщают аналитики EclecticIQ, вредоносная программа передавала данные и получала команды через API чат-сервиса toyy[.]zulipchat[.]com. Подобная тактика, когда трафик управления смешивается с легитимными запросами к популярным веб-сервисам (в данном случае использующим инфраструктуру Amazon), серьёзно затрудняет его обнаружение сетевыми системами защиты (IDS/IPS) и усложняет блокировку, так как полное отключение домена может нарушить бизнес-процессы.
Второй обнаруженный PDF-документ, судя по всему, выполнял разведывательную функцию. Он не содержал вредоносной нагрузки, но при открытии отправлял уведомление атакующему на скомпрометированный домен, тем самым позволяя оценить успешность фишинговой рассылки и, возможно, собрать данные об окружении жертвы. Это стандартный приём для точной настройки атаки перед доставкой основного вредоносного кода.
Совокупность доказательств - характер целей, тематика фишинговых приманок, цепочка доставки и особенности самого вредоносного ПО - позволяет с высокой долей уверенности связать эту кампанию с деятельностью группировки APT29, также известной как Cozy Bear, The Dukes или Nobelium. Эта APT-группа, которую правительства США и Великобритании атрибутируют внешней разведке России (СВР), активна с 2008 года и известна своими сложными операциями по сбору разведданных против правительственных, дипломатических и исследовательских организаций по всему миру. Использование Duke, их фирменного инструментария, и переход на C2 через легитимные сервисы вроде Zulip полностью вписываются в наблюдаемую эволюцию тактик этой группы.
Данный инцидент служит очередным напоминанием для дипломатических учреждений и государственных органов о необходимости постоянной цифровой бдительности. Фишинговые атаки под видом официальных коммуникаций остаются высокоэффективным вектором начального проникновения. Противодействие им требует не только технических мер, таких как отключение выполнения скриптов в PDF-документах по умолчанию, жёсткое ограничение использования LOLBIN-инструментов и мониторинг аномального исходящего трафика к облачным сервисам, но и регулярного обучения сотрудников, которые зачастую становятся первым и самым уязвимым рубежом обороны.
Индикаторы компрометации
Dominas
- edenparkweddings.com
- sgrhf.org.pk
- toyy.zulipchat.com
MD5
- 0be11b4f34ede748892ea49e473d82db
- 50f57a4a4bf2c4b504954a36d48c99e7
- 5e1389b494edc86e17ff1783ed6b9d37
- d817f36361f7ac80aba95f98fe5d337d
- Fc53c75289309ffb7f65a3513e7519eb
YARA
rule APT29_Duke_Malware_Jul17
{
meta:
description = "Detects APT29 Duke malware variant "
Author = "EclecticIQ Threat Research Team"
creation_date = "2023-07-30"
classification = "TLP:WHITE"
hash1 = "0be11b4f34ede748892ea49e473d82db"
hash2 = "5e1389b494edc86e17ff1783ed6b9d37"
strings:
$x1 = {48 89 4C 24 08 48 89 54 24 10 4C 89 44 24 18 4C 89 4C 24 20 48 83 EC 64 48 C7 C1}
/*
0x2ac406170 80790F00 cmp byte ptr [rcx + 0xf], 0
0x2ac406174 4889C8 mov rax, rcx
0x2ac406177 751C jne 0x2ac406195
0x2ac406179 4889CA mov rdx, rcx
0x2ac40617c 488D490F lea rcx, [rcx + 0xf]
0x2ac406180 440FB64010 movzx r8d, byte ptr [rax + 0x10]
0x2ac406185 443002 xor byte ptr [rdx], r8b
0x2ac406188 4883C201 add rdx, 1
0x2ac40618c 4839CA cmp rdx, rcx
0x2ac40618f 75EF jne 0x2ac406180
0x2ac406191 C6400F01 mov byte ptr [rax + 0xf], 1
0x2ac406195 C3 ret
*/
$decryption_routine = {
80 79 ?? 00
48 89 C8
75 ??
48 89 CA
48 8D 49 ??
44 0F B6 40 ??
44 30 02
48 83 C2 01
48 39 CA
75 ??
C6 40 ?? 01
C3
}
condition:
uint16(0) == 0x5A4D and
$x1 or $decryption_routine and
filesize <= 2MB
} rule APT29_Embassy_Invitation_Lure
{
meta:
description = "Detects APT29 Embassy Invitation Lure"
Author = "EclecticIQ Threat Research Team"
creation_date = "2023-07-30"
classification = "TLP:WHITE"
hash1 = "fc53c75289309ffb7f65a3513e7519eb"
strings:
$pdf_meta1 = {2f 54 79 70 65 20 2f 45 6d 62 65 64 64 65 64 46 69 6c 65}
$pdf_meta2 = "q='+btoa(p)" fullword ascii wide nocase
$x1 = {2F 50 72 6F 64 75 63 65 72 20 28 50 79 50 44 46 32 29}
$x2 = "Invitation" fullword ascii wide nocase
$x3 = "embassy" fullword ascii wide nocase
$x4 = "reception" fullword ascii wide nocase
condition:
( uint32(0) == 0x46445025 or uint32(0) == 0x4450250a ) and
all of ($pdf_meta*) and any of ($x*) and
filesize <= 1MB
}