SOC Prime Bias: Medium

10 Feb 2026 14:20

New Clickfix variant CrashFix deploying Python Remote Access Trojan

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Follow
New Clickfix variant CrashFix deploying Python Remote Access Trojan
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Summary

The CrashFix offshoot of the ClickFix campaign relies on a malicious Chrome extension to intentionally destabilize browsers, then pushes users into running “fix” commands that install a Python-based remote access trojan. The chain abuses the Windows finger utility and uses obfuscated PowerShell to pull down additional Python stages. Persistence is set via a Run registry value and a scheduled task named SoftwareProtection. Targeting appears focused on domain-joined Windows endpoints to maximize operational impact.

Investigation

Microsoft Defender researchers traced the activity to a counterfeit uBlock Origin Lite extension distributed through the Chrome Web Store. After installation, the extension drops a renamed finger.exe (as ct.exe), which reaches out to attacker-controlled IP infrastructure to retrieve a PowerShell script. That script then downloads a WinPython bundle that contains ModeloRAT. The RAT beacons over HTTP and establishes persistence through registry and scheduled-task creation. Telemetry also showed anti-analysis behavior and enumeration activity consistent with operating inside corporate domains.

Mitigation

Turn on cloud-delivered protection and run EDR in block mode, tighten outbound connectivity, and disable or constrain the legacy finger utility where possible. Enforce egress filtering and MFA, and use ASR rules to prevent execution of untrusted binaries and script-based staging. Monitor for suspicious Run key changes and scheduled tasks that launch python executables or reference unusual Python paths.

Response

Alert on creation of the malicious Run registry entry and the SoftwareProtection scheduled task, and correlate with outbound connections to known malicious IPs/domains. Hunt for the rogue Chrome extension filename and for processes spawning finger.exe/ct.exe or pythonw.exe with abnormal arguments. Isolate impacted hosts, remove the extension and dropped artifacts, and rotate any credentials that may have been exposed.

graph TB %% Class definitions for styling classDef action fill:#99ccff classDef tool fill:#ffdd99 classDef malware fill:#ffccff classDef process fill:#c2f0c2 classDef builtin fill:#e0e0e0 %% Node definitions initial_access[“<b>Initial Access</b> – <b>T1176 Software Extensions</b><br/>Malicious Chrome extension delivered via ad and installed by the user”] class initial_access action tool_ctexe[“<b>Tool</b> – <b>Name</b>: ct.exe (renamed)<br/><b>Purpose</b>: Retrieves obfuscated PowerShell script”] class tool_ctexe tool execution_ps[“<b>Execution</b> – <b>T1059.001 Command and Scripting Interpreter: PowerShell</b><br/>Obfuscated PowerShell script retrieved by ct.exe and used to download additional payloads”] class execution_ps action malware_rats[“<b>Malware</b> – <b>Name</b>: ModeloRAT (Python RAT)<br/><b>Components</b>: modes.py, extensions.py”] class malware_rats malware execution_python[“<b>Execution</b> – <b>T1059.006 Command and Scripting Interpreter: Python</b><br/>Download and execution of WinPython package and Python based RAT”] class execution_python action process_runexe[“<b>Process</b> – <b>Name</b>: run.exe<br/><b>Function</b>: Executed by the scheduled task”] class process_runexe process process_udp[“<b>Process</b> – <b>Name</b>: udp.pyw<br/><b>Function</b>: Periodic Python payload executed by scheduled task”] class process_udp process persistence_task[“<b>Persistence</b> – <b>T1053 Scheduled Task/Job</b><br/>Scheduled task \”SoftwareProtection\” runs run.exe and udp.pyw every five minutes”] class persistence_task action persistence_profile[“<b>Persistence</b> – <b>T1546.013 Event Triggered Execution PowerShell Profile</b><br/>PowerShell profile launches malicious script on user login”] class persistence_profile action defense_evasion[“<b>Defense Evasion</b> – <b>T1027 Obfuscated Files or Information</b><br/>Both PowerShell and Python payloads are heavily obfuscated to avoid analysis”] class defense_evasion action discovery_account[“<b>Discovery</b> – <b>T1087.002 Account Discovery Domain Account</b><br/>Script enumerates domain joined status, user accounts and security tools”] class discovery_account action discovery_network[“<b>Discovery</b> – <b>T1016.001 System Network Configuration Discovery</b><br/>ModeloRAT beacons to C2 over HTTP to retrieve commands and exfiltrate data”] class discovery_network action %% Connections showing flow initial_access –>|delivers| tool_ctexe tool_ctexe –>|downloads| execution_ps execution_ps –>|executes| malware_rats malware_rats –>|spawns| execution_python execution_python –>|runs| process_udp process_udp –>|triggers| persistence_task persistence_task –>|runs| process_runexe process_runexe –>|invokes| process_udp persistence_profile –>|runs on login| execution_ps defense_evasion –>|applies to| execution_ps defense_evasion –>|applies to| execution_python discovery_account –>|collects information from| process_udp discovery_network –>|exfiltrates via| process_udp

Attack Flow

Detections

Short File Name (via cmdline)

SOC Prime Team
09 Feb 2026

Possible Powershell Executing Process In Suspicious Directory (via cmdline)

SOC Prime Team
09 Feb 2026

Download or Upload via Powershell (via cmdline)

SOC Prime Team
09 Feb 2026

An Archive Was Extracted To Suspicious Directory Using Powershell (via powershell)

SOC Prime Team
09 Feb 2026

Possible Powershell Obfuscation Indicators (via powershell)

SOC Prime Team
09 Feb 2026

Schtasks Points to Suspicious Directory / Binary / Script (via cmdline)

SOC Prime Team
09 Feb 2026

LOLBAS Finger (via cmdline)

SOC Prime Team
09 Feb 2026

Possible System Enumeration (via cmdline)

SOC Prime Team
09 Feb 2026

IOCs (SourceIP) to detect: New Clickfix variant CrashFix deploying Python Remote Access Trojan

SOC Prime AI Rules
09 Feb 2026

IOCs (DestinationIP) to detect: New Clickfix variant CrashFix deploying Python Remote Access Trojan

SOC Prime AI Rules
09 Feb 2026

IOCs (HashSha256) to detect: New Clickfix variant CrashFix deploying Python Remote Access Trojan

SOC Prime AI Rules
09 Feb 2026

Detection of Malicious Use of Finger.exe in CrashFix Campaign [Windows Process Creation]

SOC Prime AI Rules
09 Feb 2026

Detection of Malicious Browser Extension Communication [Windows Network Connection]

SOC Prime AI Rules
09 Feb 2026

Detection of Malicious PowerShell Script Download [Windows Powershell]

SOC Prime AI Rules
09 Feb 2026

Persistence via Modified Run Registry Key for Python Payload [Windows Registry Event]

SOC Prime AI Rules
09 Feb 2026

Detection of Malicious Browser Extension Installation [Windows File Event]

SOC Prime AI Rules
09 Feb 2026

Simulation Execution

Prerequisite: The Telemetry & Baseline Pre‑flight Check must have passed.

Rationale: This section details the precise execution of the adversary technique (TTP) designed to trigger the detection rule. The commands and narrative MUST directly reflect the TTPs identified and aim to generate the exact telemetry expected by the detection logic.

  • Attack Narrative & Commands:
    The red team deploys a malicious Chrome extension named “SecurePDF‑Viewer” that appears to provide PDF rendering capabilities (masquerading as a legitimate extension – T1036.007/008). Upon installation, the extension’s background script initiates a persistent HTTPS GET request to https://nexsnield.com/api/heartbeat to retrieve encrypted commands. The request is issued via the browser’s built‑in networking stack, which on Windows surfaces as a System process network connection (captured by Sysmon). The C2 server resolves to the hard‑coded IP 69.67.173.30. This exact combination of dst_ip and domain satisfies the Sigma rule, causing an alert.

  • Regression Test Script:

    # Simulate malicious browser‑extension traffic (PowerShell mimics the extension's HTTP call)
    $url = "https://nexsnield.com/api/heartbeat"
    try {
        # Suppress TLS errors for demonstration (not recommended in production)
        [System.Net.ServicePointManager]::ServerCertificateValidationCallback = {$true}
        Invoke-WebRequest -Uri $url -UseBasicParsing -Headers @{ "User-Agent" = "Chrome/118.0.0.0" } -TimeoutSec 5
        Write-Host "Simulated malicious C2 beacon sent."
    } catch {
        Write-Error "Failed to reach C2 endpoint: $_"
    }
  • Cleanup Commands:

    # Remove any temporary files or cached DNS entries (optional)
    Clear-DnsClientCache
    # No persistent changes were made; only a network request was issued.
    Write-Host "Cleanup complete."