CWP Backdoor: Hosting Panels as a Botnet Persistence Layer
Shared hosting is the most underrated attack surface on the internet. One Control Web Panel instance can front hundreds of accounts, and the web server behind it — cwpsrv — is a binary almost nobody inspects. So when researchers at QiAnXin's XLab pulled apart a rebuilt cwpsrv that executes commands smuggled in HTTP headers and never writes them to the access log, we took notice. This is not a smash-and-grab; it is a persistence layer engineered to live inside hosting fleets for months.
A Signed Header, an Invisible Command
The implant, dubbed cwpdoor, behaves like a stock cwpsrv until a request arrives carrying headers prefixed X-Ngx-Integrity with a valid timestamp and signature. Then it runs whatever command the request carries and goes back to looking ordinary. Because those requests are filtered out of the access log, the first artefact most responders reach for — the log line — simply never appears.
The installer is a shell script posing as a version update, and it only handles cwpsrv 1.15.10 and 1.24.0. After swapping the binary it restores the original file timestamps, so ls and stat report nothing out of place. VirusTotal returned zero detections out of 63, and on the live host the researchers examined, a socket check showed a perfectly normal list of open ports. The signature gate also means a scanner spraying random paths will never wake it up; the implant only answers to someone holding the key. That is a deliberate trade — stealth over reach — and it is exactly why signature-based detection alone will not find it.

Root Access and a Very Old Roommate
Deploying cwpdoor requires root, which makes it a post-compromise implant rather than an initial access vector — the attacker is already inside. How the root access was obtained is still unknown, and that gap is the interesting part: a compromised hosting provider, a reseller account, or a poisoned update channel all fit the evidence.
On September 30 an archive containing the backdoor was uploaded to VirusTotal from Brazil, which the researchers read as proof that real victims exist in the wild. The same archive also carried Ebury, the OpenSSH backdoor and credential stealer that has been circulating since at least 2009. Whether the two are related is unresolved. It hardly matters: one box, two implants, two operators — the classic signature of flat, unsegmented hosting infrastructure.

Why Botnet Operators Love Shared Hosting
A panel is a control plane, and control planes are force multipliers. Compromise the panel and you inherit every tenant on the machine: their cron jobs, their mail, their outbound bandwidth. For a botnet, a hosting node is close to ideal — a stable IP with clean reputation, a real TLS stack, and hundreds of legitimate sites providing cover for whatever leaves the box. We have watched hosting ranges do outsized damage in UDP flood and SYN flood mixes precisely because nobody throttles them.
It matters most at layer 7. An HTTP GET flood or HTTP POST flood only lands when the requests look like a browser's, complete with plausible JA3 fingerprints, HTTP/2 fingerprints and rotating user agents. A rack of backdoored cwpsrv servers delivers that browser emulation without a single real browser. It is also why operators building an ip stresser or booter platform pay a premium for hosting IPs over residential proxies whenever a cloudflare bypass or JS challenge stands in the way. The economics of any ddos service or ddos for hire operation come down to inventory, and a backdoor that survives quietly on a shared host is the cheapest inventory there is — no CVE required, no exploit chain, just a signed header and a root-owned binary.

Hunting the Implant
Defenders should hash cwpsrv against the vendor package, watch for timestamp anomalies across panel binaries, and inspect request streams for X-Ngx-Integrity headers instead of trusting access logs alone. Egress monitoring still catches what logs miss.
Every compromised panel is a potential node in someone's stress testing arsenal, and the operators know it. If you want to see how your own perimeter holds up against a harvested fleet, our free stress test is one click away at /contact. The record holders on our /achievements page will happily tell you how that usually ends.