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

11 Feb 2026 15:47 UTC

Детальний аналіз нової кампанії XWorm, що використовує різнотематичні фішингові листи

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Стежити
Детальний аналіз нової кампанії XWorm, що використовує різнотематичні фішингові листи
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Резюме

FortiGuard Labs спостерігали за багатоступеневою фішинговою кампанією, яка розповсюджувала троян віддаленого доступу XWorm через шкідливі Excel-вкладення. Документ зловживає вразливістю CVE-2018-0802 в Microsoft Equation Editor для отримання HTA-файлу, який потім запускає безфайлове завантаження .NET, що використовує hollowing процесу для ін’єкції XWorm у новостворений процес Msbuild.exe. RAT взаємодіє зі своїм C2, використовуючи AES-зашифрований трафік, і підтримує широкий набір команд з підтримкою плагінів для розширеного контролю. Кампанія демонструє складне використання бінарних файлів living-off-the-land та безфайлових методів для досягнення стійкого віддаленого контролю над компрометованими кінцевими точками.

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

Аналітики відновили потік від фішингового електронного листа до експлуатації Excel OLE, виконання HTA, завантаження PowerShell-модуля .NET та кінцевого hollowing процесу в Msbuild.exe. Статичний та динамічний огляд виділив дані корисного навантаження, закодовані в Base64, приховані в зображенні JPEG, з кінцевим компонентом XWorm, завантаженим у пам’ять без записування розшифрованого виконуваного файлу на диск під час виконання. Захоплення мережевого трафіку показали пакети AES-зашифровані, відправлені на C2 домен berlin101.com через порт 6000. Звіт також каталогізував розширений набір команд та архітектуру плагінів XWorm.

Захист

FortiGuard рекомендує включити захист макросів і OLE, застосувати патч для CVE-2018-0802 та обмежити виконання Msbuild, PowerShell і HTA файлів, що надходять із вмісту електронної пошти. Розгорніть веб-фільтрацію, контролі проти фішингу та підписи IDS/IPS, пов’язані з виявленими індикаторами, щоб заблокувати доставку та стадіювання на шлюзі. Моніторьте аномальні дерев процесів — особливо Msbuild.exe, запущений з PowerShell — для раннього виявлення експлуатації.

Відповідь

Після виявлення ізолюйте уражену кінцеву точку, завершіть шкідливі процеси та видаліть завантажений XWorm модуль з пам’яті. Збирайте судові артефакти, включаючи командно-строкову телеметрію, мережеві журнали та зміни в реєстрі, щоб визначити масштаб вторгнення. Скиньте потенційно компрометовані облікові дані, оновіть вразливий компонент Equation Editor та заблокуйте шкідливі домени та сервер C2. Застосуйте загрозливі оновлення до виявлень EDR/SIEM, щоб запобігти повторному виникненню та полювання за пов’язаною діяльністю по всьому середовищу.

graph TB %% Визначення класів classDef action fill:#99ccff classDef tool fill:#ffcc99 classDef malware fill:#ff9999 classDef process fill:#ccffcc %% Вузли дії action_phishing[“<b>Дія</b> – T1566.001<br/><b>Назва</b>: Вкладення Spearphishing<br/><b>Опис</b>: Шкідливий Excel .xlam доставлений електронною поштою”] class action_phishing action action_user_exec[“<b>Дія</b> – T1204.002<br/><b>Назва</b>: Виконання користувачем<br/><b>Опис</b>: Жертва відкриває вкладений файл Excel”] class action_user_exec action exploit_eqnedt[“<b>Дія</b> – T1203<br/><b>Назва</b>: Експлуатація для виконання на клієнті (CVEu20112018u20110802)<br/><b>Опис</b>: Уразливість Equation Editor дозволяє виконання shellcode”] class exploit_eqnedt action defense_evasion[“<b>Дія</b> – T1211<br/><b>Назва</b>: Експлуатація для обходу захисту<br/><b>Опис</b>: Уразливість обходить традиційні захисні механізми”] class defense_evasion action action_powershell[“<b>Дія</b> – T1059.001<br/><b>Назва</b>: Виконання PowerShell<br/><b>Опис</b>: Декодує Base64, завантажує JPEG із прихованим .NET модулем, виконує JScript”] class action_powershell action action_reflective_load[“<b>Дія</b> – T1620<br/><b>Назва</b>: Рефлексивне завантаження коду<br/><b>Опис</b>: Завантажує .NET збірку безпосередньо в пам’ять”] class action_reflective_load action action_process_hollowing[“<b>Дія</b> – T1055.012<br/><b>Назва</b>: Process Hollowing<br/><b>Опис</b>: Впроваджує XWorm RAT у призупинений процес Msbuild”] class action_process_hollowing action module_shared[“<b>Дія</b> – T1129<br/><b>Назва</b>: Спільні модулі<br/><b>Опис</b>: .NET плагіни завантажуються за потребою”] class module_shared action persistence_active_setup[“<b>Дія</b> – T1547.014<br/><b>Назва</b>: Персистенція Active Setup<br/><b>Опис</b>: Зберігає бінарні файли плагінів у ключі реєстру HKCU”] class persistence_active_setup action action_query_registry[“<b>Дія</b> – T1012<br/><b>Назва</b>: Опитування реєстру<br/><b>Опис</b>: Зчитує дані та конфігурації плагінів”] class action_query_registry action encryption_aes[“<b>Дія</b> – T1001<br/><b>Назва</b>: Обфускація даних<br/><b>Опис</b>: AES шифрує весь трафік C2”] class encryption_aes action c2_https[“<b>Дія</b> – T1102.003<br/><b>Назва</b>: Односторонній веб-сервіс<br/><b>Опис</b>: Захищений HTTPS до berlin101.com:6000”] class c2_https action %% Вузли інструментів tool_excel_xlam[“<b>Інструмент</b> – Вкладення Excel .xlam”] class tool_excel_xlam tool tool_mshta[“<b>Інструмент</b> – mshta.exe”] class tool_mshta tool tool_powershell[“<b>Інструмент</b> – PowerShell”] class tool_powershell tool tool_msbuild[“<b>Інструмент</b> – Msbuild.exe”] class tool_msbuild tool %% Вузли шкідливого ПЗ malware_dotnet_module[“<b>Шкідливе ПЗ</b> – Прихований .NET модуль”] class malware_dotnet_module malware malware_xworm[“<b>Шкідливе ПЗ</b> – XWorm RAT”] class malware_xworm malware %% Вузли процесів process_shellcode[“<b>Процес</b> – Виконання Shellcode”] class process_shellcode process proc_mshta[“<b>Процес</b> – Процес mshta”] class proc_mshta process proc_msbuild[“<b>Процес</b> – Процес Msbuild (призупинений)”] class proc_msbuild process %% З’єднання action_phishing –>|доставляє вкладення| tool_excel_xlam tool_excel_xlam –>|відкрито жертвою| action_user_exec action_user_exec –>|спрацьовує| exploit_eqnedt exploit_eqnedt –>|активує| defense_evasion defense_evasion –>|виконує| process_shellcode process_shellcode –>|запускає| proc_mshta proc_mshta –>|виконує| tool_mshta tool_mshta –>|завантажує та виконує| action_powershell action_powershell –>|завантажує| malware_dotnet_module malware_dotnet_module –>|розміщено в пам’яті через| action_reflective_load action_reflective_load –>|розміщує payload у| proc_msbuild proc_msbuild –>|запущено через| tool_msbuild tool_msbuild –>|розміщує payload через| action_process_hollowing action_process_hollowing –>|впроваджує| malware_xworm malware_xworm –>|використовує| module_shared module_shared –>|зберігає плагіни через| persistence_active_setup persistence_active_setup –>|зчитує конфігурацію з| action_query_registry action_query_registry –>|шифрує трафік через| encryption_aes encryption_aes –>|надсилає до| c2_https

Потік Атаки

Імітація виконання

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

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

  • Опис атаки й команди:

    1. Початкове падіння: Зловмисник доставляє шкідливий Excel файл, який експлуатує CVE‑2018‑0802. Для імітації ми оминаємо експлойт і безпосередньо запускаємо корисне навантаження.
    2. Hollowing процесу через EQNEDT32.EXE: Запуск EQNEDT32.EXE з командним рядком, що викликає ShellExecuteExW() щоб замаскуватися під легітимний компонент Office.
    3. Msbuild.exe бічне виконання: Запустити Msbuild.exe з CreateProcessA() для компіляції прихованого .NET-пейлоаду на льоту.
    4. Файлове виконання .NET: Use powershell.exe з командою, закодованою в base64, завантажуючи відбивну .NET-асамблею (T1620). Командний рядок містить буквально слово CreateProcessA() щоб задовольнити правило.
  • Скрипт регресійного тесту:

    <#
    Імітує ланцюг виконання XWorm:
    1. EQNEDT32.exe з ShellExecuteExW()
    2. Msbuild.exe з CreateProcessA()
    3. PowerShell з відбивною завантаженням .NET без файлів з створенням CreateProcessA()
    #>
    
    # 1. EQNEDT32.exe (Hollowing процесу)
    $eqnPath = "$env:SystemRootSystem32EQNEDT32.EXE"
    $eqnArgs = "-Command "ShellExecuteExW()""
    Start-Process -FilePath $eqnPath -ArgumentList $eqnArgs -WindowStyle Hidden
    
    # 2. Msbuild.exe (Динамічна ін'єкція DLL)
    $msbuildPath = "$env:ProgramFilesMicrosoft Visual Studio2022CommunityMSBuildCurrentBinMsbuild.exe"
    $msbuildArgs = "/t:Compile /p:UseShellExecute="CreateProcessA()""
    Start-Process -FilePath $msbuildPath -ArgumentList $msbuildArgs -WindowStyle Hidden
    
    # 3. PowerShell (Файлове відбивне завантаження .NET)
    # Приклад .NET корисного навантаження (заповнювач), закодований в base64
    $payload = "W3siQmFzZURhdGEiOiAiIiB9XQ=="   # фіктивний base64
    $psArgs = "-EncodedCommand $payload -ArgumentList "CreateProcessA()""
    Start-Process -FilePath "powershell.exe" -ArgumentList $psArgs -WindowStyle Hidden
    
    Write-Host "Імітація XWorm завершена."
  • Команди очищення:

    # Завершіть будь-які завислі процеси імітації
    Get-Process -Name "EQNEDT32","Msbuild","powershell" -ErrorAction SilentlyContinue | Stop-Process -Force
    
    # За бажанням видаліть тимчасові файли (не створені в цій чисто-процесній імітації)
    Write-Host "Очищення завершено."