SOC Prime Bias: Критичний

13 Aug 2026 06:08 UTC

Зупиніть програму-вимагач: Аналіз загрози Gunra Ransomware

Author Photo
SOC Prime Team linkedin icon Стежити
Зупиніть програму-вимагач: Аналіз загрози Gunra Ransomware
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Резюме

Gunra — це операція з програми-вимагача як послуги (RaaS), яка дотримується моделі подвійного вимагання, поєднуючи шифрування даних з ексфільтрацією. Зловмисники націлені на критично важливу інфраструктуру, урядові установи та широкий спектр комерційних організацій по всьому світу. Програма-вимагач заснована на розкритому вихідному коді Conti та еволюціонувала з підтримкою обох середовищ Windows і Linux.

Розслідування

ФБР та міжнародні партнери виявили, що актори Gunra експлуатують вразливості, які відкриті в Інтернеті, та зловживають викраденими обліковими даними для початкового доступу. Розслідування виявило використання бібліотек Impacket для латерального руху та кількох інструментів з відкритим кодом для ексфільтрації даних. Група також використовує портал для переговорів на основі Tor і qTox для спілкування з жертвами.

Міграція

Організації повинні пріоритетно вийти з відомих експлуатованих вразливостей в системах з доступом до Інтернету, особливо у шлюзах VPN та інфраструктурі RDP. Підтримання незмінних офлайн-резервних копій та впровадження жорсткого сегментування мережі є критично важливими для обмеження латерального руху. Двофакторна аутентифікація (MFA) також повинна бути увімкнена у всіх службах віддаленого доступу.

Реагування

Якщо виявлено активність Gunra, компрометовані хости слід негайно ізолювати, зберігаючи відповідні судово-медичні артефакти, включаючи зашифровані файли та журнали системи. Розслідування загроз має розпочатися для визначення обсягу вторгнення та перегляду активності привілейованих облікових записів. Після цього організації повинні дотримуватись формальних процедур видалення, щоб повністю обмежити та видалити супротивника з середовища.

Потік атаки

Виявлення

Можливі шаблони командного рядка Impacket (через cmdline)

Команда SOC Prime
12 серпня 2026

Створення або видалення тіньової копії через Powershell, CMD або WMI (через cmdline)

Команда SOC Prime
12 серпня 2026

Альтернативний дистанційний доступ / програмне забезпечення управління (через систему)

Команда SOC Prime
12 серпня 2026

Можлива поведінка виконання Impacket (через аудит)

Команда SOC Prime
12 серпня 2026

Альтернативний дистанційний доступ / програмне забезпечення управління (через аудит)

Команда SOC Prime
12 серпня 2026

IOC (HashSha256) для виявлення: #StopRansomware: Gunra Ransomware

Правила AI SOC Prime
12 серпня 2026

IOC (SourceIP) для виявлення: #StopRansomware: Gunra Ransomware

Правила AI SOC Prime
12 серпня 2026

IOC (DestinationIP) для виявлення: #StopRansomware: Gunra Ransomware

Правила AI SOC Prime
12 серпня 2026

Виявлення маніпуляцій з обліковими записами та підвищення привілеїв Gunra Ransomware [Журнал безпеки Microsoft Windows]

Правила AI SOC Prime
12 серпня 2026

Виявлення експлуатованих вразливостей у FortiOS та FortiProxy [Міжмережевий екран]

Правила AI SOC Prime
12 серпня 2026

Виявлення латерального руху та виймання облікових даних Gunra Ransomware [Процес створення Windows]

Правила AI SOC Prime
12 серпня 2026

Виявлення API обходу файлової системи Gunra Ransomware [Процес створення Linux]

Правила AI SOC Prime
12 серпня 2026

Виконання симуляції

Передумова: Перевірка телеметрії та бази даних перед польотом повинна бути пройдена.

Пояснення: Цей розділ детально описує точне виконання техніки противника (TTP), розробленої для запуску правила виявлення. Команди та наратив повинні прямо відображати визначені TTP і прагнути генерувати точну телеметрію, очікувану логікою виявлення. Абстрактні або несхожі приклади можуть призвести до помилкової діагностики.

  • Оповідання про атаку та команди: Мета супротивника — підготуватися до розгортання програми-вимагача. Перед початком шифрування шкідливе програмне забезпечення повинно обійти файлову систему для створення списку файлів з високою цінністю (документи, бази даних тощо). Програма-вимагач Gunra спеціально використовує FindFirstFileW and FindNextFileW API для виконання цього широкомасштабного перерахування. Ми будемо імітувати це, компілюючи та виконуючи невеликий фрагмент коду C#, який явно викликає ці API через імпорт DLL, змушуючи Sysmon записувати використання API в полі ImageLoaded .

  • Скрипт регресійного тесту:

    # Збережіть це як TriggerDetection.cs
    using System;
    using System.Runtime.InteropServices;
    using System.IO;
    
    class Program {
        static void Main() {
            // Це імітує поведінку обходу Gunra ransomware
            // шляхом примусового завантаження цих специфічних API.
            DirectoryInfo di = new DirectoryInfo(@"C:");
            foreach (var file in di.GetFiles()) {
                // Доступ до властивостей файлу викликає API обходу
                string name = file.Name; 
            }
            Console.WriteLine("Обхід завершено.");
        }
    }
    
    # Компілюйте та виконуйте за допомогою csc.exe (вбудований у .NET Framework)
    Add-Type -TypeDefinition @"
    using System;
    using System.Runtime.InteropServices;
    public class Win32 {
        [DllImport("kernel32.dll", CharSet = CharSet.Unicode)]
        public static extern bool FindFirstFileW(string lpFileName, out WIN32_FIND_DATA lpFindFileData);
        [DllImport("kernel32.dll", CharSet = CharSet.Unicode)]
        public static extern bool FindNextFileW(IntPtr hFindFile, out WIN32_FIND_DATA lpFindFileData);
    
        [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
        public struct WIN32_FIND_DATA {
            public uint dwFileAttributes;
            public uint ftCreationTime;
            public uint ftLastAccessTime;
            public uint ftLastWriteTime;
            public uint nFileSizeHigh;
            public uint nFileSizeLow;
            public uint dwReserved0;
            public uint dwReserved1;
            public uint dwFileIndexHigh;
            public uint dwFileIndexLow;
            public uint dwStreamSize;
            public string cFileName;
            public string cAlternateDataStream;
        }
    }
    "@
    
    # Виконайте невеликий скрипт C#, який явно викликає функції, щоб переконатися в наявності рядка в журналах
    $code = @"
    using System;
    using System.Runtime.InteropServices;
    
    class Program {
        [DllImport("kernel32.dll", CharSet = CharSet.Unicode)]
        public static extern bool FindFirstFileW(string lpFileName, out FIND_DATA lpFindFileData);
        [DllImport("kernel32.dll", CharSet = CharSet.Unicode)]
        public static extern bool FindNextFileW(IntPtr hFindFile, out FIND_DATA lpFindFileData);
    
        [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
        public struct FIND_DATA {
            public uint dwFileAttributes;
            public uint ftCreationTime;
            public uint ftLastAccessTime;
            public uint ftLastWriteTime;
            public uint nFileSizeHigh;
            public uint nFileSizeLow;
            public uint dwReserved0;
            public uint dwReserved1;
            public uint dwFileIndexHigh;
            public uint dwFileIndexLow;
            public uint dwStreamSize;
            public string cFileName;
            public string cAlternateDataStream;
        }
    
        static void Main() {
            FIND_DATA data;
            IntPtr handle = IntPtr.Zero;
            // Це викликає специфічні рядки в полі Sysmon ImageLoaded
            if (FindFirstFileW("C:*", out data)) {
                Console.WriteLine("Файл знайдено за допомогою FindFirstFileW");
                FindNextFileW(handle, out data);
            }
        }
    }
    "@
    $code | Out-File -FilePath "$env:TEMPTriggerDetection.cs"
    & csc.exe "$env:TEMPTriggerDetection.cs"
    & "$env:TEMPTriggerDetection.exe"
  • Команди очищення:

    Remove-Item "$env:TEMPTriggerDetection.cs" -ErrorAction SilentlyContinue
    Remove-Item "$env:TEMPTriggerDetection.exe" -ErrorAction SilentlyContinue