Direct naar de inhoud
Beveiligingsnieuws

CWPdoor: Linux backdoor in Control Web Panel

Control Web Panel backdoor

Onderzoekers van QiAnXin’s XLab waarschuwen voor een Control Web Panel backdoor in een Linux-component die beheertaken voor hosting servers mogelijk maakt. Het gaat om een gemanipuleerde webserver die, zodra hij is geïnfecteerd, commando’s kan uitvoeren die aanvallers via webverzoeken aanleveren—zonder dat die verzoeken terug te zien zijn in de access logs.

De achterdeur heet cwpdoor. In hun analyse beschrijven de onderzoekers ook hoe de infectie zich gedraagt, welke signalen je kunt testen en welke opschoonstappen je meteen kunt doorlopen als CWP op jouw systemen draait.

Wat is er gevonden in Control Web Panel?

De onderzoekers ontdekten dat de webserver die Control Web Panel (CWP) ondersteunt, is aangepast. Concreet: de geïnfecteerde server kan commando’s uitvoeren die aanvallers meesturen in webrequests. Daarbij is een belangrijk detail dat die requests niet verschijnen in de access logs van de (aangepaste) webserver.

Om de backdoor te installeren is root-toegang nodig. Dat betekent dat aanvallers het systeem al onder controle moeten hebben gehad, bijvoorbeeld na een eerdere inbraak. XLab geeft aan dat zij nog niet weten op welke manier de aanvallers aan die root-toegang kwamen.

Hoe werkt de backdoor: commando via verborgen webrequest

Volgens XLab is de backdoor in feite de server zelf: cwpsrv is herbouwd met extra code. In normale omstandigheden werkt het programma zoals verwacht. Zodra er echter een verzoek binnenkomt met een geldig tijdstip en een bijbehorende handtekening in specifieke aangepaste requestheaders, gaat de backdoorkant aan.

Die headers beginnen met een vaste prefix: X-Ngx-Integrity. In dat geval voert de server het commando uit dat in de webrequest is aangeleverd.

Daarnaast hebben de onderzoekers beschreven dat de installer, wanneer hij cwpsrv vervangt, de bestandsdatums terugzet naar waarden alsof er niets is gewijzigd. Dat maakt simpele checks met bestandsinformatie minder effectief. In hun eigen controle zagen zij een situatie waarin de aangepaste backdoor nul detecties opleverde op VirusTotal van een totaal van 63 engines.

Installer vermomt zich als “versie-update”

In hun onderzoek hebben de onderzoekers de installatorkant vastgelegd als een shellscript dat zich voordoet als een versie-update. In de broninformatie wordt vermeld dat dit script op 29 juni is gezien. De installer ondersteunt slechts twee versies van cwpsrv: 1.15.10 en 1.24.0.

Het is dus niet “een willekeurige payload”; de backdoor is gekoppeld aan een specifieke beheersuite en specifieke versies van de getroffen webserver.

Zijn er al echte slachtoffers?

Op 30 september is een archief met een kopie van de backdoor geüpload naar VirusTotal vanuit Brazilië. XLab stelt dat dit erop kan duiden dat reële slachtoffers al in het wild aanwezig zijn.

Ze geven daarbij geen aantallen over hoeveel servers vermoedelijk besmet zijn. Wel is het duidelijke signaal: als CWP voorkomt op jouw infrastructuur, is verificatie geen “nice to have”, maar een praktische stap.

Snelle checks: zo controleer je op cwpdoor

De onderzoekers delen drie concrete controles waarmee je op een server kunt nagaan of er aanwijzingen zijn voor de Control Web Panel backdoor.

1) Socket-check

Voer de volgende opdracht uit:

ss -axp | grep integrity

Als je een resultaat ziet dat verwijst naar ngx_http_integrity_helper—dit is de Unix socket die de backdoor gebruikt—beschouw dat dan als een sterke indicatie van infectie.

2) Process-check

Voer daarnaast uit:

ps aux | grep cwpsrv

Let op onverwachte hulpprocessen die zijn gestart door cwpsrv. Dat kan helpen bij het onderscheiden van een “normale” situatie van een compromis.

3) Bestands-check op header-namen

Controleer tot slot de strings in het cwpsrv-bestand:

strings /usr/local/cwpsrv/bin/cwpsrv | grep X-Ngx-Integrity

Wanneer de namen van de backdoor-headers zichtbaar worden, wijst dat op de aanwezigheid van de aangepaste code.

In hun voorbeeld vonden ze de backdoor op een systeem waar de open poortenlijst “normaal” leek. Met andere woorden: netwerk-only zicht is niet genoeg. Doe daarom de checks op de server zelf.

Indicators: hashes en (bron)adressen

XLab publiceert meerdere indicatoren die je kunt gebruiken bij threat hunting of voor vergelijking in je eigen detectielogs/beeldvorming.

  • MD5 installer script: e505d4ffa21cf494a5dc2d7c8f4f1236 (cwpsrv_update.sh)
  • MD5 cwpsrv 1.15.10: 965aea67fb40de1bab5169ada993349f (backdoored)
  • MD5 cwpsrv 1.24.0: d3f4e95113d49ab3991b45e457bda75b (backdoored)
  • IP downloadserver: 136.0.141[.]71
  • URL: http://136.0.141[.]71/static/cwpsrv_update.sh
  • URL: http://136.0.141[.]71/static/cwpsrv_1.15.10
  • URL: http://136.0.141[.]71/static/cwpsrv_1.24.0

Gebruik deze IOCs vooral als startpunt. In de praktijk wil je ook kijken naar afwijkingen in bestandsintegriteit, procesgedrag en mogelijke vervolgactiviteit.

Opgeschoond krijgen: wat te doen bij een besmet systeem

Als je vaststelt dat een server besmet is met de Control Web Panel backdoor, adviseren de onderzoekers drie stappen om schade te beperken en herbesmetting te voorkomen.

Stap 1: herstel cwpsrv vanuit de backup

De installer zou tijdens de wissel een originele kopie van cwpsrv terugplaatsen. Die backup staat in:

/usr/local/cwpsrv/bin

De onderzoekers beschrijven dat het bestand een naam krijgt die begint met cwpsrv.prev en eindigt met een datum en tijd. Let op: omdat de installer volgens hun beschrijving tijdelijke bestanden en de backup verwijdert na een succesvolle swap, kan die kopie in sommige gevallen ontbreken.

Stap 2: upgrade naar de nieuwste versie en verifieer

Installeer vervolgens de nieuwste versie van CWP/CWPSRV en check daarna opnieuw of de backdoorcomponent niet langer aanwezig is.

Een van de verificatiestappen die ze noemen: na de update moet ss -axp | grep integrity geen resultaat meer opleveren met de backdoor-socket.

Stap 3: vertrouw niet langer op credentials—beschouw het systeem als gecompromitteerd

Omdat de achterdeur in staat is om elk commando uit te voeren, adviseren de onderzoekers om alle CWP-accounts en relevante beheerderscredentials te resetten. Behandel daarbij de hele server als mogelijk gecompromitteerd en onderzoek ook op andere sporen van misbruik.

Waarom dit type backdoor lastig te detecteren is

Wat dit incident extra riskant maakt, is dat de backdoor zich gedraagt als normale software totdat er een “specifiek” verzoek binnenkomt. Bovendien worden bepaalde webrequests buiten beeld gehouden van de access logs, waardoor standaard loggebaseerde analyses minder snel tot een conclusie leiden.

Het terugzetten van bestandsdatums maakt ook integriteitschecks op basis van “timestamp-verschillen” minder overtuigend. Daarom is een combinatie nodig: logische serverchecks, bestandsvalidatie en—waar mogelijk—indicator- en procesanalyse.

Praktische voorbereiding: maak server checks onderdeel van je proces

Je hoeft niet te wachten tot er een “bevestigd” incident is. Door CWP-servers periodiek te scannen op de signalen die XLab publiceert (socket, processen en headerstrings), verklein je de kans dat een backdoor langere tijd onopgemerkt blijft.

Ook helpt het om je patch- en detectieketen te koppelen aan actuele dreigingen. Als je daarnaast kijkt naar recente cases rond patchvertraging en misbruik, kun je leren van patronen in hoe aanvallers timing en gaten in onderhoud uitbuiten. Zie bijvoorbeeld ook het bredere kader in Dreiging en patchvertraging in 2026.

Conclusie

De Control Web Panel backdoor (cwpdoor) laat zien hoe serieus je server-side risico moet nemen bij beheerpakketten. Zolang de gemanipuleerde cwpsrv aanwezig is, kan een aanvaller via webrequests commando’s laten uitvoeren zonder dat die activiteit zichtbaar is in access logs.

Controleer daarom CWP-servers met de door XLab gedeelde checks, vergelk bestands-/processignalen en voer bij besmetting direct herstel, upgrade en credential resets door. Zo voorkom je dat een ogenschijnlijk “stabiele” hostingomgeving langzaam verandert in een blijvend toegangspunt.

Bron: https://thehackernews.com/2026/11/hackers-hide-linux-backdoor-in-control.html