Внутрішня архітектура Vidar 2026: Від зараження до виконання в пам’яті
Detection stack
- AIDR
- Alert
- ETL
- Query
Резюме
Звіт аналізує, як Vidar еволюціонував у багатостадійну, безфайлову атаку, що об’єднує завантажувачі на базі Go, VBS, PowerShell та користується легітимними утилітами Windows для завантаження шкідливого вмісту, прихованого в JPEG та TXT файлах, розташованих на віддаленій IP-адресі. Інтегровані пейлоуди вилучаються, декодуються та виконуються безпосередньо у пам’яті через RegAsm.exe, уникаючи виявлення на диску. Початкова передача здійснюється через соціально-інженерні приманки, такі як фальшиві репозиторії GitHub, зламані сайти WordPress та фальшиві сторінки CAPTCHA. Кампанія також використовує домени, розміщені через Telegram і Cloudflare, для командування і управління та ексфільтрації даних.
Розслідування
Дослідники Point Wild відстежили повний ланцюг зараження від початкового завантажувача на Go до кінцевого пейлоуда Vidar, документуючи кожен шар обфускації на цьому шляху. Їхній аналіз висвітлив використання користувацьких Base64 маркерів, перевернутих рядків і відбивного завантаження збірки .NET для прихованого виконання. Дослідники також описали, як WScript, PowerShell і RegAsm.exe були зловживані як проксі для виконання, що дозволило шкідливому програмному забезпеченню декодувати та запускати приховану DLL повністю у пам’яті. Мережева активність додатково підтверджувала отримання за допомогою HTTP інсценованих JPEG та TXT пейлоудів з жортко закодованої IP-адреси.
Захист
Захисники повинні зосередитися на виявленні початкових стадій зараження у вигляді VBS та PowerShell, включаючи підозріле використання RegAsm.exe, завантаження JPEG або TXT файлів із шкідливої IP та розпізнаваними Base64 маркерами. Блокування відомих шкідливих доменів і IP-адрес, моніторинг вихідного трафіку до Telegram і застосування контрольованого виконання для загальновідомих утиліт LOLBin може допомогти зменшити ризик експозиції. Також настійно рекомендується поведінкове детектування, налаштоване на безфайлове виконання та техніки завантаження у пам’ять.
Відповідь
Якщо ідентифіковано індикатори, прив’язані до ланцюга інфекції Vidar, негайно ізолюйте ураженого хоста, зупиніть підозрілі процеси, такі як WScript, PowerShell і RegAsm.exe, і зберіть образи пам’яті для судово-медичного огляду. Виявлену IP-адресу та пов’язані домени слід заблокувати, а будь-які ярлики автозапуску або заплановані завдання, які використовуються для стійкості, видалити. Команди безпеки також повинні провести повний перегляд облікових даних з акцентом на відкриті дані браузера, розширення та криптовалютні гаманці.
"graph TB %% Class Definitions classDef action fill:#99ccff classDef tool fill:#ffcc99 classDef process fill:#ffeb99 classDef builtin fill:#cccccc %% Nodes initial_access["<b>Дія</b> – <b>T1204 Виконання користувачем</b><br/>Жертви виконують шкідливі файли з фальшивих репозиторіїв GitHub, фальшивих CAPTCHA/ClickFix сторінок, зламаних сайтів WordPress і каналів розподілу чітів для ігор.<br/><b>Підтехніки</b>: T1204.001 Шкідливе посилання, T1204.002 Шкідливий файл, T1204.004 Шкідливе копіювання та вставка"] class initial_access action execution["<b>Дія</b> – <b>T1216 Проксі виконання системного сценарію</b><br/>Використовує WScript та PowerShell для запуску скриптів"] class execution action appdomain_hijack["<b>Дія</b> – <b>T1574.014 Викрадення потоку виконання: AppDomainManager</b><br/>Викликає RegAsm.exe як підписаний проксі-хост для завантаження збірки .NET"] class appdomain_hijack action defense_obfusc["<b>Дія</b> – <b>T1027 Обфусковані файли або інформація</b><br/>Поліморфний код, компіляція після доставки, стеганографія HTML, інтегровані/очищені пейлоуди, перевернуті рядки та користувацькі Base64 маркери"] class defense_obfusc action reflective_loading["<b>Дія</b> – <b>T1620 Відбивне завантаження коду</b><br/>Завантажує декодований .NET пейлоуд повністю в пам’ять"] class reflective_loading action process_injection["<b>Дія</b> – <b>T1055 Ін’єкція в процес</b><br/>Ін’єктує відбивний пейлоуд у легітимний процес"] class process_injection action persistence["<b>Дія</b> – <b>T1176 Розширення програмного забезпечення</b><br/>Копіює .bat файл у папку автозавантаження для стійкості на користувацькому рівні"] class persistence action discovery["<b>Дія</b> – <b>T1518 Виявлення програмного забезпечення</b> та <b>T1217 Виявлення інформації браузера</b><br/>Перераховує встановлене програмне забезпечення та понад 200 розширень браузера для криптовалютних гаманців та менеджерів паролів"] class discovery action c2["<b>Дія</b> – <b>T1071.001 Веб-протоколи</b>, <b>T1090.004 Маскування доменів</b>, <b>T1102.002 Двонаправлене веб-сервіс</b>, <b>T1071.004 DNS</b><br/>Використовує HTTP сервер за IP, Cloudflare та інфраструктуру Telegram для командування та управління"] class c2 action masquerade["<b>Дія</b> – <b>T1036 Маскування</b><br/>Шкідливі файли маскуються під легітимні JPEG зображення та TXT текстові носії"] class masquerade action exfiltration["<b>Дія</b> – <b>T1041 Ексфільтрація через канал командування та управління</b><br/>Зібрані дані передаються через веб-сторінку Telegram і домен за проксі-сервісом Cloudflare"] class exfiltration action %% Edges showing flow initial_access –>|веде до| execution execution –>|використовує| appdomain_hijack appdomain_hijack –>|дозволяє| defense_obfusc defense_obfusc –>|дозволяє| reflective_loading reflective_loading –>|дозволяє| process_injection process_injection –>|дозволяє| persistence persistence –>|дозволяє| discovery discovery –>|дозволяє| c2 c2 –>|дозволяє| masquerade masquerade –>|дозволяє| exfiltration "
Потік атаки
Виявлення
Підозрілі рядки Powershell (через cmdline)
Перегляд
LOLBAS WScript / CScript (через створення процесу)
Перегляд
Підозрілі рядки Powershell (через powershell)
Перегляд
Виклик підозрілих методів .NET з Powershell (через powershell)
Перегляд
Підозрілі бінарні файли/скрипти в автозапуску (через подію файлу)
Перегляд
Можливе зловживання Telegram як каналом командування та управління (через dns_query)
Перегляд
IOCs (HashMd5) для виявлення: В середині Vidar (2026): Від інфекції до виконання в пам’яті через пейлоуди JPEG і TXT
Перегляд
IOCs (SourceIP) для виявлення: В середині Vidar (2026): Від інфекції до виконання в пам’яті через пейлоуди JPEG і TXT
Перегляд
IOCs (DestinationIP) для виявлення: В середині Vidar (2026): Від інфекції до виконання в пам’яті через пейлоуди JPEG і TXT
Перегляд
Виявлення безфайлового виконання Vidar Infostealer за допомогою PowerShell та пейлоуди JPEG [Windows PowerShell]
Перегляд
Багатостадійне виконання Vidar Infostealer через WScript, PowerShell і RegAsm [Створення процесу Windows]
Перегляд
Виконання симуляції
Передумова: Попередня перевірка телеметрії та базової лінії повинна бути виконана.
Мотивування: Цей розділ детально описує точне виконання техніки нападу (TTP), призначеної для спрацьовування правила виявлення. Команди та опис ПОВИННІ прямо відображати виявлені TTPs і мати за мету генерувати точну телеметрію, очікувану логікою виявлення.
-
Атака: Наратив і команди:
- Початковий Завантажувач (WScript): Атакуючий поставляє шкідливий JScript файл (
payload.js), який запускається за допомогоюWScript.exe. Скрипт завантажує шкідливий пейлоуд в форматі base64 та в форматі PowerShell з C2 сервера та записує його у%TEMP%. - Етап Powershell: Завантажений пейлоуд виконується з
-ExecutionPolicy Bypass -NoProfile -WindowStyle Hidden, проводить відбивне завантаження DLL (T1620) шкідливої збірки .NET (evil.dll) у пам’ять та зкидає збірку на диск. - RegAsm Проксі: Щоб ухилитися від виявлення з боку рідного PowerShell, атакуючий викликає
RegAsm.exe, вказуючи наevil.dllз перемикачем/codebase, що спричиняє виконання шкідливого початкового пункту (T1574.014).
Ланцюг створює три окремих події Sysmon—кожна з яких відповідає
Image|endswithселектору—таким чином, спрацьовує попередження. - Початковий Завантажувач (WScript): Атакуючий поставляє шкідливий JScript файл (
-
Тест скрипту регресії: Наводиться скрипт, який відтворює вищезазначений ланцюг у безпечній, ізольованій формі за допомогою безпечних команд echo та фейкової DLL (простого текстового файлу) щоб уникнути реальної шкідливої активності, але при цьому генеруючи ті ж самі події створення процесу.
<# Симуляція багатостадійного виконання в стилі Vidar - Етап 1: WScript запускає JScript, що записує скрипт PowerShell у %TEMP% - Етап 2: PowerShell виконує скрипт, створює фейкову DLL та запускає RegAsm #> # ---------- Етап 1: WScript ---------- $jsPath = "$env:TEMPstage1.js" $psPayloadPath = "$env:TEMPstage2.ps1" $dummyDllPath = "$env:TEMPevil.dll" # JScript, який записує простий скрипт PowerShell на диск $jsContent = @" var fso = new ActiveXObject("Scripting.FileSystemObject"); var ts = fso.OpenTextFile("$psPayloadPath", 2, true); ts.WriteLine('Write-Host "[Stage 2] PowerShell виконується"'); ts.WriteLine('Set-Content -Path "$dummyDllPath" -Value "Це фейкова DLL"'); ts.WriteLine('Start-Process -FilePath "$env:SystemRootMicrosoft.NETFramework64v4.0.30319RegAsm.exe" -ArgumentList "`"$dummyDllPath`" /codebase" -NoNewWindow'); ts.Close(); "@ Set-Content -Path $jsPath -Value $jsContent -Encoding ASCII # Виконати JScript через WScript Write-Host "`n[Етап 1] Запуск WScript..." & "$env:SystemRootSystem32WScript.exe" $jsPath # ---------- Етап 2: PowerShell ---------- Write-Host "`n[Етап 2] Виконання згенерованого скрипту PowerShell..." & powershell.exe -NoProfile -ExecutionPolicy Bypass -File $psPayloadPath # ---------- Очищення ---------- Write-Host "`nОчищення тимчасових файлів..." Remove-Item -Path $jsPath, $psPayloadPath, $dummyDllPath -Force -ErrorAction SilentlyContinue -
Команди очищення: Крім очищення в кінці скрипту, виконайте наступне, щоб уникнути залишкових процесів або файлів.
# Примусово зупинити будь-які процеси RegAsm або PowerShell, запущені під час тесту Get-Process -Name regasm, powershell -ErrorAction SilentlyContinue | Stop-Process -Force # Видалити будь-які залишкові файли у %TEMP%, що відповідають тестовій моделі Get-ChildItem -Path $env:TEMP -Filter "stage*.*" -File | Remove-Item -Force