Full research report

TerminalFix Uses Fake Cloudflare CAPTCHAs to Deploy Reverse-Tunnel Backdoor

Original reporting โ†—
โ˜… Threat intelligence assessment high confidence

Executive assessment

TerminalFix represents a deliberate tactical refinement of the ClickFix social engineering template: by directing victims to Windows Terminal rather than the Run dialog, the attacker reliably executes multi-line, complex PowerShell scripts that the single-command Run box would truncate or fail to process. The seven-stage chain is architecturally significant because the reverse tunnel grants a persistent, authenticated SOCKS5-capable network pivot entirely independent of perimeter egress controls, making the compromised host a launchpad for internal targeting without requiring additional C2 tooling. The Active Directory reconnaissance phase specifically enumerates backup systems, databases, mail servers and domain controllers, a fingerprint consistent with pre-ransomware staging. No threat actor has been publicly attributed and the disclosed C2 infrastructure has not been linked to a known cluster, leaving campaign origin an open question. Defenders should treat any Trojan:Win32/TermFix.* or Trojan:Python/Indigo.SA detection as a potential full-chain compromise and prioritise host isolation, credential rotation and internal network traffic review.

What happened

On 28 August 2026, Microsoft Threat Intelligence published an analysis of TerminalFix, a ClickFix variant that directs victims to paste malicious PowerShell commands into Windows Terminal rather than the traditional Run dialog, increasing the fidelity of multi-line script execution. The campaign uses compromised websites overlaid with fake Cloudflare CAPTCHA pages to initiate a seven-stage intrusion chain combining DLL sideloading, steganographic payload delivery, Active Directory reconnaissance, and a custom Python-based reverse-tunnel implant. No specific threat actor has been attributed and no CVEs are associated with the campaign.

Affected scope

Organisations across multiple industries running standard Windows endpoints accessible via compromised websites; no specific sectors, geographies or named organisations have been disclosed. Any user with access to Windows Terminal or PowerShell and exposed to a compromised web property is in scope.

Technical assessment

A legitimate Microsoft-signed binary (LockScreenContentServer.exe) is hijacked via DLL sideloading of a rogue dui70.dll placed in the same directory. The sideloaded DLL fetches additional payloads concealed within PNG image pixel (RGBA channel) data, evading content-based inspection. Dual persistence is established through Registry Run keys and 60-minute scheduled tasks. The final-stage Python 3.14.5 implant (client.py, run via embedded pythonw.exe) creates a SOCKS5-style TCP tunnel over TLS WebSocket to gitnow[.]dev:443, giving the operator a persistent network pivot into the victim's internal environment. Active Directory enumeration specifically targets domain trusts, administrators, domain controllers, backup systems, gateways, mail servers and databases, indicating pre-ransomware or pre-exfiltration staging intent.

Recommended defensive actions

  1. Block or alert on the confirmed C2 and payload-delivery domains at DNS and proxy controls: gitnow[.]dev, bestsocialmedianewspapper[.]com, offlineupdater[.]com.
  2. Block the confirmed file hashes at endpoint controls: SHA-256 18c2090e8a0ae0568af9b87e59eaf8270f23d2909600ed9db91a9444fd8b278f (initial ZIP), ba77feed86bcda49308746421bdc684a432dd5d68c363975b2a3c6831bda3f07 (malicious DLL), b8d107800403b9197e5b7609ceacd8e4cac1b0f9a1d156e6dacd6c3f7794b36a (tunnel implant).
  3. Restrict PowerShell and Windows Terminal execution for standard users via AppLocker, Windows Defender Application Control or Group Policy; implement Constrained Language Mode where feasible.
  4. Enable PowerShell script block logging and configure detection alerts for LockScreenContentServer.exe executing from any path outside C:\Windows\SystemApps.
  5. Hunt across the estate for Defender detections Trojan:Win32/TermFix.*, Trojan:Win32/ClickFix.*, Trojan:Win32/Posilod.*, and Trojan:Python/Indigo.SA; treat any hit as a potential full-chain compromise requiring immediate host isolation and credential rotation.
  6. Train users to recognise fake CAPTCHA social engineering and emphasise that no legitimate website instructs users to paste commands into a terminal or PowerShell window.

Uncertainties and evidence gaps

  • No threat actor has been attributed; it is unknown whether TerminalFix represents a single group or a shared technique adopted by multiple operators.
  • The full extent of victim organisations, affected sectors and geographic spread has not been disclosed.
  • It is unclear whether the campaign remains active following publication of the Microsoft advisory and whether the disclosed infrastructure is still operational.
  • No independent confirmation of post-exploitation outcomes such as data exfiltration or ransomware deployment has been published.

Vulnerability flow

Defender-oriented path reconstructed only from sourced report findings. Unknown stages are omitted.

AccessRequires a standard Windows user to visit a compromised website and voluntarily execute a pasted command in Windows Terminal or PowerShell; no prior network foothold or elevated privileges required at initial access.
ComponentWindows Terminal and PowerShell execution environment; DLL search-order resolution for LockScreenContentServer.exe; embedded Python 3.14.5 runtime for the tunnel implant.
MechanismFake Cloudflare CAPTCHA overlay instructs the user to copy and paste a command, exploiting the social trust established by Cloudflare's brand and the lower user scrutiny applied to terminal-based instructions compared to the Run dialog. A legitimate signed binary is then hijacked via DLL sideloading; subsequent payloads are hidden within image pixel data to evade content-based inspection at download boundaries.
ImpactAttacker gains persistent, authenticated network-level proxy access into the victim organisation's internal network, enabling lateral movement, Active Directory enumeration, credential harvesting and potential ransomware deployment or data exfiltration.
DetectionAnomalous execution of LockScreenContentServer.exe outside C:\Windows\SystemApps; hidden or system-attributed folders under ProgramData; 60-minute scheduled tasks launching unlisted binaries; outbound TLS WebSocket connections to gitnow[.]dev:443; PowerShell script block log entries containing encoded or multi-line payloads; Defender alerts for Trojan:Win32/TermFix.* or Trojan:Python/Indigo.SA.
MitigationNo software patch required as no CVE-assigned vulnerability is exploited; mitigate via application control policies restricting PowerShell and terminal access for standard users, block known IOC domains and file hashes at perimeter and endpoint controls, and enable PowerShell script block logging.
Exploitation status

Microsoft confirmed active in-the-wild deployment of TerminalFix against organisations across multiple industries; no CISA KEV listing exists and no specific threat actor has been attributed.

The investigation began with a single untrusted article from The Hacker News attributing the disclosure to Microsoft researchers. The Microsoft Security Blog post published two days earlier was confirmed as the authoritative primary source, providing a complete technical chain, IOC table with SHA-256 hashes, Defender detection names and MITRE ATT&CK mappings. GBHackers independently corroborated the campaign with additional detail, including the embedded Python 3.14.5 runtime version and enumeration of specific AD object types targeted during reconnaissance. A search for public proof-of-concept code returned only generic ClickFix technique repositories unrelated to this campaign. No threat actor attribution or CVE assignment was identified across any source consulted.

  1. Does the primary source article exist and what technical detail does it contain?
    Fetched The Hacker News article at the supplied URL
    thehackernews.com โ†—

    Confirmed campaign exists; attributed disclosure to Microsoft researchers Sagar Patil, Suriyaraj Natarajan and Parasharan Raghavan; described full attack chain, C2 domains (gitnow[.]dev, bestsocialmedianewspapper[.]com, offlineupdater[.]com) and malware components; no CVEs mentioned.

    why Established the event's factual basis and identified the Microsoft Security Blog as the primary source requiring direct verification.

  2. What does Microsoft's own advisory contain, and does it extend the Hacker News reporting?
    Fetched Microsoft Security Blog post identified in search results
    microsoft.com โ†—

    Full IOC table including three SHA-256 file hashes, four C2/payload domains, Defender detection signatures (Trojan:Win32/TermFix.*, Trojan:Python/Indigo.SA), MITRE ATT&CK technique IDs (T1574.002, T1027.003, T1572), Advanced Hunting queries, and a seven-stage attack chain. Published 28 August 2026.

    why Authoritative primary source; its IOCs and detection guidance are the most actionable intelligence in the report and confirm the Hacker News summary was accurate.

  3. Are there public searches linking the known C2 domains to a broader known threat actor cluster?
    Searched for TerminalFix C2 domains in open-source threat intelligence

    No third-party infrastructure attribution or actor-cluster linkage for gitnow[.]dev, bestsocialmedianewspapper[.]com or offlineupdater[.]com was found; all results traced to Microsoft's disclosure.

    why Confirms that threat actor attribution remains an open question and no independent pivot into known actor infrastructure exists in public sources.

  4. Is public proof-of-concept or exploit code specific to TerminalFix available?
    Searched GitHub and open sources for TerminalFix proof-of-concept code

    Only generic ClickFix technique repositories were returned; none are specific to the TerminalFix campaign, its custom DLL, or the Python tunnel implant.

    why Supports the finding that no public TerminalFix-specific exploit code exists; poc_refs are correctly empty.

  5. Does GBHackers provide independent corroboration or additional technical detail?
    Fetched GBHackers article on TerminalFix
    gbhackers.com โ†—

    Independently corroborated the full attack chain; added that the embedded Python runtime is version 3.14.5 and that AD reconnaissance specifically enumerates backup systems, gateways, mail servers and databases. No new attribution or CVEs.

    why A second independent verified domain satisfies the corroboration requirement and adds reconnaissance-scope detail relevant to defenders assessing blast radius.

  6. Is there meaningful OSINT community chatter or analyst commentary beyond the vendor disclosure?
    Fetched KSEC community forum thread; attempted Substack security newsletter

    KSEC forum contained only a link to the THN article with no community analysis. Substack returned HTTP 403 and could not be read.

    why No meaningful OSINT chatter beyond the vendor disclosure was identified; osint_chatter is correctly empty.

MalwareTerminalFixdui70.dllclient.py
Targetsenterprise organisations across multiple industries

Research coverage

All 73 registered source leaves were evaluated for this run: 65 completed, 0 were unavailable, 1 failed and 7 were disabled. For this story, 2 registered sources supplied useful evidence (2 primary, 0 corroborating, 0 contextual and 0 PoC/exploit references). 63 completed sources contained no matched information for this story.

Primary evidence Independent corroboration Operational context PoC reference Checked โ€” no match Unavailable Failed Disabled
Complete source-by-source audit 73 sources
SourceRun resultValueWhy it was useful โ€” or not
Microsoft Securitynews ok empty0 records Primary evidence1 matched items Supplied a vendor or government advisory opened and verified during focused research.
The Hacker Newsnews ok1 records Primary evidence1 matched items Published the source report used to frame and date the event.
AlienVault OTXdark_web failed0 records Failed The current collection attempt failed; this source cannot support the report.
BleepingComputernews ok3 records Checked โ€” no match The source completed, but none of its retained records matched this story.
CERT-EU Threat Intelligencenews ok empty0 records Checked โ€” no match The source completed but returned no records in the collection scope.
CIRCL CVEcve ok30 records Checked โ€” no match The source completed, but none of its retained records matched this story.
CISA Alertsnews ok empty0 records Checked โ€” no match The source completed but returned no records in the collection scope.
CISA KEVkev ok1685 records Checked โ€” no match The source completed, but none of its retained records matched this story.
Cisco PSIRTvendor_advisory ok5333 records Checked โ€” no match The source completed, but none of its retained records matched this story.
Cisco Talosnews ok empty0 records Checked โ€” no match The source completed but returned no records in the collection scope.
deepdarkCTI CVE most exploiteddeepdarkcti ok94 records Checked โ€” no match The source completed, but none of its retained records matched this story.
deepdarkCTI Discorddeepdarkcti ok7 records Checked โ€” no match The source completed, but none of its retained records matched this story.
deepdarkCTI exploitsdeepdarkcti ok24 records Checked โ€” no match The source completed, but none of its retained records matched this story.
deepdarkCTI forumsdeepdarkcti ok264 records Checked โ€” no match The source completed, but none of its retained records matched this story.
deepdarkCTI malware as a servicedeepdarkcti ok7 records Checked โ€” no match The source completed, but none of its retained records matched this story.
deepdarkCTI malware samplesdeepdarkcti ok3 records Checked โ€” no match The source completed, but none of its retained records matched this story.
deepdarkCTI marketsdeepdarkcti ok127 records Checked โ€” no match The source completed, but none of its retained records matched this story.
deepdarkCTI phishingdeepdarkcti ok19 records Checked โ€” no match The source completed, but none of its retained records matched this story.
deepdarkCTI ransomware gangsdeepdarkcti ok688 records Checked โ€” no match The source completed, but none of its retained records matched this story.
deepdarkCTI RATsdeepdarkcti ok1 records Checked โ€” no match The source completed, but none of its retained records matched this story.
deepdarkCTI Telegram infostealerdeepdarkcti ok130 records Checked โ€” no match The source completed, but none of its retained records matched this story.
deepdarkCTI Telegram threat actorsdeepdarkcti ok1013 records Checked โ€” no match The source completed, but none of its retained records matched this story.
deepdarkCTI Twitter threat actorsdeepdarkcti ok39 records Checked โ€” no match The source completed, but none of its retained records matched this story.
Exploit-DBexploit_reference ok empty0 records Checked โ€” no match The source completed but returned no records in the collection scope.
FIRST EPSSepss ok8074 records Checked โ€” no match The source completed, but none of its retained records matched this story.
Fortinet PSIRTvendor_advisory disabled Disabled Disabled in the source registry; no check was attempted.
GitHub topic: cveresearch ok empty0 records Checked โ€” no match The source completed but returned no records in the collection scope.
GitHub topic: exploitresearch ok empty0 records Checked โ€” no match The source completed but returned no records in the collection scope.
GitHub topic: penetration-testingresearch ok empty0 records Checked โ€” no match The source completed but returned no records in the collection scope.
GitHub topic: pocresearch ok empty0 records Checked โ€” no match The source completed but returned no records in the collection scope.
GitHub topic: vulnerabilityresearch ok empty0 records Checked โ€” no match The source completed but returned no records in the collection scope.
GreyNoiseexploit_reference ok empty0 records Checked โ€” no match The source completed but returned no records in the collection scope.
KrebsOnSecuritynews ok empty0 records Checked โ€” no match The source completed but returned no records in the collection scope.
LinkedIn RSS proxy feeds (disabled)research disabled Disabled Disabled in the source registry; no check was attempted.
MalwareBazaardark_web ok3 records Checked โ€” no match The source completed, but none of its retained records matched this story.
Mastodon #cveresearch ok20 records Checked โ€” no match The source completed, but none of its retained records matched this story.
Mastodon #cybersecurityresearch ok17 records Checked โ€” no match The source completed, but none of its retained records matched this story.
Mastodon #exploitresearch ok12 records Checked โ€” no match The source completed, but none of its retained records matched this story.
Mastodon #infosecresearch ok19 records Checked โ€” no match The source completed, but none of its retained records matched this story.
Mastodon #malwareresearch ok19 records Checked โ€” no match The source completed, but none of its retained records matched this story.
Mastodon #ransomwareresearch ok14 records Checked โ€” no match The source completed, but none of its retained records matched this story.
Mastodon #threatintelresearch ok18 records Checked โ€” no match The source completed, but none of its retained records matched this story.
Mastodon #vulnerabilityresearch ok19 records Checked โ€” no match The source completed, but none of its retained records matched this story.
Metasploit module metadataexploit_reference ok empty0 records Checked โ€” no match The source completed but returned no records in the collection scope.
Microsoft MSRCvendor_advisory ok1591 records Checked โ€” no match The source completed, but none of its retained records matched this story.
MISP Galaxyresearch ok empty0 records Checked โ€” no match The source completed but returned no records in the collection scope.
MISP threat actor galaxyactor ok0 records Checked โ€” no match The source completed, but none of its retained records matched this story.
NVDcve ok900 records Checked โ€” no match The source completed, but none of its retained records matched this story.
Palo Alto Networks PSIRTvendor_advisory ok25 records Checked โ€” no match The source completed, but none of its retained records matched this story.
ProjectDiscovery nuclei templatesexploit_reference ok empty0 records Checked โ€” no match The source completed but returned no records in the collection scope.
Rapid7news ok empty0 records Checked โ€” no match The source completed but returned no records in the collection scope.
Reddit r/AskNetsec (pending API approval)research disabled Disabled Disabled in the source registry; no check was attempted.
Reddit r/cybersecurity (pending API approval)research disabled Disabled Disabled in the source registry; no check was attempted.
Reddit r/malware (pending API approval)research disabled Disabled Disabled in the source registry; no check was attempted.
Reddit r/netsec (pending API approval)research disabled Disabled Disabled in the source registry; no check was attempted.
Reddit r/ReverseEngineering (pending API approval)research disabled Disabled Disabled in the source registry; no check was attempted.
SANS ISCnews ok1 records Checked โ€” no match The source completed, but none of its retained records matched this story.
SentinelLabsnews ok empty0 records Checked โ€” no match The source completed but returned no records in the collection scope.
Shadowserver public aggregate honeypot observationsexploit_reference ok empty0 records Checked โ€” no match The source completed but returned no records in the collection scope.
Shodanresearch ok empty0 records Checked โ€” no match The source completed but returned no records in the collection scope.
Sigma Rulesresearch ok empty0 records Checked โ€” no match The source completed but returned no records in the collection scope.
Sophos IOCsresearch ok empty0 records Checked โ€” no match The source completed but returned no records in the collection scope.
Sophos X-Opsnews ok empty0 records Checked โ€” no match The source completed but returned no records in the collection scope.
The DFIR Reportnews ok empty0 records Checked โ€” no match The source completed but returned no records in the collection scope.
ThreatFoxthreat_intelligence ok100 records Checked โ€” no match The source completed, but none of its retained records matched this story.
UK NCSCnews ok empty0 records Checked โ€” no match The source completed but returned no records in the collection scope.
Unit 42news ok empty0 records Checked โ€” no match The source completed but returned no records in the collection scope.
Unit42 IOCsresearch ok empty0 records Checked โ€” no match The source completed but returned no records in the collection scope.
URLhausdark_web ok10 records Checked โ€” no match The source completed, but none of its retained records matched this story.
VirusTotal Community IOC enrichmentresearch ok4 records Checked โ€” no match The source completed, but none of its retained records matched this story.
VulnCheck KEVkev ok500 records Checked โ€” no match The source completed, but none of its retained records matched this story.
Vulnerability Lookupcve ok30 records Checked โ€” no match The source completed, but none of its retained records matched this story.
WeLiveSecuritynews ok empty0 records Checked โ€” no match The source completed but returned no records in the collection scope.
Additional verified pages 4 opened outside the registered collection
Vendor & gov advisories1
TerminalFix campaign deploys a reverse tunnel through multistage intrusion | Microsoft Security Blog microsoft.com โ†—

Primary vendor advisory with full IOC table, SHA-256 hashes, Defender detection signatures, MITRE ATT&CK mappings and Advanced Hunting queries

Analysis & research2
TerminalFix Uses Fake Cloudflare CAPTCHAs to Deploy Reverse-Tunnel Backdoor | The Hacker News thehackernews.com โ†—

Independent editorial summary corroborating Microsoft's disclosure; includes mitigation recommendations

Hackers Use Fake Cloudflare CAPTCHA to Deploy TerminalFix Reverse Tunnel | GBHackers gbhackers.com โ†—

Independent technical breakdown adding Python 3.14.5 runtime detail and enumerating specific AD object types targeted during reconnaissance