Туман кибервойны: шпионы из Cloud Atlas атакуют российские компании под видом поддержки участников СВО | Блог F.A.C.C.T.

Компания F.A.C.C.T. зафиксировала новые атаки шпионской группы Cloud Atlas на российское агропромышленное предприятие и исследовательскую госкомпанию. Обе рассылки были перехвачены системой защиты от сложных и неизвестных киберугроз F.A.C.C.T. Managed XDR.

Старая группа, новые темы

Cloud Atlas — прогосударственная APT-группа, специализирующаяся на кибершпионаже и краже конфиденциальной информации. По данным исследователей, активна как минимум с 2014 года. Чаще других целями Cloud Atlas становились промышленные предприятия и  госкомпании в России, Беларуси, Азербайджане, Турции и Словении. В качестве основного вектора атаки используется точечная почтовая рассылка с вредоносным вложением.

В рамках новой кампании злоумышленники использовали адреса, зарегистрированные через популярные почтовые сервисы antonowadebora@yandex.ru и mil.dip@mail.ru и две актуальные темы — поддержку участников СВО и воинский учет.

В первом письме злоумышленники от имени представителей “Московской городской организации Общероссийского профессионального союза работников государственных учреждений” предлагают организовать сбор открыток и поздравлений участникам СВО и членам их семей. Указанные в письме контакты реальные —  их можно найти в свободном доступе.

Скриншот письма с вложением для профсоюзных лидеров

Рис. 1 Скриншот письма с вложением для профсоюзных лидеров с просьбой оказать поддержку участникам СВО и членам их семей

Образец файла-приманки cloud atlas

Рис. 2 Образец файла-приманки, который содержится во вложении

В другой почтовой рассылке злоумышленники представляются “Ассоциацией Учебных Центров” и используют актуальную тему изменений в законодательстве о введении воинского учета и бронировании граждан, пребывающих в запасе.

Скриншот письма с изменениями в законодательстве

Рис. 3 Скриншот письма с изменениями в законодательстве о введении воинского учета и бронировании граждан, пребывающих в запасе

Образец файла-приманки cloud atlas

Рис.4 Образец файла-приманки, который содержится во вложении

Киллчейн атаки

Киллчейн данной атаки схож с тем, что был описан в отчете компании Positive Technologies, правда за исключением использования альтернативных потоков данных.

Рис. 5 Киллчейн атаки APT Cloud Atlas

Рассмотрим элементы киллчейна данной атаки более подробно на примере одного из документов «№ 27807 от 20.11.2023.doc»

Документ

При открытии пользователем документа из вложения электронного письма происходит загрузка по ссылке удаленного шаблона. Ссылка для загрузки шаблона располагается в потоке 1Table. На рисунке ниже представлен пример фрагмента содержимого потока 1Table документа «№ 27807 от 20.11.2023.doc»

Ссылка для загрузки шаблона

Рис. 6 Ссылка для загрузки шаблона в потоке 1Table документа № 27807 от 20.11.2023.doc

Шаблон

Загружаемый по ссылке шаблон является RTF-файлом, содержащим эксплойт уязвимости CVE-2017-11882. В результате эксплуатации данной уязвимости происходит запуск шелл-кода, предназначенного для загрузки HTA-файла по ссылке и его последующего выполнения.

RTF-файл имеет встроенный объект с именем «viewkind», содержащий шелл-код в зашифрованном виде.

Встроенный объект RTF-файла

Рис.7. Встроенный объект RTF-файла, содержащий шелл-код

Шелл-код расшифровывает 528 байт, которые располагаются после двух инструкций «inc edi», с помощью алгоритма XOR с двухбайтовым ключом, заданным в теле шелл-кода (в данном случае 0x59FC).

Фрагмент расшифрованного шелл-кода

Рис.8 Фрагмент расшифрованного шелл-кода: расшифровка шелл-кода

Стоит отметить, что адрес ссылки, по которой происходит загрузка вредоносного HTA-файла, хранится в теле шелл-кода в зашифрованном виде и для его расшифровки используется алгоритм XOR с однобайтовым ключом (в данном случае 0x16).

 Фрагмент расшифрованного шелл-кода

Рис. 9. Фрагмент расшифрованного шелл-кода: расшифровка адреса ссылки для загрузки HTA-файла

HTA-файл

HTA-файл обфусцирован и обладает следующими функциональными возможностями:

  • создание файла «%APPDATA%\Microsoft\Windows\khaki.xml”;
  • создание файлов в альтернативных потоках данных файла khaki.xml: khakiing.vbs, khaki.vbs, khaki.hxn, khakiinit.vbs;
  • добавление в автозагрузку VBS-скрипта khaki.xml:khaki.vbs: [HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run] tzautoupdate = «wscript /B «%APPDATA%\Microsoft\Windows\khaki.xml:khaki.vbs»»
  • запуск khaki.xml:khakiing.vbs с помощью команды: «wscript /B «%APPDATA%\Microsoft\Windows\khaki.xml:khakiing.vbs»»;
  • запуск khaki.xml:khakiinit.vbs с помощью команды: «wscript /B «%APPDATA%\Microsoft\Windows\khaki.xml:khakiinit.vbs»».
Закрепление в автозагрузке VBS-скрипта

Рис. 10 Закрепление в автозагрузке VBS-скрипта khaki.xml:khaki.vbs

Фрагмент форматированного содержимого HTA-файла представлен на рисунке ниже.

Фрагмент форматированного содержимого HTA-файла

Рис. 11 Фрагмент форматированного содержимого HTA-файла

VBS-скрипты

Анализируемые VBS-скрипты обфусцированы и содержатся в альтернативных потоках данных файла khaki.xml.

VBS-скрипты альтернативных потоков данных

Рис. 12 VBS-скрипты альтернативных потоков данных файла khaki.xml

khaki.xml:khakiing.vbs

khakiing.vbs идентичен файлу khaki.vbs и отвечает за расшифровку содержащегося VBS-кода в khaki.xml:khaki.hxn и его запуск.

Форматированное содержимое khaki.vbs

Рис. 13 Форматированное содержимое khaki.vbs (khakiing.vbs)

khaki.xml:khaki.hxn

Расшифрованный VBS-код файла khaki.xml:khaki.hxn отвечает за декодирование содержащейся в нем полезной нагрузки и ее запуск.

Форматированное содержимое расшифрованного khaki.hxn

Рис. 14 Форматированное содержимое расшифрованного khaki.hxn

Полезная нагрузка из khaki.xml:khaki.hxn

Декодированная полезная нагрузка представляет VBS-код, предназначенный для загрузки следующей стадии с сервера атакующих и передачи ей управления. Следующая стадия представляет VBS-код. К сожалению, на момент исследования файл следующей стадии был недоступен.

Фрагмент форматированного содержимого декодированной полезной нагрузки из khaki.hxn

Рис. 15 Фрагмент форматированного содержимого декодированной полезной нагрузки из khaki.hxn

Функциональные возможности декодированной полезной нагрузки из khaki.hxn:

  • использование COM-объекта Msxml2.ServerXMLHTTP.6.0 для отправки сетевого запроса на сервер злоумышленников;
  • обращение к реестру ОС с помощью WMI (Windows Management Instrumentation) для получения системного Proxy-сервера и его использования в сетевом взаимодействии с сервером злоумышленников (в случае, если Proxy-сервер не задан, Proxy не используется);
  • получение значения параметра USERDOMAIN из ключа реестра [HKCU\Volatile Environment] (USERDOMAIN может содержать название домена, либо, если компьютер не входит в домен, название компьютера);
  • проверка существования и добавление в автозагрузку VBS-скрипта khaki.xml:khaki.vbs: [HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run] tzautoupdate = «wscript /B «%APPDATA%\Microsoft\Windows\khaki.xml:khaki.vbs»», в случае, если параметр tzautoupdate отсутствует в реестре системы;
  • отправка GET-запроса для получения по ссылке hxxps://avito-service[.]net/service/37.html/bersim следующей стадии, используя User-Agent: «Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) %USERDOMAIN% Chrome/116.0.0.0 Safari/537.36 Edg/116.0.0.0», где %USERDOMAIN% — название домена или компьютера, если он не в домене;
  • проверка размера полученной от сервера следующей стадии и последующая работа с ней. В случае, если размер следующей стадии меньше 1048576 байт, происходит ее расшифровка однобайтовым XOR (ключ — первые два символа hex-строки файла khaki.hxn, представляющие собой один байт, например, «3b» -> 0x3b) и запуск следующей стадии (VBS-кода) в памяти текущего процесса. Если размер следующей стадии больше 1048576 байт, происходит запись следующей стадии в файл %APPDATA%\Microsoft\Windows\khaki.xml:(khakiinginit.vbs|khakiinit.vbs) и ее запуск из указанного файла;
  • проверка наличия ненулевого файла %APPDATA%\Microsoft\Windows\khaki.xml:(khakiing.tmp|khaki.tmp). Если данный файл существует, происходит чтение его содержимого и отправка POST-запросом прочитанных данных по ссылке hxxps://avito-service[.]net/service/37.html/bersim, используя User-Agent: «Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) %USERDOMAIN% Chrome/116.0.0.0 Safari/537.36 Edg/116.0.0.0»;
  • открытие файлов %APPDATA%\Microsoft\Windows\khaki.xml:khakiinit.vbs и %APPDATA%\Microsoft\Windows\khaki.xml:(khakiing.tmp|khaki.tmp) в режиме записи для очищения содержимого файлов;
  • использование временных задержек при выполнении VBS-кода: 118150 мсек (~118 сек), 52905 мсек (~53 сек), 2183361 мсек + <случайное целое число> (от ~36 мин).

Проверка закрепления в системе и сетевое взаимодействие с сервером осуществляются в бесконечном цикле. Также стоит отметить, что из-за использования в VBS-коде конструкции «On Error Resume Next«, осуществляющей возобновление выполнения кода при возникновении ошибки, после проверки наличия ненулевого файла всегда будет выполняться код, отвечающий за открытие файла khaki.xml:khakiing.tmp (khaki.xml:khaki.tmp), чтение его содержимого, отправку POST-запросом содержимого на сервер, открытие указанного .tmp файла в режиме записи (создание пустого файла).

Проверка наличия ненулевого файла khaki.xml:khakiing.tmp

Рис. 16 Проверка наличия ненулевого файла khaki.xml:khakiing.tmp (khaki.xml:khaki.tmp)

khaki.xml:khakiinit.vbs

Данный VBS-скрипт отвечает за очистку содержимого VBS-скриптов khaki.xml:khakiing.vbs и khaki.xml:khakiinit.vbs, а также очистку содержимого всех файлов из каталога «%USERPROFILE%\AppData\Local\Microsoft\Windows\Temporary Internet Files\Content.Word». Очистка содержимого осуществляется путем открытия файлов в режиме записи.

Форматированное содержимое khakiinit.vbs

Рис. 17 Форматированное содержимое khakiinit.vbs

Другие обнаруженные вредоносные документы

С помощью нашего инструмента — графа исследования сетевой инфраструктуры — были выявлены другие вредоносные документы, связанные с доменом network-list[.]com.

Выявленные с помощью графа сетевой инфраструктуры другие документы

Рис. 18. Выявленные с помощью графа сетевой инфраструктуры другие документы, связанные с доменом network-list[.]com


Учитывая успешный опыт блокировки атак группы Cloud Atlas, остается только добавить, что система для проактивного поиска и защиты от сложных и неизвестных киберугроз F.A.С.С.T. Managed XDR обеспечивает защиту от широкого спектра киберрисков, среди которых программы-шифровальщики, банковские трояны, шпионы, бэкдоры, вредоносные скрипты и скрытые каналы передачи данных, как внутри, так и за пределами защищенного периметра.

Попробуйте Managed XDR от F.A.C.C.T.

Выявление и устранение киберугроз с применением исключительных возможностей оперативного и управляемого реагирования

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

Хеш-суммы файлов
Вредоносные документы (OLE-файлы)

  • MD5: 7bdb049cb0cc3623e4fa1d8e2574f1ce
  • SHA-1: 7329424eba132feebba57e239000331e886b1656
  • SHA-256: e3d2e6f8740bc5a510239af41e77a3e07eaf09f1aa5cda78558035399db3f971

 

  • MD5: b1995d8a9df9bd8ce23d38b0ab454580
  • SHA-1: 7c8479a818ea21fc228334dfdd55044866a95026
  • SHA-256: 8eb6b3ab2d18d01a46cae3cee0987fe8ecdedce2cb80666057a4880c9f37c529

 

  • MD5: f611cb1a320a9d3b5df4b70b37b0fd73
  • SHA-1: d59f3f2b5132ff23e3fa6d88f1b97b299af38507
  • SHA-256: 6e4349775f77b21b627d39a125cd60ad9f3df46d2b4f2a7a71df0d459cb7c9ae

 

  • MD5: 0957edfec31dd2dd05d484eed90593c7
  • SHA-1: a03a699031e956b4fde1ced6309b67853a54602a
  • SHA-256: cfc3178b710038666a4a4c5676b5c6befea085ad0243663791ae95f65e1468de

 

  • MD5: 965d5dc42ee1efdcbc52d061624526c7
  • SHA-1: a176a164e728c929f70ab2ffa44213625ae17172
  • SHA-256: ea91967c2a52b1c09395613f972a319332b678493f4e2ece0e0009e1efd36bec

 

  • MD5: b3de2f04ceb97f8e9164399649433e1e
  • SHA-1: 3375772e3bc60614e3e398fd019c8931d2ad83c9
  • SHA-256: b6f14556490908a462f8fb61a46b1b140f40723b5725c93fe4ff87a62f036e80

 

  • MD5: 2e950fe4bd76088f89433a6f2146cb67
  • SHA-1: 07735f3da5f5847e9df43034459e3ead4c1f3f35
  • SHA-256: baccfa04bf7cf862c05bc7180532cf609df43a091febd3d85524d6689df6e405

 

  • MD5: efd493e8ebcd66f9404338532519eb90
  • SHA-1: 877f95ee15adb5540d0b50509a14d1cdf89fe3e1
  • SHA-256: 1e931660cce69add24e405c9fbdd3072190c9f716c1675334f00d0bdbf84bf46

 

  • MD5: cd8141f094cfb0dae11747ee9dc74a2f
  • SHA-1: 85a24692089d1a8dc6354a88b6f1e08567db6b0d
  • SHA-256: a8ec7b38eaa239c90e647a47368159fb2a6a94c0e56df5a4d8f33e5b469e7942

 

  • № 27807 от 20.11.2023.doc
  • MD5: 9c5a6ede9b0ca906cbc121cc5496b714
  • SHA-1: 3b2109317985de28d16aef6306ba5a788eb121bf
  • SHA-256: b9056344e65655080905c4ddb38cfb8a09675fedc4c5244a969918af5b9b39cf

 

  • ПОРЯДОК по вопросам воинского учета и оповещения (повестках).doc
  • MD5: 0a850c27c8ce24c0a6fa5bcf7504dc30
  • SHA-1: 44a21627eed099a55e5592509e6e3333c5d3d339
  • SHA-256: 1ce69ec5b15ba2d0d7ed01cd9ae0facecf2b8fbbd32ea3b1f256310c129f5c74

Вредоносные шаблоны (RTF-файлы)

  • php-pvrg.html_outblunder
  • MD5: 27d49df3e0122152dc9a3f752a099f39
  • SHA-1: 6efed9d4e8ae02808bed488566f90a4ecc361546
  • SHA-256: bc684928f7fd575182af5f797308e9f2286e7bd8d010f6e04913a2600495bbb7

 

  • rpgg.html_protophloem
  • MD5: ddbc081392ffa41bcb3e7a007edf727b
  • SHA-1: 151e9e6defac4a67be8916a1e119917b69e053ac
  • SHA-256: 47c530de3ad2c98b0dfb0c72a4697240e7a218701c2cce12ae217faf58c32335

HTA-файл

  • a63[1].hta
  • MD5: b0de9d6133d73c32b243cf716a7c614c
  • SHA-1: 53cea3a93a481a710e821d9c3e087fc18fb989f9
  • SHA-256: c7100994bced2a532f3fc350c5db7401775be9658127233c7665e6864c6de2f7

Полные пути к файлам

%APPDATA%\Microsoft\Windows\khaki.xml

%USERPROFILE%\AppData\Local\Microsoft\Windows\Temporary Internet Files\Content[.]IE5\[A-Z0-9]{8}\<название файла>[1].hta (пример: %USERPROFILE%\AppData\Local\Microsoft\Windows\Temporary Internet Files\Content.IE5\GNN05AYE\a63[1].hta)

Процессы

  • wscript /B «%APPDATA%\Microsoft\Windows\khaki.xml:khaki.vbs»
  • wscript /B «%APPDATA%\Microsoft\Windows\khaki.xml:khakiing.vbs»
  • wscript /B «%APPDATA%\Microsoft\Windows\khaki.xml:khakiinit.vbs»
  • wscript /B «%APPDATA%\Microsoft\Windows\khaki.xml:khakiinginit.vbs»

Реестр

[HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run] tzautoupdate = «wscript /B «%APPDATA%\Microsoft\Windows\khaki.xml:khaki.vbs»


Сетевые

Ссылки (URL)

  • hxxps://network-list[.]com/?wkbi.html_handfeed
  • hxxps://network-list[.]com/?wp-content_plugins/photo-gallery/css/bwg-fonts/fonts.css?ver=0.0.1time=1673472550/ballock
  • hxxps://network-list[.]com/?php-tag_zabbix/lowlanders
  • hxxps://network-list[.]com/?products_list108.htmlheader-bottom/nemoricole
  • hxxps://network-list[.]com/?php-wp-content/plugins/contact-form-7/includes/css/styles.css/undesirous
  • hxxps://network-list[.]com/?area_gifu_?iref=pc_gnavi/semisovereignty
  • hxxps://network-list[.]com/?qgcl.html_anapeiratic
  • hxxps://network-list[.]com/?php-business-and-economy/hematomancy
  • hxxps://network-list[.]com/?wp-includes_wlwmanifest.xml/datemark
  • hxxps://network-list[.]com/?rpgg.html_protophloem
    hxxps://network-list[.]com/?php-pvrg.html_outblunder
  • hxxps://network-list[.]com/protophloem/p21
  • hxxps://network-list[.]com/outblunder/a63
  • hxxps://avito-service[.]net/service/37.html/bersim

Домены

  • avito-service[.]net
  • network-list[.]com

 

IP-адреса

95.217.82[.]125

MITRE ATT&CK®

Тактика Техника Процедура
Reconnaissance (TA0043) Gather Victim Identity Information: Email Addresses (T1589.002) Cloud Atlas собирала адреса электронной почты, которые впоследствии использовались в кампаниях по целевому фишингу.
Resource Development (TA0042) Acquire Infrastructure: Domains (T1583.001) Cloud Atlas зарегистрировала различные домены для размещения вредоносных нагрузок и командных центров (C2).
Establish Accounts: Email Accounts (T1585.002) Cloud Atlas создала электронные почтовые аккаунты для проведения фишинговых атак.
Develop Capabilities: Exploits (T1587.004) Cloud Atlas использовала уязвимость CVE-2017-11882 в Microsoft Office.
Develop Capabilities: Malware (T1587.001) Cloud Atlas разработала собственное вредоносное программное обеспечение для использования в своих операциях.
Stage Capabilities: Upload Malware (T1608.001) Cloud Atlas зарегистрировала домены для размещения вредоносных нагрузок.
Initial Access (TA0001) Phishing: Spearphishing Attachment (T1566.001) Cloud Atlas отправляла фишинговые письма с вредоносными документами Microsoft Office вложенными в них.
Execution (TA0002) Inter-Process Communication: Component Object Model (T1559.001) Cloud Atlas использовала компоненты COM в VBS-скриптах.
Exploitation for Client Execution (T1203) Cloud Atlas использовала уязвимость CVE-2017-11882 в Microsoft Office для запуска шелл-кода, загружающего вредоносный HTA-файл.
User Execution: Malicious File (T1204.002) Cloud Atlas рассылала письма с вредоносными OLE-файлами с расширением .doc.
Command and Scripting Interpreter: Visual Basic (T1059.005) Cloud Atlas применяла VBS-скрипты для загрузки и запуска своих вредоносных компонентов.
Windows Management Instrumentation (T1047) Cloud Atlas использовала WMI в VBS-скриптах.
Persistence (TA0003) Boot or Logon Autostart Execution: Registry Run Keys / Startup Folder (T1547.001) Cloud Atlas использовала ключ реестра [HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run] для закрепления в системе.
Privilege Escalation (TA0004)
Defense Evasion (TA0005) Obfuscated Files or Information (T1027) Cloud Atlas обфусцировала код HTA-файла и VBS-скриптов, шифровала шелл-код и полезную нагрузку с помощью XOR.
Deobfuscate/Decode Files or Information (T1140) Cloud Atlas использовала XOR для расшифровки шелл-кода и полезной нагрузки.
Indicator Removal: File Deletion (T1070.004) Cloud Atlas осуществляла очистку содержимого файлов путем их открытия в режиме записи без добавления в них какой-либо информации.
Hide Artifacts: NTFS File Attributes (T1564.004) Cloud Atlas использовала альтернативные потоки данных NTFS, чтобы скрыть свои вредоносные компоненты (VBS-скрипты).
Template Injection (T1221) Cloud Atlas использовала документы-приманки для загрузки вредоносных удаленных шаблонов через HTTPS.
System Binary Proxy Execution: Mshta (T1218.005) Cloud Atlas использовала вредоносный HTA-файл для создания и запуска вредоносных VBS-скриптов.
Discovery (TA0007) System Information Discovery (T1082) Cloud Atlas получала название домена или хоста жертвы, если он не в домене, и отправляла его на сервер в строке User-Agent.
Command and Control (TA0011) Application Layer Protocol: Web Protocols (T1071.001) Cloud Atlas использовала HTTPS для взаимодействия с серверами.
Ingress Tool Transfer (T1105) Cloud Atlas загружала свои вредоносные компоненты.