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

11 Feb 2026 18:47

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

Author Photo
Ruslan Mikhalov Керівник досліджень загроз у 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 "Очищення завершено."