CYBERRAKSHAK LABS Β· RESEARCH #048

🚨 SC MALWARE β€” SELF-HEALING PERSISTENCE ACROSS FILES, DATABASE & MEMORY

Inside the SC β€œself-healing” WordPress malware that can rebuild persistence across files, database and memory.

By Vivek Kumar Β· Published 1 October 2026
RESEARCH#048
CATEGORYWeb Security / WordPress Malware / Persistence
CRL ASSESSMENTHIGH
RESEARCH LEVELDeep Research
PUBLISHED2026-10-01
Source & social links: LinkedIn Post β†— WhatsApp β†— YouTube β†—
How CyberRakshakLabs researches threats β†’
What if you remove a WordPress backdoor β€” and it comes back? The supplied research describes SC as a persistence architecture distributed across WordPress files, the database, scheduled execution mechanisms and System V shared memory. The key issue is not one malicious file; it is the network of components capable of rebuilding one another.
6+Observed persistence layers
3Major storage domains: files, database, memory
1Core lesson: break the recovery chain
Executive Summary

Security researchers have documented a WordPress malware family tracked as SC, named after SC_ markers found in injected code. The supplied research describes a β€œself-healing” architecture in which persistence is spread across multiple locations and mechanisms.

Observed components include .user.ini, PHP loader files, WordPress drop-ins such as db.php and advanced-cache.php, theme functions.php, a malicious MU-plugin, a duplicate conventional plugin, a database payload, shared-memory content and scheduled redeployment.

The incident-response question changes from β€œDid we delete the malware?” to β€œDid we remove every mechanism capable of rebuilding it?”

Sucuri described the architecture as a β€œself-healing mesh.”

πŸ”΄ The Attack Is Not a File β€” It Is a System

Traditional WordPress cleanup often follows: Find malicious file β†’ Delete β†’ Scan β†’ Restore service. SC breaks that model by creating cooperating persistence nodes.

The supplied analysis identifies .user.ini, PHP loaders, wp-content/db.php, wp-content/advanced-cache.php, modified theme code, MU-plugins, ordinary plugins, database payloads, System V shared memory and scheduled redeployment.

File β†’ Database β†’ Memory β†’ WordPress β†’ File

These components can act as recovery points. Removing one node does not necessarily break the chain.

🧬 How the Self-Healing Mechanism Works

A simplified model from the supplied research is:

DATABASE β€” Encoded Payload
↓
.user.ini β†’ PHP Loader β†’ MU-Plugin
↓
db.php / advanced-cache.php / Theme
↓
Rebuild Malware β†’ Shared Memory

The result is a circular persistence mechanism rather than a single master file.

⚠️ Persistence Layer #1 β€” .user.ini

The malware uses auto_prepend_file so PHP loads attacker-controlled code before normal PHP request processing within the affected directory tree.

The supplied research also notes that PHP can cache .user.ini directives. Careless removal of the referenced file can therefore cause PHP failures during cleanup.

⚠️ Persistence Layer #2 β€” WordPress Drop-ins

SC abuses early WordPress drop-in locations such as wp-content/db.php and wp-content/advanced-cache.php.

The supplied analysis says db.php contains an encoded copy of the backdoor and can restore a missing malicious plugin. advanced-cache.php can search surviving copies in MU-plugins, normal plugins, shared memory, ZIP restore bundles and the database.

🧠 Persistence Layer #3 β€” Database

An encoded representation of the payload can be stored in the WordPress database. This means a filesystem-only investigation can miss a recovery source.

Delete PHP files β†’ Database survives β†’ Next execution β†’ Malware recreated.

Restoring a compromised database without understanding the persistence mechanism can therefore restore the attacker-controlled component as well.

🧠 Persistence Layer #4 β€” Shared Memory

Where supported, SC can place PHP code into a System V shared-memory segment. The supplied research reports that this memory-resident copy can survive ordinary file deletion and database cleanup depending on the hosting environment and process lifecycle.

DFIR lesson: if the investigation examines only the filesystem, it may be examining only one layer of the compromise.

🎭 Persistence Layer #5 β€” Theme Injection

The active WordPress theme can contain injected code inside functions.php. The supplied research describes this as another recovery mechanism capable of recreating the malicious plugin when it disappears.

🧩 Persistence Layer #6 β€” Duplicate Malware

The backdoor was observed in both wp-content/mu-plugins/ and wp-content/plugins/. MU-plugins are particularly important because they are automatically loaded and are not managed like ordinary plugins through the normal activation workflow.

πŸ•΅οΈ What Does the Backdoor Actually Do?

The supplied research reports capabilities including hiding itself from administrator views, creating or manipulating privileged access, fingerprinting the WordPress environment, executing PHP, injecting JavaScript, targeting security controls and maintaining remote control through blockchain-based infrastructure.

Hide itself β€” manipulate plugin/update views.
Hidden administrator access β€” create or manipulate privileged accounts.
System fingerprinting β€” collect environment information.
Remote PHP execution β€” deliver additional PHP code.
JavaScript injection β€” potentially target e-commerce/payment workflows.
Security-control interference β€” target security plugins.
⛓️ Why Blockchain C2 Is Interesting

The supplied research reports use of public Ethereum RPC gateways to communicate with a smart contract and retrieve instructions.

Compromised WordPress β†’ Malware β†’ Ethereum RPC Gateway β†’ Smart Contract β†’ Attacker Instructions

This can make blocking a single conventional IP address or domain insufficient. It also illustrates how legitimate public infrastructure can be abused for malicious communications.

πŸ”₯ The Real Attack Chain
Initial Access
↓
WordPress Compromise
↓
Initial Webshell / PHP Access
↓
Persistence Installation
↓
Multiple Recovery Copies
↓
Database + Files + Memory + Theme
↓
Hidden Administrator β†’ C2 β†’ Remote PHP / JavaScript Injection
↓
Data Theft / Site Manipulation β†’ Continuous Reinfection

Important: the exact initial delivery mechanism for SC is not established in the supplied research. Vulnerable plugins/themes, weak credentials, supply-chain compromise and insecure uploads are possible routes, not confirmed SC delivery mechanisms.

πŸ”Ž IOC / Hunting Opportunities

Defenders should hunt beyond obvious malware filenames.

Files/config: unexpected .user.ini, php.ini, .htaccess, db.php, advanced-cache.php, hidden dot-files and unexpected PHP files.
WordPress: MU-plugins, ordinary plugins, theme functions.php, unexpected ZIPs, modified plugin files and drop-ins.
Database: unexpected options, large Base64/gzip blobs, suspicious sc_-style entries, unusual transients, unauthorized administrators and suspicious usermeta.
Memory: System V shared-memory segments and PHP processes containing unexpected code.
Scheduled execution: WP-Cron, system cron, randomized hooks and redeployment activity.
Network: Ethereum RPC traffic, suspicious PHP outbound connections, unusual infrastructure and unexpected JavaScript/payload retrieval.

These are investigation leads from the supplied technical analysis, not a universal signature set.

🧹 Why Normal Cleanup Can Fail

Deleting the malicious plugin may appear successful until the next request triggers a surviving recovery node such as db.php, theme code, database content or memory-resident code.

Delete plugin β†’ Surviving recovery node β†’ Request β†’ Plugin recreated β†’ β€œMalware is back!”

The defender has not necessarily failed to delete the malware; one node of a persistence network remained capable of reconstruction.

πŸ›‘οΈ CyberRakshakLabs Recommended Response
1. Contain: take the affected site out of normal public operation where practical and preserve evidence.
2. Identify execution: investigate .user.ini/PHP configuration, drop-ins, themes, plugins, database, cron and shared memory.
3. Stop execution before deletion: neutralize the prepend mechanism before deleting its target.
4. Remove off-disk persistence: investigate database, shared memory, cron and unauthorized users.
5. Clean all copies: remove MU-plugin, ordinary plugin copy, loaders, drop-ins, theme injection, restore archives and database payloads.
6. Rotate credentials: WordPress, hosting, database, FTP/SFTP, SSH, API, SMTP and cloud credentials where relevant.
7. Find the original entry point: otherwise the attacker may reinfect the cleaned site.
8. Monitor: watch for file recreation, new administrators, plugin changes, database changes, cron jobs, outbound connections and JavaScript injection.
🚨 Important WordPress Context

The supplied SC disclosure also discusses CVE-2026-1581, described as an unauthenticated time-based SQL injection in wpForo affecting versions up to 2.4.14. The source says version 2.4.15 addressed the issue and cites a CVSS 7.5 score and fewer than 20 observed exploitation attempts since 3 July 2026 from five IP addresses.

This does not establish CVE-2026-1581 as the entry point for SC. That distinction is important when separating related threat context from confirmed causation.

🧠 CyberRakshakLabs Threat Intelligence Insight

The central lesson is not simply that WordPress malware can hide. It is that persistence can become a network of mutually dependent recovery mechanisms.

Traditional mindset: Find β†’ Delete β†’ Scan
Modern web-compromise mindset: Find β†’ Map β†’ Contain β†’ Break persistence β†’ Eradicate β†’ Rebuild β†’ Monitor
πŸ”₯ Final CyberRakshakLabs Takeaway
A compromised WordPress website may not contain β€œa bad PHP file somewhere.” It may contain an attacker-controlled system embedded across the application's execution lifecycle.

SC demonstrates why incident response must examine files, WordPress internals, databases, scheduled execution, memory, credentials and network communications together.

Delete the backdoor.
Break the persistence.
Find the entry point.
Rotate the credentials.
Then rebuild trust.

CyberRakshakLabs Think Before You Click. Stay Aware. Stay Secure.