Back to Intelligence

Brand Impersonation & ClickFix: Defending Against Fake Cloudflare Attacks

SA
Security Arsenal Team
July 31, 2026
7 min read

Introduction

Brand impersonation has evolved from a nuisance to a sophisticated initial access vector capable of breaching even the most vigilant organizations. In a recent mass compromise, attackers successfully poisoned over 700 legitimate websites—including high-trust domains like Harvard, Oxford, and DuckDuckGo. Rather than exploiting a zero-day vulnerability in the web servers, the adversaries abused the trust users place in these brands. By injecting malicious scripts that present a fake Cloudflare "Checking your browser before accessing" verification page, attackers are tricking users into executing the ClickFix attack chain. This results in the direct installation of malicious software on endpoint devices. Defenders must treat this as an active emergency: trusted sites are currently being weaponized to bypass standard security awareness training.

Technical Analysis

This campaign represents a classic supply-chain style poisoning coupled with social engineering. The attack vector does not rely on a specific CVE (e.g., a flaw in Cloudflare infrastructure) but rather on the manipulation of web content and user trust.

Attack Chain Breakdown:

  1. Compromise/Injection: Attackers compromise third-party scripts or inject malicious JavaScript into 700+ victim websites. This creates a "script poisoning" scenario where trusted domains serve malicious content.
  2. Brand Impersonation (The Hook): When a user visits the compromised site, a malicious script overlays a convincing replica of a Cloudflare verification page. This page claims the site is "Checking your browser before accessing..." and instructs the user to "Press Allow to verify." Cloudflare is a ubiquitous brand; users are conditioned to trust these interstitial pages.
  3. ClickFix Execution: The "verification" mechanism is actually a ClickFix attack. The user is instructed to run a command or script—often via PowerShell, Bash, or a copied batch file—purportedly to fix a connection error or install a browser update.
  4. Payload Delivery: The command executed by the user reaches out to attacker-controlled infrastructure to download and install malicious software. This often includes infostealers, remote access trojans (RATs), or loaders for ransomware.

Why It Works: The attack bypasses traditional email filtering (phishing) because the malicious link resides on a legitimate, highly trusted domain (e.g., .edu or major search engines). It bypasses technical exploit defenses because the user voluntarily authorizes the execution.

Detection & Response

Detecting this threat requires focusing on the behavioral anomaly of browsers spawning shell processes. Users should rarely, if ever, be launching PowerShell or Command Prompt directly from Chrome, Edge, or Firefox.

SIGMA Rules

YAML
---
title: Potential ClickFix Attack - Browser Spawning Shell
id: 8a4b2c19-1d3e-4f5a-a6b7-8c9d0e1f2a3b
status: experimental
description: Detects browsers spawning shell processes like PowerShell or CMD, a common indicator of ClickFix or fake browser update attacks.
references:
  - https://attack.mitre.org/techniques/T1059/
author: Security Arsenal
date: 2026/04/22
tags:
  - attack.execution
  - attack.t1059.001
  - attack.t1059.003
logsource:
  category: process_creation
  product: windows
detection:
  selection_parent:
    ParentImage|endswith:
      - '\chrome.exe'
      - '\msedge.exe'
      - '\firefox.exe'
      - '\brave.exe'
  selection_child:
    Image|endswith:
      - '\powershell.exe'
      - '\pwsh.exe'
      - '\cmd.exe'
      - '\wscript.exe'
      - '\cscript.exe'
  condition: all of selection_*
falsepositives:
  - Legitimate developer workflows (rare in non-engineering environments)
  - Local HTML files launching scripts (admin tools)
level: high
---
title: Fake Cloudflare Update - Suspicious PowerShell Arguments
id: 9c5d3e20-2e4f-5g6b-b7c8-0d1e2f3a4b5c
status: experimental
description: Detects PowerShell commands containing keywords associated with fake browser updates or Cloudflare verification pages.
references:
  - https://attack.mitre.org/techniques/T1059/
author: Security Arsenal
date: 2026/04/22
tags:
  - attack.execution
  - attack.defense_evasion
  - attack.t1059.001
logsource:
  category: process_creation
  product: windows
detection:
  selection:
    Image|endswith:
      - '\powershell.exe'
      - '\cmd.exe'
    CommandLine|contains:
      - 'cloudflare'
      - 'checking your browser'
      - 'verify you are human'
      - 'press allow'
      - 'browser update'
      - 'install-extension'
  condition: selection
falsepositives:
  - Legitimate Cloudflare utility scripts (very rare)
level: critical

KQL (Microsoft Sentinel / Defender)

KQL — Microsoft Sentinel / Defender
// Hunt for ClickFix activity: Browsers spawning shells
DeviceProcessEvents
| where Timestamp > ago(7d)
| where InitiatingProcessFileName in ('chrome.exe', 'msedge.exe', 'firefox.exe', 'brave.exe')
| where FileName in ('powershell.exe', 'cmd.exe', 'wscript.exe', 'cscript.exe')
| extend ProcessDetail = strcat(ProcessCommandLine, " | ", FolderPath)
| project Timestamp, DeviceName, InitiatingProcessFileName, FileName, ProcessCommandLine, AccountName
| order by Timestamp desc

Velociraptor VQL

VQL — Velociraptor
-- Hunt for processes spawned by browsers that look like shell commands
SELECT Pid, Ppid, Name, Exe, CommandLine, Username
FROM pslist()
WHERE Pid IN (
    SELECT Pid FROM pslist()
    WHERE Name =~ 'chrome.exe' OR Name =~ 'msedge.exe' OR Name =~ 'firefox.exe'
)
  AND (Name =~ 'powershell.exe' OR Name =~ 'cmd.exe' OR Name =~ 'wscript.exe')

Remediation Script (PowerShell)

PowerShell
# Incident Response Script: Check for signs of ClickFix execution
# This script checks for recent PowerShell events initiated by browsers

$StartTime = (Get-Date).AddHours(-24)
$BrowserProcesses = @('chrome.exe', 'msedge.exe', 'firefox.exe')
$ShellProcesses = @('powershell.exe', 'cmd.exe', 'wscript.exe')

Write-Host "[+] Scanning for ClickFix indicators in the last 24 hours..." -ForegroundColor Cyan

# Check PowerShell Script Block Logs for suspicious commands
try {
    $Events = Get-WinEvent -FilterHashtable @{
        LogName='Microsoft-Windows-PowerShell/Operational'
        ID=4104
        StartTime=$StartTime
    } -ErrorAction SilentlyContinue

    if ($Events) {
        $SuspiciousEvents = $Events | Where-Object { 
            $_.Message -match 'cloudflare' -or 
            $_.Message -match 'checking your browser' -or
            $_.Message -match 'downloadstring'
        }
        
        if ($SuspiciousEvents) {
            Write-Host "[!!!] CRITICAL: Suspicious PowerShell script blocks found matching ClickFix keywords." -ForegroundColor Red
            $SuspiciousEvents | Select-Object TimeCreated, Id, Message | Format-List
        } else {
            Write-Host "[+] No suspicious PowerShell script blocks detected." -ForegroundColor Green
        }
    }
} catch {
    Write-Host "[-] Could not read PowerShell logs. Ensure Script Block Logging is enabled." -ForegroundColor Yellow
}

# Check for recent processes matching the parent-child profile
Write-Host "[+] Checking process lineage..."
$Procs = Get-CimInstance Win32_Process | Where-Object { 
    $_.CreationDate -gt $StartTime 
}

foreach ($Proc in $Procs) {
    $Parent = $Procs | Where-Object { $_.ProcessId -eq $Proc.ParentProcessId }
    if ($Parent -and $ShellProcesses -contains $Proc.Name.ToLower()) {
        if ($BrowserProcesses -contains $Parent.Name.ToLower()) {
            Write-Host "[!!!] ALERT: $($Proc.Name) (PID: $($Proc.ProcessId)) spawned by browser $($Parent.Name) (PID: $($Parent.ProcessId))" -ForegroundColor Red
            Write-Host "     Command: $($Proc.CommandLine)" -ForegroundColor DarkRed
        }
    }
}

Write-Host "[+] Scan complete. If alerts were triggered, isolate the endpoint and initiate IR." -ForegroundColor Cyan

Remediation

Immediate action is required to disrupt this attack chain as it relies on active user interaction.

1. Short-Term Containment (User Awareness & Blocking)

  • Emergency Communication: Immediately notify users that "Cloudflare verification" or "Browser Update" pages asking them to run scripts or commands are fraudulent. Instruct them to close the tab immediately.
  • Web Proxy Blocking: Update web proxy/DNS filtering rules to block known malicious domains associated with this campaign. If specific IOCs are unavailable, implement heuristics to block EXE/PS1/BAT downloads directly from browser processes.

2. Technical Hardening

  • Attack Surface Reduction (ASR) Rules: Enable the ASR rule "Block Office applications from creating child processes" and "Block JavaScript or VBScript from launching downloaded executable content." While primarily for Office, expanding similar concepts to browser-downloaded content is crucial.
  • Script Block Logging: Ensure PowerShell Script Block Logging (Event ID 4104) is enforced across the environment via GPO or Intune. This is the primary source of truth for detecting the payload execution.
  • Browser Extensions: Enforce the installation of security-focused browser extensions that block script injection or alert users to fake tech support pages, though this should be secondary to network blocking.

3. Long-Term Supply Chain Hygiene

  • Content Security Policy (CSP): If you manage external-facing websites, review and tighten your CSP headers to prevent unauthorized script injection from compromised third-party scripts or ad networks.
  • Subresource Integrity (SRI): Implement SRI for third-party JavaScript libraries to ensure that only the exact, unaltered code you approved is executed by the browser.

Related Resources

Security Arsenal Incident Response Services AlertMonitor Platform Book a SOC Assessment incident-response Intel Hub

Is your security operations ready?

Get a free SOC assessment or see how AlertMonitor cuts through alert noise with automated triage.