Core Werewolf меняет клыки: троян CoreRAT в атаках на российские организации
Введение
С июня по июль 2026 года мы зафиксировали активность кластера Core Werewolf и выявили ранее неизвестный троян удаленного доступа, который назвали CoreRAT. Вредоносная нагрузка распространялась с помощью 7zSFX и Rust‑дроперов. Злоумышленники проникали в инфраструктуру через фишинговые письма, которые рассылали в Telegram. Среди предполагаемых целей атакующих были российские организации государственного управления и оборонно‑промышленного комплекса. Ретроспективный анализ показал, что CoreRAT использовался как минимум с марта 2026 года.
Ключевые выводы
- На фоне сохраняющейся геополитической напряженности Core Werewolf продолжает атаки на государственный сектор и оборонно‑промышленный комплекс Российской Федерации.
- Кластер заменил легитимный инструмент удаленного доступа UltraVNC на собственный троян CoreRAT. Это помогает злоумышленникам дольше оставаться незамеченными и демонстрирует их растущие технические возможности. Ранее в арсенале Core Werewolf уже встречались самописные мини‑бэкдоры, однако CoreRAT — первый известный нам полноценный RAT их собственной разработки.
- Чтобы сделать фишинговые письма более убедительными, атакующие использовали тщательно подготовленные PDF‑файлы, которые имитировали официальные военные и государственные документы.
Кампании Core Werewolf
7zSFX‑дропер
7zSFX‑дропер распространялся с именами:
Scan_437_ТЛГ_на_переподготовку.exeисх1051_от_20.04.2026_сл паспорт.exe
7zSFX‑дропер содержит отвлекающий PDF‑документ и троян удаленного доступа CoreRAT. В процессе выполнения дропер выполняет следующие команды:
cmd.exe /c copy /y \"%CD%\*.*\" \"%CD%\\..\\\\\ cmd.exe /c copy \"%CD%\\..\\\\FOhf6\" \"%HOMEPATH%\Desktop\CyzG.pdf\ <- копирование отвлекающего документа в директорию %HOMEPATH%\Desktop cmd.exe /c copy \"%CD%\\..\\\\yNtns.GqV\" \"%HOMEPATH%\Links\Firepoin.exe\" <- копирование CoreRAT в директорию %HOMEPATH%\Links cmd.exe /c cd \"%HOMEPATH%\Links\" & start \"\" \"Firepoin.exe\" <- запуск CoreRAT cmd.exe /c cd \"%HOMEPATH%\Desktop\" & start \"\" \"CyzG.pdf\" <- запуск отвлекающего документа
В исследуемых образцах 7zSFX‑дроперов отвлекающий документ копировался по одному из следующих путей:
%USERPROFILE%\Desktop\CyzG.pdf%USERPROFILE%\Downloads\Vppq.pdf%USERPROFILE%\Documents\EY5Tm.pdf%USERPROFILE%\Downloads\r0po.pdf%USERPROFILE%\Downloads\H5nY.pdf
Исполняемый файл CoreRAT копировался по одному из этих путей:
%USERPROFILE%\Links\Firepoin.exe%USERPROFILE%\Links\Baresl.exe%USERPROFILE%\Links\brhost.exe%USERPROFILE%\Links\Biostars.exe%USERPROFILE%\Links\LiteEdit.exe
Rust‑дропер
Дропер, написанный на языке Rust, распространялся с именами:
Указания-[redacted]_9f36b79847.exeУказания по [redacted]_498 от 15.06.2026_47.exe
Дропер содержит в себе ZIP‑архив, внутри которого находится отвлекающий документ и исполняемый файл CoreRAT. Rust‑дропер сохраняет содержимое архива в директорию %TEMP%. Примеры путей сохранения файлов на хосте жертвы:
%TEMP%\integrated.exe%TEMP%\Указания по [redacted]_498 от 15.06.2026_47.pdf%TEMP%\atrocity.exe%TEMP%\Указания-[redacted]_9f36b79847.pdf
После сохранения файлов Rust‑дропер запускает отвлекающий документ, а затем исполняемый файл CoreRAT с помощью следующей команды:
cmd /c "ping.exe -n 38 127.0.0.1" & %TEMP%\integrated.exe
В других исследованных образцах Rust‑дропера логика сохранения файлов оставалась неизменной. Отличалась только команда запуска CoreRAT:
cmd /c "ping.exe -n 65 127.0.0.1" & %TEMP%\atrocity.exe
Отвлекающие PDF‑документы
Анализ отвлекающих PDF‑документов выявил ряд признаков, свидетельствующих об их фабрикации злоумышленниками. К ним относится использование нетипичной для официальной корреспонденции государственных организаций лексики и формулировок, а также артефакты, указывающие на редактирование содержимого документа и последующую вставку поддельных подписей.
FOhf6.pdf
Указания-[redacted]_9f36b79847.pdf
avth.gGAT.pdf
Также было установлено, что отвлекающий документ avth.gGAT.pdf идентичен документу Scan_125992145_TLG_na_perepodgotovku_dsp.pdf (SHA‑256: c907b15b60fe77e42d3c37932f545e5d094370d5b709966a2fb572c5a6799660), ранее использовавшемуся в атаках кластера Vortex Werewolf. Данное совпадение может свидетельствовать об обмене инструментами, отвлекающими документами или опытом между операторами этих кластеров. В качестве альтернативной гипотезы нельзя исключать, что Core Werewolf и Vortex Werewolf являются частями одной группы или используют общую инфраструктуру разработки. Однако имеющихся данных недостаточно для подтверждения этой версии, и она требует дополнительного исследования.
Scan_125992145_TLG_na_perepodgotovku_dsp.pdf
CoreRAT
CoreRAT — троян удаленного доступа (Remote Access Trojan, RAT), написанный на языке C++. Строковые константы внутри вредоносного ПО зашифрованы с использованием алгоритма AES в режиме CBC (AES‑CBC).
В начале выполнения CoreRAT создает мьютекс 301525677, после чего запускает отдельный поток, выполняющий проверки на наличие признаков запуска ВПО в виртуальном окружении:
- Проверяет гипервизор с помощью инструкции CPUID на наличие строк VMwareVMware, VBoxVBoxVBox, XenVMMXenVMM и KVMKVMKVM.
- Проверяет значения параметров BIOSVersion и BIOSVendor в ключе реестра
HKLM\HARDWARE\DESCRIPTION\System\BIOSна наличие подстрок VMW и VMware. - Проверяет количество LNK‑файлов в каталоге
%APPDATA%\Microsoft\Windows\Recent\AutomaticDestinations. Если в каталоге обнаружено менее 15 LNK‑файлов, вредоносная программа считает, что выполняется в виртуальной среде.
Если проверки не пройдены, ВПО завершает работу. Если признаков выполнения в виртуальном окружении не обнаружено, CoreRAT расшифровывает адреса C2‑серверов:
dezinsekciya-top[.]ru:443|94.232.248[.]34:443|ahmetgurses[.]net:443|194.190.153[.]182:443
Адреса C2‑серверов разделяются символом «|», после чего CoreRAT последовательно пытается установить соединение с каждым из них до получения успешного подключения.
После успешного подключения ВПО собирает базовую информацию о системе и формирует JSON‑объект, содержащий:
- имя компьютера, полученное с помощью функции
GetComputerNameW(); - значение параметра реестра BIOSVersion из
HKLM\HARDWARE\DESCRIPTION\System\BIOS. При невозможности получения значения используется строка Unknown; - количество корректных LNK‑файлов в каталоге
%APPDATA%\Microsoft\Windows\Recent\AutomaticDestinations, для которых целевые файловые объекты существуют на диске; - общее количество LNK‑файлов в каталоге
%APPDATA%\Microsoft\Windows\Recent; - список запущенных процессов в следующем формате:
Image Name PID ------------------------------------------------------- [PROCESS_NAME] [PID] список файлов и каталогов рабочего стола пользователя в следующем формате:
Desktop path is %HOMEPATH%\Desktop MM/DD/YYYY HH:MM [TYPE] [FILENAME]где MM/DD/YYYY HH:MM — время последнего изменения объекта;
информация о сетевых адаптерах в следующем формате:
Adapter Name IP Address MAC Address ------------------------------------------------------- Name: [NAME] Description: [DESCRIPTION] MAC: [MAC_ADDR] IPv4: [IPV4_ADDR] Subnet: [SUBNET] DHCP: [Enabled/Disabled]
После завершения сбора данных CoreRAT формирует JSON‑объект, содержащий всю полученную информацию.
{
"1d22922b": "1640185028",
"245c736a": [PROCESSES_LIST]
"2ca93a25": [%APPDATA%\Microsoft\Windows\Recent LNK_COUNT],
"2fe3b8c4": [DESKTOP_LS]
"8feff34e": [ADAPTERS_INFO]
"92481bcc": [%APPDATA%\Microsoft\Windows\Recent\AutomaticDestinations RESOLVED_LNKS_COUNT],
"fb638856": [BIOSVersion],
"host_name": [HOSTNAME]
}
Сформированный JSON кодируется с использованием алгоритма Base58 и передается на C2‑сервер посредством HTTPS POST — запроса:
hxxps://[c2]:[port]/5743e279
Для реализации сетевого взаимодействия ВПО использует модифицированный код из данного репозитория.
В ответ сервер возвращает параметр session_token=<value>, который при последующих запросах передается в заголовке Cookie.
После успешной регистрации CoreRAT формирует HTTPS GET — запрос для получения команды:
hxxps://[c2]:[port]/0a445b0e
Поступающие команды от C2‑сервера также закодированы Base58.
Поддерживаются следующие команды:
| Команда | Описание |
|---|---|
6055bc66 [dir] |
Выполняет обход содержимого указанной директории. Результат отправляется на C2 в следующем формате: Desktop path is [DIR] MM/DD/YYYY HH:MM [TYPE] [FILENAME] |
8cb382b9 |
Собирает список запущенных процессов и передает его на C2 в следующем формате: Image Name PID ------------------------------------------------------- [PROCESS_NAME] [PID] |
2990a8e1 |
Собирает сведения о сетевых адаптерах и передает их на C2 в следующем формате: Adapter Name: [Adapter_Name] IP Address: [IPv4] DNS Suffix: [DNS_name] |
4e86fd31 |
Собирает ARP‑таблицу и передает ее на C2 в следующем формате: Interface: [Interface] Internet Address Physical Address Type [ipv4] [MAC] [dynamic/static] |
434cf996 |
Собирает список активных TCP‑соединений и связанных с ними процессов, после чего передает его на C2 в следующем формате: Proto Local Address Foreign Address State PID TCP [local_ip] [remote_ip] [state] [processID] |
a004af05 |
Выполняет самоудаление. Для этого CoreRAT переименовывает собственный исполняемый файл в @echo off timeout /t 3 >nul del /Q "[corerat_filename].exe.1" start "" /b cmd /c "ping 127.0.0.1 -n 3 >nul && del %~f0" |
e81ff8fd [command / process] |
Запускает указанную команду или процесс с помощью функции WinAPI Также поддерживается формат |
1188b874 [output] |
Загружает файл с адреса Также поддерживается формат |
После выполнения команды результат ее выполнения кодируется в Base58 и передается на C2‑сервер посредством HTTPS POST — запроса.
hxxps://[c2]:[port]/ba4b6dc1
Анализ других образцов CoreRAT
В ходе анализа были также обнаружены другие образцы CoreRAT. Наиболее существенные изменения коснулись механизмов проверки выполнения ВПО в целевом окружении.
Возможные варианты проверок:
В одном из образцов после расшифровки формировался следующий список MD5‑хешей:
1c69c262000994ac06ec153469eab55b|dc8dc902852fff973c9c51cef62bb4ba|a29ba2ff5388d667cc353730075fba4b|f34f4b89e95084d3a9b00b9c878fdfca|b8d7886ca654a5e6feb3f9a56fa40b75|7228b3f08edb7754dec4d4e555fe8539
Затем в директории
%USERPROFILE%\Desktopосуществлялся поиск файлов с расширением.pdf. Для каждого найденного документа вычислялся MD5‑хеш, который сравнивался со списком расшифрованных значений. При совпадении хотя бы одного хеша CoreRAT продолжал выполнение. Установлено, что указанные MD5‑хеши соответствуют отвлекающим PDF‑документам, распространяемым вместе с CoreRAT в составе 7zSFX‑дроперов. Таким образом, ВПО проверяет наличие ожидаемого отвлекающего документа и убеждается, что было запущено непосредственно после выполнения дропера.В образце, распространяемом с помощью Rust‑дропера, реализована иная проверка. CoreRAT перебирает все файлы в директории
%TEMP%и сравнивает дату их создания (год, месяц и день) с датой создания собственного процесса, полученной посредством вызоваGetProcessTimes(). Если даты совпадают, вычисляется MD5‑хеш содержимого файла, который затем сравнивается со списком известных хешей:09f192018e1a42f577d0f136b59e2888|b90f78b83282a7c7ccf8b6f61ab4af4d|6dbb3abbd19859c6f2771d7e32029818|7c3754bb07904de3708f1fae02bb9d0c|ad5f31bb0f53662c5ad659a3de2df2d0|d4af404ee8b55fc40b3ef620d90396aa|af7ad3dbf7666a88e19d076efe858f49|9b4f048ec84b13d5138d937109f2cdb6|73a8ef0d8fb7960ce6a29c38190aec6d|f4a647575c4fd3cb3c29b2a69c3aa6fe|907988b8337495e5245f3a01fd6fd121|808157c74ecd47961c7d2d6f934d706f|3cbb25f5f3a9ac6908d93cc58909536d|729598a8473203c1938b69995d816c31|1406fb20fce3c82bd55616e7949e7aca|6813c4f5170125d134a38ea2af45da97|b6a7dc31b3e1059b227e032f35727ebd|09c659fa24c98ba0f65c7a0369649903|a5be3e5a8bd37feee8bcff7b5d4a4dba|9e372e0f2356edd059af47e70044830a|b3eef6b2ecb165e50d057e1e210d6558|c2af530aff5108ab953eec30ec2399e7|0aaeb5c679e8f42e160248d5ef9e1d83|bd128b66eb000fd08ada754ed9ceba2e|3da4b2eaa2359e55bc33cca7468792ad|65a9da2d23cf0baae86bd0be8d97ed03|eee77075b5077c5abf03a9e09567ca08|2304e7a62565f45db890a341fb7a7d70|305b6e15b0209a0684fc6d8352b49839|65d112c2e2673d5fa5b22deb1b4a430e|5bef05f58d53791fc49ee8d66f2cb652|a2ef7d18d943af3c9dc6e9960f26ccbd|bb7eae1628af407ed9fc0240e92eccfe|b1410e77bfee794f52adc29e0ef9aed6|d98ed128086144ef699ef7584f858aa1|bc0608ca923518bb05bc00b608f377eb|04028f5fd20a6fa60694962ae72bb96f|4ced3337ca412a638a504e697caa954f|3454030cd9b40280f1a0e7e585c0f639|761f92ed3f949daa790b2cc96d2efbd5|0d003702bec166aec8f3869d53ccf89f|9705d2d1c30b0ae4c4a50c6acb3a9dc8|3215f75e96dad896f961e13a23c5d17f|3efbb378747d3e7d96d077ec6afefbc7|63ae279bcfc0babcab0539f44b97c76a|800076766e58c0f4cfd8a929865a6c9e|92d4dabf7348b0dad11c1295b030611d|bf17c89f315e0b11a812a87783417c0f|4b0c15b864b643c3a4ab38360c7c027a|fa3948732fef4f81dbc13102db6f641f|a59c46d04b6274de33093e6d9f62f334|8d4900aed87db884e183145d2a56ea92|720e4c35995f95413d9d3d7ebe57d88f|7c3835a540173253460763b19a4565fa
Такой механизм позволяет обнаружить файлы, созданные Rust‑дропером непосредственно перед запуском CoreRAT, и использовать их как дополнительный признак выполнения в ожидаемой цепочке компрометации.
В одном из ранних образцов реализована проверка выполнения в виртуальном окружении посредством анализа MAC‑адресов сетевых адаптеров. Для каждого сетевого адаптера проверяется, начинается ли MAC‑адрес с одного из следующих префиксов:
000C29 001C14 080027 000F4FКроме того, выполняется поиск следующих подстрок в значении MAC‑адреса:
0003BA 00015D 001851 506B8D 9600Совпадение с указанными значениями рассматривается как признак выполнения ВПО в виртуальной среде, поскольку соответствующие префиксы используются сетевыми адаптерами популярных гипервизоров (например, VMware, VirtualBox и Microsoft Hyper‑V).
Анализ различных образцов CoreRAT показал, что в каждом из них используются уникальные C2‑эндпоинты, а также варьируется состав JSON‑полей, предназначенных для сбора и передачи информации о скомпрометированной системе. Ниже приведен пример структуры данных из другого образца:
{
"diff-stats-582": "[DESKTOP_LS]",
"host_name": "[PC_NAME]",
"projection-deliver-594": "[PROCESSES_LIST]",
"seller_issue_95": -1,
"shipment-views-323": -1,
"slow-privilege-847": "[ADAPTERS_INFO]",
"version_acl": "2539284801" [BUILD_ID]
}
Также в различных образцах CoreRAT отличаются названия команд. В ходе анализа были восстановлены их исходные наименования:
| Оригинальное название | Обфусцированное название |
|---|---|
!dir |
6055bc66 , parse-299 |
!tasklist |
8cb382b9, topics_attachment_891 |
!ipconfig |
2990a8e1, identity-projection |
!arp |
4e86fd31, middleware-883 |
!netstat |
434cf996, monitor_279 |
!terminate |
a004af05, secret_892 |
!download |
1188b874, formats-daemon-380 |
!payload |
e81ff8fd, warm-762 |
Индикаторы компрометации
Хеш‑суммы файлов
604ffe14ab558bf79f00adbf050760ba5d0156ad7326586013c5d3fb3d7ef2f74661735db0f33dd567d29b2a056a967bb3762f831eb3678b27c4ffb06dbb8ec1465913946d4985ab60899ed2b7bc779ea83d08683c041d0e33b496358b684106b40b8978430ebbcbe8101ec51409fef86798d88e24287a1173fde2a106fd0d76d34eb87981cd144c0916b1e720b94dc22b52924b3358c32350a235925e7dfa7e
6ccfd6b2964f564ab1b308b1c6b4d78f994ec1e975f4e848620ebb302d3e70ac085db99b37298266b48dba20749c1567f99895b5ae3f60d3ea08047d3903542d
07956ee6bbd628bcaaefe36c4b01f3fe146b87df16bbbb6d884c5e5ab16088587a489dc1e1dc13ec35fb94b4faedcb294879c7fe3597888aec7ad3f516c1cc2002933405aac6676fd892ff311418877185bbaadc7151807f54a3bc3d6b75241d1402053d6edb096b59b8df3b81d56d5a30e6577f9022ef9b5dae910f328d0401909dfb4388334d66877debcb46d36c7d0a5a75c231241aa4c989ff0cafacc8f9722e7b896d5c6026af26ac368de2aed93ff341128478a6cd57849549abf773d2ea9600c3d62d807c07055f0951d08db03725417b9342a76e62410e26940500336f04ceb8d83ceb8b160314ac1829fba7054464006990e47a1493faf1185c2daba4f21177027e07280edf929adfd1403e0f4e7eb1892ca38069d45a9cd06e2929fe2cc8991ec22325283cd246856f7869caae0ff8b4d90cbbb734593b5b3d99ed
31ef487ed72e96d3d8ce50459e2d63786f51925b6e7fc4ede372e26ea7709a1cd447e296f7da71a05d38077ae27295519151d56b6cd44ca272e731d702f7fe638925168fa34fb8e823f7329fb775b6c2cc3b41767524fc639452e93ec5c360e19a1491258e5d0131b0bb237c7221016c737af79961427c1f2fed9f80d75787b37c5dd94fbda84bd1dc9122dc7f6b2df1469f9e757f7ca577ba82d3ab4bc13d081641001dd82ed4e7ad59dfc4e5f4d9c6cd9937d47a6e59931d382926c0632de3be8a351d80e15c6ae88dd566939600162375441c538ee61be36bb81c93da182f
Сетевые индикаторы
teambusiness-mail[.]ru:443xakklinkprik[.]ru:443dezinsekciya-top[.]ru:443ahmetgurses[.]net:443msgntfsys[.]link:443arendelle[.]ru:443sgpsib[.]ru:443
185.102.139[.]30:443130.49.181[.]212:443138.124.76[.]77:44395.81.125[.]145:443178.253.39[.]45:443104.128.129[.]184:44395.215.108[.]140:44345.128.150[.]49:443195.47.250[.]173:44391.212.150[.]141:4435.101.88[.]7:443194.190.153[.]182:44394.232.248[.]34:443
MITRE ATT&CK
| Тактика | Техника | Процедура |
|---|---|---|
Execution |
Command and Scripting Interpreter: Windows Command Shell |
Core Werewolf использует 7zSFX‑дропер для копирования и запуска полезной нагрузки CoreRAT с помощью
Core Werewolf использует Rust-дропер для задержки запуска и выполнения CoreRAT с помощью
|
|
Native API |
Core Werewolf использует CoreRAT для запуска команд и процессов по команде |
|
Stealth |
Deobfuscate/Decode Files or Information |
Core Werewolf использует CoreRAT для расшифровки строк и C2‑адресов с помощью AES‑CBC, а также расшифровки загружаемых файлов с ключом |
|
Indicator Removal: File Deletion |
Core Werewolf использует CoreRAT для самоудаления по команде
|
|
|
Obfuscated Files or Information: Embedded Payloads |
Core Werewolf использует 7zSFX‑дропер для распаковки и запуска CoreRAT и отвлекающего документа. Core Werewolf использует Rust‑дропер для распаковки встроенного ZIP‑архива, содержащего CoreRAT и отвлекающий документ, в директорию |
|
|
Virtualization/Sandbox Evasion: System Checks |
Core Werewolf использует CoreRAT для проверки исполнения в виртуальном окружении с помощью инструкции |
|
Discovery |
File and Directory Discovery |
Core Werewolf использует CoreRAT для обхода переданной директории по команде |
|
Process Discovery |
Core Werewolf использует CoreRAT для сбора списка запущенных процессов по команде |
|
|
Query Registry |
Core Werewolf использует CoreRAT для чтения параметров |
|
|
System Information Discovery |
Core Werewolf использует CoreRAT для сбора базовой информации о системе: имя ПК ( |
|
|
System Network Configuration Discovery |
Core Werewolf использует CoreRAT для сбора информации о сетевых адаптерах по команде |
|
|
System Network Connections Discovery |
Core Werewolf использует CoreRAT для сбора списка активных TCP‑соединений и соответствующих процессов по команде |
|
Command and Control |
Application Layer Protocol: Web Protocols |
Core Werewolf использует CoreRAT для взаимодействия с C2 по протоколу HTTPS |
|
Data Encoding: Non-Standard Encoding |
Core Werewolf использует CoreRAT для кодирования передаваемых данных и команд с помощью Base58 |
|
|
Ingress Tool Transfer |
Core Werewolf использует CoreRAT для скачивания файлов с C2 по командам |
Чтобы противостоять атакам Core Werewolf и схожих кластеров, важно опираться на актуальный ландшафт киберугроз и понимать, какие инструменты и тактики применяют злоумышленники. Портал BI.ZONE Threat Intelligence позволяет своевременно получать актуальные индикаторы компрометации, данные о тактиках злоумышленников и их инструментарии. Эта информация помогает службам безопасности быстрее реагировать на инциденты и выстраивать защиту с учетом наиболее вероятных для организации угроз.
Однако для эффективной защиты важно не только обнаружить попытку проникновения, но и вовремя нейтрализовать угрозу. Решения класса EDR, такие как BI.ZONE EDR, способны отследить атаку до наступления ущерба и оперативно отреагировать на нее — как в автоматическом режиме, так и с привлечением специалистов по кибербезопасности.