Детальний аналіз нової кампанії XWorm, що використовує різнотематичні фішингові листи
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
Потік Атаки
Виявлення
Підозрілі рядки PowerShell (через powershell)
Переглянути
Підозріла поведінка LOLBAS MSHTA ухилення від захисту за допомогою виявлення асоційованих команд (через process_creation)
Переглянути
Підозрілі рядки PowerShell (через cmdline)
Переглянути
Виклик підозрілих методів .NET з PowerShell (через powershell)
Переглянути
IOCs (HashSha256) для виявлення: Детальне дослідження нової кампанії XWorm з використанням багатотемних фішингових email
Переглянути
Кампанія XWorm, що використовує вразливість CVE-2018-0802 з кількома векторами атаки [Створення процесів у Windows]
Переглянути
Виявлення PowerShell-пейлоаду, закодованого в Base64, в кампанії XWorm [Windows PowerShell]
Переглянути
Імітація виконання
Попередня умова: Телеметрія та базова перевірка перед польотом повинні бути пройдені.
Мети: Цей розділ деталізує точне виконання техніки противника (TTP), розробленої для активації правила виявлення. Команди й наративи МАЮТЬ безпосередньо відображати виявлені TTP і прагнуть згенерувати точну телеметрію, очікувану логікою виявлення.
-
Опис атаки й команди:
- Початкове падіння: Зловмисник доставляє шкідливий Excel файл, який експлуатує CVE‑2018‑0802. Для імітації ми оминаємо експлойт і безпосередньо запускаємо корисне навантаження.
- Hollowing процесу через EQNEDT32.EXE: Запуск
EQNEDT32.EXEз командним рядком, що викликаєShellExecuteExW()щоб замаскуватися під легітимний компонент Office. - Msbuild.exe бічне виконання: Запустити
Msbuild.exeзCreateProcessA()для компіляції прихованого .NET-пейлоаду на льоту. - Файлове виконання .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 "Очищення завершено."