Детальний аналіз нової кампанії 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, щоб запобігти повторному виникненню та полювання за пов’язаною діяльністю по всьому середовищу.
Потік Атаки
Виявлення
Підозрілі рядки 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 "Очищення завершено."