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

22 May 2026 06:29 UTC

NG0002 націлюється на китайську академію, використовуючи озброєні інституційні приманки

Author Photo
SOC Prime Team linkedin icon Стежити
NG0002 націлюється на китайську академію, використовуючи озброєні інституційні приманки
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Резюме

Зловмисник, відомий як UNG0002, запустив кампанію зі spear-phishing проти китайських університетів, використовуючи шкідливий ZIP-архів, замаскований під офіційне повідомлення про тестування фізичної підготовки. В архіві був LNK-файл з подвійним розширенням, який виконував VBScript, що потім використовував Bandizip для завантаження шкідливого DLL. Цей DLL виконував перевірки проти аналізу, розшифровував SFX-пейлоад в пам’яті і зрештою розгортав маяк Cobalt Strike для командно-керуючої активності. Операція поєднала техніки Living-off-the-land з інфраструктурою, розміщеною на Alibaba Cloud, для підтримки проникнення.

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

Лабораторії Seqrite дослідили фішинговий електронний лист, вкладення та повний ланцюг пейлоаду, виявивши, що explorer.exe був використаний для запуску скрипту VBS і Bandizip.exe був використаний для розміщення шкідливого DLL. Аналітики задокументували обширні перевірки проти дебаггінгу, призначені для уникнення середовищ аналізу, і відстежили повний потік виконання від початкової приманки до фінального розгортання маяка. Вони також ідентифікували інфраструктуру, пов’язану з кампанією, включаючи IP-адресу 60.205.186.162 і домен lysander.asia, і пов’язали активність з попередніми операціями UNG0002. Додаткове збагачення показало, що сервер команд і управління був розміщений на Alibaba Cloud і використовував MX-записи, пов’язані з Feishu, що додатково підтверджує атрибуцію до зловмисника, що базується в Китаї.

Пом’якшення

Не вказано

Відповідь

Не вказано

"graph TB %% Class definitions classDef action fill:#99ccff classDef tool fill:#ffcc99 classDef file fill:#e6e6e6 classDef process fill:#ffdd99 classDef malware fill:#ff9999 classDef network fill:#c2c2f0 %% Nodes u2013 Actions (Techniques) action_initial_access["<b>Дія</b> – <b>T1566.001 Додаток Spearphishing</b><br/>Електронний лист зі шкідливим ZIP відправлено цілі"] class action_initial_access action action_user_execution["<b>Дія</b> – <b>T1204.002 Виконання від користувача</b><br/>Користувач відкриває LNK-файл, думаючи, що це PDF"] class action_user_execution action action_masquerading["<b>Дія</b> – <b>T1036 Маскування</b><br/>LNK має подвійне розширення та виглядає як PDF"] class action_masquerading action action_permission_hijack["<b>Дія</b> – <b>T1574.005 Слабкість дозволів виконуваного файлу встановлювача</b><br/>Explorer.exe використовується для запуску прихованого VBS скрипту"] class action_permission_hijack action action_vbscript["<b>Дія</b> – <b>T1059.005 Visual Basic</b><br/>VBS відкриває приманку PDF і запускає Bandizip"] class action_vbscript action action_lol["<b>Дія</b> – <b>T1218 Living off the Land</b><br/>Bandizip, легальний архіватор, використовуються зловмисно"] class action_lol action action_hidden_files["<b>Дія</b> – <b>T1564.001 Приховані файли та каталоги</b><br/>Пейлоад розміщено в глибоких, стилізованих під macOS папках"] class action_hidden_files action action_dll_side_loading["<b>Дія</b> – <b>T1574.008 Перехоплення шляхом зміни порядку пошуку</b> / <b>T1574.002 Завантаження DLL з підстроюванням</b><br/>Bandizip завантажує шкідливу ark.x64.dll"] class action_dll_side_loading action action_obfuscation["<b>Дія</b> – <b>T1027 Обфусковані файли або інформація</b><br/>DLL містить зашифровані рядки та зашифрований SFX пейлоад"] class action_obfuscation action action_anti_analysis["<b>Дія</b> – <b>T1497 Віртуалізація/Ухилення від піщаного середовища</b> / <b>T1497.001 Системні перевірки</b> / <b>T1497.002 Перевірки активності користувача</b> / <b>T1622 Ухилення від дебагера</b><br/>DLL перевіряє наявність дебагерів, інструментів аналізу та артефактів піщаних середовищ"] class action_anti_analysis action action_process_discovery["<b>Дія</b> – <b>T1057 Виявлення процесів</b><br/>Перелічує запущені процеси для виявлення утиліт аналізу"] class action_process_discovery action action_reflective_loading["<b>Дія</b> – <b>T1620 Відображуване завантаження коду</b><br/>Розшифрований SFX пейлоад завантажується прямо в пам’ять"] class action_reflective_loading action action_c2["<b>Дія</b> – <b>T1071.001 Протокол прикладного рівня: Веб-протоколи</b><br/>Пейлоад в пам’яті встановлює HTTPS маяк Cobalt Strike"] class action_c2 action %% Nodes u2013 Files / Artifacts file_zip["<b>Файл</b> – malicious.zip<br/>Містить шкідливий LNK"] class file_zip file file_lnk["<b>Файл</b> – u5e38u5ddeu5927u5b662026u5e74u300au56fdu5bb6u5b66u751fu4f53u8d28u5065u5eb7u6807u51c6u300bu6d4bu8bd5u901au77e5.pdf.lnk"] class file_lnk file file_vbs["<b>Файл</b> – chromedo.vbs<br/>Скрипт Visual Basic, виконаний за допомогою explorer"] class file_vbs file tool_bandizip["<b>Інструмент</b> – Bandizip.exe<br/>Легальний архіватор, використовуються для завантаження шкідливого DLL"] class tool_bandizip tool file_dll["<b>Файл</b> – ark.x64.dll<br/>Шкідливий DLL, завантажений через підстроювання"] class file_dll file malware_cobalt_strike["<b>Шкідливе ПЗ</b> – Маяк Cobalt Strike<br/>Надає віддалений доступ"] class malware_cobalt_strike malware %% Nodes u2013 Processes process_explorer["<b>Процес</b> – explorer.exe"] class process_explorer process process_chromedo["<b>Процес</b> – chromedo (хост VBS)"] class process_chromedo process %% Nodes u2013 Network network_c2["<b>Мережа</b> – C2 сервер 60.205.186.162 (lysander.asia) через HTTPS"] class network_c2 network %% Connections u2013 Attack Flow file_zip –>|містить| file_lnk file_lnk –>|викликає| process_explorer process_explorer –>|запускає| file_vbs file_vbs –>|запускає| tool_bandizip tool_bandizip –>|завантажує| file_dll file_dll –>|включає| action_obfuscation file_dll –>|виконує| action_anti_analysis file_dll –>|спрацьовує| action_process_discovery file_dll –>|підтримує| action_reflective_loading action_reflective_loading –>|завантажує| malware_cobalt_strike malware_cobalt_strike –>|зв’язується з| network_c2 %% Linking actions to show sequence action_initial_access –>|веде до| action_user_execution action_user_execution –>|в комбінації з| action_masquerading action_masquerading –>|включає| action_permission_hijack action_permission_hijack –>|спрацьовує| action_vbscript action_vbscript –>|використовує| action_lol action_lol –>|створює| action_hidden_files action_hidden_files –>|сприяє| action_dll_side_loading action_dll_side_loading –>|включає| action_obfuscation action_obfuscation –>|покриває| action_anti_analysis action_anti_analysis –>|вводить у| action_process_discovery action_process_discovery –>|передує| action_reflective_loading action_reflective_loading –>|включає| action_c2 action_c2 –>|встановлює маяк з| malware_cobalt_strike %% Class assignments class action_initial_access action class action_user_execution action class action_masquerading action class action_permission_hijack action class action_vbscript action class action_lol action class action_hidden_files action class action_dll_side_loading action class action_obfuscation action class action_anti_analysis action class action_process_discovery action class action_reflective_loading action class action_c2 action class file_zip file class file_lnk file class file_vbs file class file_dll file class tool_bandizip tool class process_explorer process class process_chromedo process class malware_cobalt_strike malware class network_c2 network "

Потік атаки

Детекції

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

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

LOLBAS WScript / CScript (через створення процесу)

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

Індикатори компрометації (HashSha256) для виявлення: Операція Dragon Whistle: UNG0002 націлюється на китайське наукове середовище через озброєну інституціональну приманку

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

Індикатори компрометації (SourceIP) для виявлення: Операція Dragon Whistle: UNG0002 націлюється на китайське наукове середовище через озброєну інституціональну приманку

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

Індикатори компрометації (DestinationIP) для виявлення: Операція Dragon Whistle: UNG0002 націлюється на китайське наукове середовище через озброєну інституціональну приманку

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

Виявлення зв’язку з C2 через відомі шкідливі IP та домени [Windows Network Connection]

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

Виявлення перерахування процесів та анти-дебаггінгу UNG0002 [Windows Sysmon]

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

Виявлення зловживання LNK explorer.exe та Bandizip.exe для виконання шкідливого VBS скрипту [Windows Process Creation]

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

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

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

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

  • Наратив атаки & Команди:
    Зловмисник доставляє шкідливий DLL (названий evil.dll), який завантажується процесом, що виглядає безневинно (rundll32.exe). Відразу після входу в DllMain викликається CreateToolhelp32Snapshot а за ним слідує Process32First для перерахування всіх запущених процесів. Цикл перерахування перевіряє ім’я кожного процесу на наявність налагоджувача ("dbg" підрядок) і виходить, якщо він виявлений – класична техніка уникнення налагоджувача (T1622). Оскільки DLL завантажується через rundll32.exe, подія створення процесу, записана Sysmon, містить поля ApiSetName для двох нативних API, що задовольняє правило виявлення.

  • Сценарій регресійного тестування:

    # -------------------------------------------------
    # Крок 1: Створення вихідного коду C для шкідливого DLL
    # -------------------------------------------------
    $dllSource = @"
    #include <windows.h>
    #include <tlhelp32.h>
    
    BOOL APIENTRY DllMain(HMODULE hModule,
                          DWORD  ul_reason_for_call,
                          LPVOID lpReserved) {
        if (ul_reason_for_call == DLL_PROCESS_ATTACH) {
            HANDLE hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
            if (hSnap == INVALID_HANDLE_VALUE) return FALSE;
    
            PROCESSENTRY32 pe = {0};
            pe.dwSize = sizeof(PROCESSENTRY32);
            if (Process32First(hSnap, &pe)) {
                do {
                    // Простий анти-дебагг перевірка – шукає "dbg" в імені процесу
                    if (wcsstr(pe.szExeFile, L"dbg")) {
                        // Виявлено налагоджувач; вихід з циклу
                        break;
                    }
                } while (Process32Next(hSnap, &pe));
            }
            CloseHandle(hSnap);
        }
        return TRUE;
    }
    "@
    
    $srcPath = "$env:Tempevil.c"
    $dllPath = "$env:Tempevil.dll"
    $srcPath | Out-File -Encoding ascii -FilePath $srcPath -Force
    Set-Content -Path $srcPath -Value $dllSource
    
    # -------------------------------------------------
    # Крок 2: Компіляція DLL з використанням Visual C++ (cl.exe)
    # -------------------------------------------------
    # Переконайтеся, що інструменти побудови Visual Studio встановлені та середовище налаштоване.
    # Приклад використання командного рядка для розробників:
    #   cl.exe /LD /O2 /MD evil.c /link /OUT:evil.dll
    # Для автоматизації в PowerShell, викликати засоби MSVC:
    $vcvars = "${env:ProgramFiles(x86)}Microsoft Visual Studio2019BuildToolsVCAuxiliaryBuildvcvars64.bat"
    & cmd /c "`"$vcvars`" && cl.exe /LD /O2 /MD `"$srcPath`" /link /OUT:`"$dllPath`"" `
        | Out-Null
    
    if (-Not (Test-Path $dllPath)) {
        Write-Error "Компіляція DLL не вдалася."
        exit 1
    }
    
    # -------------------------------------------------
    # Крок 3: Виконання шкідливого DLL через rundll32.exe
    # -------------------------------------------------
    $rundll = "$env:SystemRootSystem32rundll32.exe"
    & $rundll $dllPath,EntryPoint
    
    # -------------------------------------------------
    # Крок 4: Пауза для забезпечення часу на реєстрацію події в Sysmon
    # -------------------------------------------------
    Start-Sleep -Seconds 5

    Скрипт компілює мінімальний DLL, який виконує цільові API виклики, а потім завантажує його за допомогою rundll32.exe. Коротке очікування забезпечує, що Sysmon має час на запис події створення процесу.

  • Команди для очищення:

    # Видалити зкомпільовані артефакти
    Remove-Item -Force -ErrorAction SilentlyContinue $env:Tempevil.c
    Remove-Item -Force -ErrorAction SilentlyContinue $env:Tempevil.dll
    
    # Необов'язково: Перезапуск Sysmon для очищення завеликих дескрипторів (не потрібен у більшості випадків)
    Stop-Service -Name Sysmon -Force
    Start-Service -Name Sysmon