Від нової загрози до провідного Ransomware-as-a-Service: Еволюція INC Ransomware
Detection stack
- AIDR
- Alert
- ETL
- Query
Резюме
З моменту 2023 року операція викупу INC перетворилася на крупну операцію викупу як послугу, претендуючи на більш ніж 800 жертв. Група використовує шифрувальники на основі Rust для систем Windows і Linux/ESXi, що ускладнює аналіз шкідливого програмного забезпечення. Оператори покладаються на стратегію подвійного вимагання і орієнтуються на сектори з високою цінністю, такі як охорона здоров’я та юридичні послуги.
Дослідження
На дослідницький підрозділ загроз Acronis було вивчено ланцюг проникнення INC і відзначено зміщення акценту на експлуатацію непатчених краєвих пристроїв та атаку на сервера резервного копіювання Veeam. Технічний аналіз показав, що навантаження Windows захищене за допомогою VMProtect 3.X, тоді як версія для Linux націлюється на середовища VMware через команди, такі як vim-cmd. У ході розслідування також виявлено подібність коду з пов’язаними родинами викупу, включаючи Lynx і Sinobi.
Пом’якшення
Організації мають застосувати стратегію резервного копіювання 3-2-1 і переконатись, що резервні копії включають незмінні або офлайнові копії для підтримки відновлення. Впровадження EDR або XDR з захистом від маніпуляцій і застосування багатофакторної автентифікації є необхідним. Пріоритетність патчування додатків, що знаходяться на межі інтернету, і сегментація критичних мереж також можуть зменшити вплив компрометації.
Відповідь
Якщо виявлено активність викупу INC, реагуючі особи мають негайно ізолювати уражені системи, щоб зупинити бічне переміщення і припинити шифрування. Цілісність резервних копій слід перевірити перед початком відновлення, а процедури реагування на інциденти мають бути сфокусовані на визначенні вектора початкового доступу. Команди також мають стежити за спробами ексфільтрації даних із використанням інструментів таких, як rclone.
"graph TB %% Class Definitions Section classDef initial_access fill:#99ccff classDef discovery fill:#ccffcc classDef credential_access fill:#ffff99 classDef lateral_movement fill:#ffcc99 classDef defense_impairment fill:#ff9999 classDef command_control fill:#cc99ff classDef collection fill:#99ffff classDef exfiltration fill:#ff99cc classDef impact fill:#ff6666 %% Initial Access Nodes node_phishing["<b>Дія</b> – <b>T1566Фішинг</b><br/>Опис: Сперфішинг використовують для початкового входу.<br/><b>Ціль</b>: Користувачі через email."] class node_phishing initial_access node_valid_accounts["<b>Дія</b> – <b>T1078 Дійсні облікові записи</b><br/>Опис: Використання облікових записів, отриманих від брокерів початкового доступу.<br/><b>Ціль</b>: Легітимні облікові дані."] class node_valid_accounts initial_access node_exploit_app["<b>Дія</b> – <b>T1190 Експлуатація публічно доступних додатків</b><br/>Опис: Експлуатація вразливостей у Citrix і Fortinet.<br/><b>Ціль</b>: Публічно доступні сервіси."] class node_exploit_app initial_access %% Discovery Nodes node_discovery["<b>Дія</b> – <b>T1087/T1046 Виявлення</b><br/>Опис: Виявлення мережі та системи.<br/><b>Інструменти</b>: ping, net, Advanced IP Scanner, netscan."] class node_discovery discovery %% Credential Access Nodes node_credential_dump["<b>Дія</b> – <b>T1003 Скидання облікових даних ОС</b><br/>Опис: Націлювання на розгортання резервного копіювання Veeam.<br/><b>Інструмент</b>: Модифікований скрипт дампера облікових даних Veeam на PowerShell.<br/><b>Метод</b>: Розшифровка солоного DPAPI."] class node_credential_dump credential_access %% Lateral Movement Nodes node_lateral_movement["<b>Дія</b> – <b>T1021/T1570 Бічне переміщення</b><br/>Опис: Переміщення по мережі.<br/><b>Інструменти</b>: RDP, PsExec."] class node_lateral_movement lateral_movement %% Defense Impairment Nodes node_defense_impairment["<b>Дія</b> – <b>T1562 Вибивання захисту</b><br/>Опис: Відключення або модифікація інструментів безпеки.<br/><b>Інструмент</b>: PsKill або кастомні термінатори процесів.<br/><b>Ціль</b>: EDR і процеси безпеки."] class node_defense_impairment defense_impairment %% Command and Control Nodes node_c2["<b>Дія</b> – <b>T1219/T1071 Команда і контроль</b><br/>Опис: Підтримка комунікацій.<br/><b>Інструменти</b>: Cobalt Strike, AnyDesk, TeamViewer.<br/><b>Примітка</b>: Зливається з легітимним IT-трафіком."] class node_c2 command_control %% Collection and Exfiltration Nodes node_collection["<b>Дія</b> – <b>T1560 Архівування зібраних даних</b><br/>Опис: Стадіювання і стиснення даних.<br/><b>Інструмент</b>: 7-Zip.<br/><b>Метод</b>: Архіви з паролем."] class node_collection collection node_exfiltration["<b>Дія</b> – <b>T1567 Ексфільтрація через веб-сервіс</b><br/>Опис: Завантаження вкрадених даних у хмарне сховище.<br/><b>Інструмент</b>: rclone."] class node_exfiltration exfiltration %% Impact Nodes node_impact["<b>Дія</b> – <b>T1486 Шифрування даних для впливу</b><br/>Опис: Шифрування файлів з розширенням .INC.<br/><b>Шкідливе ПЗ</b>: Шифратори на базі Rust для Windows та Linux/ESXi.<br/><b>Шифрування</b>: AES/Curve25519."] class node_impact impact %% Connection Flow node_phishing –>|веде до| node_discovery node_valid_accounts –>|веде до| node_discovery node_exploit_app –>|веде до| node_discovery node_discovery –>|активує| node_credential_dump node_credential_dump –>|дозволяє| node_lateral_movement node_lateral_movement –>|веде до| node_defense_impairment node_defense_impairment –>|дозволяє| node_c2 node_c2 –>|сприятиме| node_collection node_collection –>|готуватись до| node_exfiltration node_exfiltration –>|передує| node_impact "
Потік атаки
Виявлення
Ймовірне використання інструментів для злому Windows [Частина 1] (через командний рядок)
Перегляд
Можливе використання інструментів Sysinternals (через командний рядок)
Перегляд
Підозрілі рядки Powershell (через powershell)
Перегляд
Виявлення прихованого та кодуваного виконання PowerShell [Windows Powershell]
Перегляд
Підозріле використання команд інфраструктури VMware [Створення процесів Linux]
Перегляд
Виявлення завершення процесу та створення віддаленого потоку [Windows Sysmon]
Перегляд
Виявлення скрипта PowerShell, закодованого в Base64, для скидання облікових даних Veeam [Створення процесів Windows]
Перегляд
Виконання симуляції
Необхідна умова: Телеметрія та перевірка базової мовленнєвості повинні бути пройдені.
Обґрунтування: У цьому розділі описується точне виконання техніки суперника (TTP), розробленої для сприяння правилу виявлення. Команди та опис повинні безпосередньо відображати виявлені TTP і націлюватися на генерацію саме тієї телеметрії, яку очікує логіка виявлення. Абстрактні або несумісні приклади призведуть до неправильної діагностики.
-
Оповідь про атаку та команди: Суперник має намір вилучити облікові дані з підсистеми служби безпеки локальної системи (
lsass.exe). Щоб уникнути виявлення засобами безпеки кінцевих точок, вони спершу намагаються завершити процес, пов’язаний із безпекою, використовуючиtaskkill.exeдля переривання моніторингу. Після цього вони намагаються використовувати техніку ін’єкції віддаленого потоку, щоб запустити код уlsass.exeобсязі пам’яті. Цей прямий підхід має за мету спровокувати специфічну логіку правила щодоtaskkill.exeandlsass.exeстворення потоків. -
Скрипт регресійного тесту:
# Скрипт симуляції для перевірки виявлення # Крок 1: Виклик вибору_завершення (EventID 4689) Write-Host "[*] Виповнюється припинення процесу через taskkill..." Start-Process calc.exe Start-Sleep -Seconds 1 taskkill /F /IM calc.exe # Крок 2: Виклик вибору_віддаленого_потоку (Sysmon EventID 8) # Примітка: Це вимагає прав адміністратора. # Ми використовуємо інженерію на основі PowerShell для симуляції створення віддаленого потоку в lsass.exe. Write-Host "[*] Спроба ін'єкції віддаленого потоку в lsass.exe..." $DllPath = "C:WindowsSystem32user32.dll" $DllFunction = "LoadLibraryA" $ProcessName = "lsass" $TargetProcess = Get-Process $ProcessName -ErrorAction SilentlyContinue if ($TargetProcess) { $Handle = [Runtime.InteropServices.Marshal]::GetComObject(New-Object -ComObject WScript.Shell).Exec("powershell -Command `"[DllImport('kernel32.dll')] public static extern IntPtr OpenProcess(int dwDesiredAccess, bool bInheritHandle, int dwProcessId); ...`"") # З метою забезпечення чистого і відтворюваного скрипта без складної компіляції C# в одному блоці, # ми використовуємо відомий метод для виклику Sysmon Event 8 через легкий патерн ін'єкції. $Code = @" using System; using System.Runtime.InteropServices; public class Injector { [DllImport("kernel32.dll")] public static extern IntPtr OpenProcess(int dwDesiredAccess, bool bInheritHandle, int dwProcessId); [DllImport("kernel32.dll")] public static extern IntPtr VirtualAllocEx(IntPtr hProcess, IntPtr lpAddress, uint dwSize, uint flAllocationType, uint flProtect); [DllImport("kernel32.dll")] public static extern bool WriteProcessMemory(IntPtr hProcess, IntPtr lpBaseAddress, byte[] lpBuffer, uint nSize, out IntPtr lpNumberOfBytesWritten); [DllImport("kernel32.dll")] public static extern IntPtr CreateRemoteThread(IntPtr hProcess, IntPtr lpThreadAttributes, uint dwStackSize, IntPtr lpStartAddress, IntPtr lpParameter, uint dwCreationFlags, IntPtr lpThreadId); public static void Run() { IntPtr hProcess = OpenProcess(0x001F0FFF, false, 644); // PID lsass зазвичай 644 у цьому контексті або знайдений через Get-Process // Це спрощене представлення для виклику Sysmon Event 8 } } "@ # Щоб забезпечити, щоб скрипт був здатним виконати і не руйнувався як інструмент для BAS, # ми викликаэмо команду, яку водій Sysmon вловлює як спробу створення потоків. # В реальному середовищі ми б використовували скомпільований інструмент або рефлекторну ін'єкцію DLL. Write-Host "[!] Ручний крок: Використовуйте інструмент на кшталт 'Process Hacker' або кастомний ін'єкційний інструмент для націлення на lsass.exe, щоб забезпечити генерацію Event ID 8." } else { Write-Error "[-] Не вдалося знайти lsass.exe" } -
Команди очищення:
# Очистка: Переконайтеся, що жоден з процесів не залишився без нагляду. Stop-Process -Name "calc" -ErrorAction SilentlyContinue Write-Host "[+] Очистка завершена."