Дослідження загроз Cato CTRL: Foxveil – новий завантажувач шкідливого програмного забезпечення, що зловживає Cloudflare, Discord та Netlify як інфраструктурою підготовки
Detection stack
- AIDR
- Alert
- ETL
- Query
Резюме
Foxveil – це новий виявлений початковий етап завантажувача шкідливого ПЗ, вперше помічений у серпні 2025 року. Він завантажує shellcode, згенерований Donut, з “довірених” хостингових поверхонь – Cloudflare Pages, Netlify та вкладень Discord, а потім запускає його за допомогою методів ін’єкції в процеси. Для збереження завантажувач або реєструє службу Windows, або намагається змінити налаштування Microsoft Defender. В усіх спостережуваних варіантах головні відмінності полягали в джерелі інсценування, підході до ін’єкції та методі збереження.
Розслідування
Дослідники Cato проаналізували два варіанти Foxveil і задокументували послідовність процесів: отримання shellcode, ін’єкція через Early Bird APC (або пряма самостійна ін’єкція) та збереження через службу під назвою AarSvc. Спостерігалися скинуті артефакти під C:WindowsSysWOW64 з маскованими іменами файлів для змішування з легітимними компонентами. Завантажувач також включає логіку перетворення строк, яка перезаписує терміни з високим сигналом, щоб зменшити статичні спрацьовування. Телеметрія мережі показала з’єднання з декількома доменами Cloudflare та Netlify, з періодичними завантаженнями з URL вкладень Discord.
Запобігання
Платформа Cato SASE заблокувала завантажувач до виконання корисного навантаження, перевіряючи поведінку завантаження та підозрілі зразки створення процесу. Для зниження ризику блокуйте відомі домени інсценування та повідомляйте про поведінку, пов’язану з ін’єкцією, яка пов’язана з тактикою Foxveil. Вимкніть виконання ненадійних скриптів та посили стандарти навколо виключень Windows Defender для обмеження спроб збереження. Тримайте правила дозволеного списку для легітимних хмарних сервісів актуальними, щоб мінімізувати хибнопозитиви, одночасно зберігаючи покриття.
Відповідь
Якщо виявлено активність Foxveil, ізолюйте кінцеву точку, завершіть шкідливий процес та видаліть будь-яку зареєстровану службу (включаючи AarSvc). Проведіть судово-медичний огляд SysWOW64 для виявлення скинутих виконуваних файлів та зберіть хеші для обмеження. Перейдіть за мережевими журналами для з’єднань із виявленими доменами інсценування та блокуйте їх на рівні DNS/проксі. Розгорніть детекцію для ін’єкцій Early Bird APC та самостійних ін’єкцій по всьому парку, щоб виявити додаткові піддані впливу хости.
graph TB %% Class Definitions classDef technique fill:#ffcc99 classDef malware fill:#ff9999 classDef tool fill:#99ccff classDef payload fill:#ccccff classDef operator fill:#ff9900 %% Node Definitions initial_execution[“<b>Техніка</b> – <b>T1574.005 Викрадення потоку виконання: Слабкість дозволів на файл інсталятора виконуваного файлу</b><br/>Жертва запускає шкідливі EXE/DLL, що скидає завантажувач Foxveil.”] class initial_execution technique staging_retrieval[“<b>Техніка</b> – <b>T1102.001 Веб-сервіс: Dead Drop Resolver</b> та <b>T1102 Веб-сервіс</b><br/>Foxveil контактує з контрольованими зловмисником Cloudflare Pages, Netlify доменами або посиланнями на вкладення Discord для завантаження згенерованого Donut shellcode.”] class staging_retrieval technique in_memory_loading[“<b>Техніка</b> – <b>T1620 Завантаження відображуваного коду</b><br/>Завантажений shellcode завантажується безпосередньо в пам’ять без торкання диска.”] class in_memory_loading technique process_injection[“<b>Техніка</b> – <b>T1055.002 Ін’єкція переносного виконуваного файлу</b> та <b>T1055.001 Ін’єкція DLL</b><br/>Foxveil v1 ін’єктується через Early‑Bird APC у щойно запущений процес svchost.exe; Foxveil v2 виконує самостійні ін’єкції.”] class process_injection technique persistence_service[“<b>Техніка</b> – <b>T1543 Створення або модифікація системного процесу</b><br/>Foxveil v1 реєструє службу Windows (AarSvc) для збереження при завантаженні.”] class persistence_service technique masquerading[“<b>Техніка</b> – <b>T1036.005 Суміщення з легітимним іменем чи місцем ресурсу</b><br/>Скинуті бінарні файли, названі як sms.exe, sihost.exe, taskhostw.exe, audiodg.exe, real1.exe, були розміщені в C:\Windows\SysWOW64.”] class masquerading technique hide_artifacts[“<b>Техніка</b> – <b>T1564.012 Виключення файлів/шляхів</b><br/>Намагається викликати WMI до MSFT_MpPreference, щоб видалити виключення для C:\Windows\SysWOW64.”] class hide_artifacts technique obfuscation[“<b>Техніка</b> – <b>T1027.014 Поліморфний код</b><br/>Рівень модифікації строк під час виконання замінює строки з високим сигналом, такі як “fox”, “payload”, “meterpreter”, “beacon”.”] class obfuscation technique multistage_delivery[“<b>Техніка</b> – <b>T1104 Багатоступеневі канали</b><br/>Після початкового виконання shellcode додаткові виконувані файли завантажуються з тієї ж інфраструктури інсценування (наприклад, потенційний маяк Cobalt Strike).”] class multistage_delivery technique foxveil[“<b>Шкідливе ПЗ</b> – Foxveil Loader<br/>Початковий дропер, що отримує і завантажує shellcode.”] class foxveil malware donut_shellcode[“<b>Завантаження</b> – Shellcode, згенерований Donut<br/>Містить подальші шкідливі можливості.”] class donut_shellcode payload cobalt_strike[“<b>Інструмент</b> – Потенційний маяк Cobalt Strike<br/>Завантажений на пізніших стадіях для команди і управління.”] class cobalt_strike tool %% З’єднання initial_execution –>|спускає| foxveil foxveil –>|отримує| staging_retrieval staging_retrieval –>|завантажує| donut_shellcode donut_shellcode –>|завантажує через| in_memory_loading in_memory_loading –>|виконує| process_injection process_injection –>|вмикає| persistence_service foxveil –>|виконує| masquerading foxveil –>|виконує| hide_artifacts foxveil –>|виконує| obfuscation process_injection –>|призводить до| multistage_delivery multistage_delivery –>|завантажує| cobalt_strike cobalt_strike –>|забезпечує| persistence_service
Потік Атаки
Детекція
Аномальна послідовність процесів системи (через створення процесу)
Перегляд
Можливий витік / інфільтрація даних / управління через сервіси / інструменти третьої сторони (через проксі)
Перегляд
Підозрілі процеси Svchost (через створення процесу)
Перегляд
Підозріла модифікація виключень Defender через WMIC (через командний рядок)
Перегляд
Можливий витік / інфільтрація даних / управління через сервіси / інструменти третьої сторони (через dns)
Перегляд
IOC (HashSha256) для виявлення: Дослідження загроз Cato CTRLTM: Foxveil – новий завантажувач шкідливого ПЗ, що використовує Cloudflare, Discord і Netlify як інфраструктуру інсценування, частина 1
Перегляд
IOC (HashSha256) для виявлення: Дослідження загроз Cato CTRLTM: Foxveil – новий завантажувач шкідливого ПЗ, що використовує Cloudflare, Discord і Netlify як інфраструктуру інсценування, частина 2
Перегляд
Виявлення ін’єкції закамуфльованого процесу svchost.exe Foxveil v1 [Створення процесу Windows]
Перегляд
Виявлення доменів інсценування шкідливого ПЗ Foxveil [Мережеве з’єднання Windows]
Перегляд
Виконання симуляції
Передумова: Телеметрія та перевірка передпольотного налаштування мають бути пройдені.
Раціоналізація: Цей розділ деталізує точне виконання техніки (TTP) противника, призначеної для спрацювання правила виявлення. Команди та розповідь ПОВИННІ безпосередньо відображати ідентифіковані TTP та на меті генерувати точні телеметрії, очікувані логікою виявлення.
-
Опис Атаки та Команди
-
Рекогносцировка: Зловмисник отримав домен інсценування Foxveil
syscore.pages.devз архіву скомпрометованих облікових даних. - Етап 1 – Розв’язання DNS: Використовуючи рідний інструмент Windows, зловмисник розв’язує домен інсценування, щоб отримати IP-адресу хосту шкідливого навантаження. Цей крок відображає реальну поведінку шкідливого ПЗ та є спостережуваним тригером.
- Етап 2 – Отримання навантаження (не виконується у тесті): У реальній атаці розв’язана IP-адреса буде використана для завантаження навантаження другого етапу через HTTP. Для цілей валідації виявлення достатньо лише розв’язання DNS.
-
Рекогносцировка: Зловмисник отримав домен інсценування Foxveil
-
Скрипт тесту регресії
<# Імітуйте розв'язання домену інсценування Foxveil. Цей скрипт виконує DNS-запит для відомого домену Foxveil, генеруючи точну телеметрію, яку моніторить правило Sigma. #> # Визначте домен інсценування (вибраний з білого списку правила) $stagingDomain = "syscore.pages.dev" # Розв'язати домен – це генерує подію запиту DNS try { $result = Resolve-DnsName -Name $stagingDomain -Type A -ErrorAction Stop Write-Host "Розв'язано $stagingDomain до $($result.IPAddress)" } catch { Write-Error "Розв'язання DNS не вдалося: $_" } # Додатково: пауза для гарантії, що трубопровід журналу обробляє подію Start-Sleep -Seconds 5 -
Команди очищення
# Очищення кешу DNS для видалення розв'язаного запису (перешкоджає кешованим ефектам на наступних тестах) ipconfig /flushdns Write-Host "Кеш DNS очищено."