Onderzoekers van VulnCheck melden de ontdekking van een backdoor in Zbtlink routers die al in de firmware lijkt te zitten. Het gaat niet om een “los” component dat later is toegevoegd, maar om een implant die bij het opstarten automatisch actief wordt. In meerdere routermodellen is de functionaliteit terug te vinden in firmwarebeelden die meer dan twee jaar bestrijken.
Wat dit extra zorgwekkend maakt: de achterdeur is ontworpen om zonder authenticatie commando’s te ontvangen en kan daardoor een live, interactieve root shell opleveren. Daarmee komt de impact niet alleen neer op data uitlezen of instellingen wijzigen, maar op volledige systeemcontrole over het netwerkapparaat.
Wat is er gevonden in de Zbtlink firmware?
Volgens de analyse is de implant aanwezig in ten minste 20 Zbtlink routermodellen. In totaal zijn er 21 firmware-images beschikbaar binnen het huidige overzicht van Zbtlink die langer dan twee jaar teruggaan en waarin dezelfde backdoor wordt aangetroffen.
De onderzoekers noemen de techniek ENDLESSDOORS. De implant start automatisch tijdens het bootproces en probeert regelmatig contact te leggen met command-and-control (C2) infrastructuur, met een interval dat al snel aan de orde komt: ongeveer elke 35 seconden.
Waarom lijkt het op legitieme routerprocessen?
De backdoor vermomt zich als een Linux kernel thread-achtig proces. In werkelijkheid draait het om een set processen in userland die met root-privileges werken, terwijl ze qua uiterlijk of naamgeving zoveel mogelijk lijken op normale workflow-processen.
In de onderzochte router (Zbtlink AX3000) gaat het om een “kworker” worker die is aangepast. VulnCheck beschrijft dat deze worker niet alleen “lijkt te bestaan”, maar dat hij is geconfigureerd om de ingestelde C2-bestemmingen te bereiken.
Het mechanisme: “rctl” als basis voor commando-uitvoering
De kern van ENDLESSDOORS wordt door VulnCheck gekoppeld aan een klein hulpmiddel: rctl (remote control linux). Dit component zou volgens de onderzoekers oorspronkelijk in een obscure GitHub-repository zijn geplaatst (in 2015) en daarna niet meer zijn aangepast.
De werkwijze werkt grofweg zo:
- De server luistert naar clients op poort 7000.
- De client kan vervolgens individuele shell-commando’s ontvangen.
- Daarnaast kan de server opdracht geven om een reverse bash shell te starten.
Belangrijk detail: er is volgens VulnCheck geen handshake, onderhandeling of authenticatie. Zodra de implant een “hello”-bericht stuurt met o.a. de LAN MAC-adresgegevens, draait de logica in lijn met wat er terugkomt van de server.
Van commando naar live root shell
Het protocol kent volgens de analyse vrijwel een-op-een functionaliteit: het gaat om commando’s “draai dit als root” en “geef me een root shell”. Een gereserveerde string, rctlbash, triggert daarbij de volgende stap.
Concreet: de implant opent een tweede verbinding naar een andere poort (7001), zet een pseudo-terminal op, start /bin/sh en verbindt die sessie live door. In de praktijk resulteert dat in een interactieve root shell.
Waarom hoeft een aanvaller niet direct op internet te staan?
Omdat de router zelf outbound contact opneemt richting C2, kan een aanvaller profiteer van het feit dat het apparaat “telefoont” naar buiten. De onderzoekers wijzen erop dat het scenario ook kan werken zonder dat de router direct vanaf internet bereikbaar hoeft te zijn.
Er zit bovendien een extra zwakte in de opzet: wie de communicatie kan omleiden, of controle kan hebben over de manier waarop een domein naar een IP-adres wordt vertaald, kan in principe invloed uitoefenen op welke server de implant uiteindelijk bereikt. In de beschreven aanpak wordt één van de C2-bestemmingen aangeduid met een domein dat door zijn resolutie onderdeel wordt van het beïnvloedingspad.
Welke routermodellen zijn getroffen?
De onderzochte lijst met modellen waar de backdoor in is teruggevonden (zoals door VulnCheck genoemd) bevat onder meer de volgende Zbtlink-types:
- CPE2801
- WE1026-5G-WD
- WE1326
- WE2007
- WE2008-DSIM
- WE2416
- WE3326
- WE5927
- WE5931
- WE5931AC
- WE826-T3-DSIM
- WG108
- WG1602
- WG1608-DSIM
- WG209
- WG2105
- WG2107
- WG259
- WG3526
- Z8102AX-2DSIM
Het exacte effect kan per firmwareversie verschillen, maar in de kern gaat het om een embedded implant die bij boot actief wordt en vervolgens contact zoekt.
Doelpunten voor “phone home”: vier endpoints
VulnCheck geeft aan dat de apparaten bij het contact leggen met de volgende primaire en secundaire endpoints zijn geconfigureerd:
- zbtctl.epplink[.]net (47.100.190[.]96)
- 47.107.224[.]89
- online-string[.]com (45.32.81[.]152)
- rbdg4nzqadui.wikaba[.]com (43.248.136[.]125)
Voor netwerkbeheerders betekent dit dat controle op uitgaande verbindingen en gerichte blokkering van deze uitgaande routes een directe verdedigingsstap kan zijn.
Wat deed Zbtlink na de ontdekking?
Volgens de beschikbare informatie is de downloadpagina van de firmware tijdelijk aangepast. Bezoekers krijgen een mededeling dat er firmwarebeveiligingsproblemen zijn vastgesteld voor geselecteerde releases.
Als voorzorgsmaatregel zouden getroffen firmwareversies tijdelijk zijn verwijderd van de downloadkanalen. Tegelijk geeft de pagina aan dat het engineeringteam bezig is met het ontwikkelen en valideren van beveiligde, gepatchte firmware. Zodra die klaar is, zou er bericht volgen.
De onderzoekers melden dat er contact is opgenomen met de fabrikant voor commentaar, maar dat er geen directe reactie is verwerkt in het verslag op het moment van publiceren.
Wat kun je nu als beheerder doen?
In afwachting van een geverifieerde update adviseren de onderzoekers gebruikers om gericht te controleren en de uitgaande communicatie te blokkeren. Hieronder staan acties die aansluiten op de aanwijzingen uit de melding.
1) Controleer of de processen aanwezig zijn
Bekijk in het procesoverzicht of verdachte of gemaskeerde processen actief zijn. VulnCheck noemt onder meer de volgende bestands- en procesindicaties om op te letten:
- /usr/sbin/kworker
- /usr/lib/librctl.so
- /etc/kworker.cfg
- /etc/init.d/skworker
Als je deze elementen aantreft, is dat een sterke aanwijzing dat de implant (of een varianten ervan) aanwezig is.
2) Check en beperk uitgaand verkeer
Omdat de router zelf contact zoekt met C2-bestemmingen, is egress-blokkering een logische stap. Richt blokkades op de endpoints die VulnCheck beschrijft, zodat de “phone home” route wordt onderbroken.
Werk daarbij met je firewallregels, netwerkscheiding en DNS-beleid. Houd ook rekening met het feit dat een domein-resolutie in de keten kan worden misbruikt; daarom helpt het om zowel IP’s als relevante domeinen mee te nemen in je controles.
3) Implementeer gefaseerd updatebeleid
Wanneer Zbtlink later gepatchte firmware publiceert, is het belangrijk om upgrades niet “blind” uit te rollen. Test firmware bij voorkeur eerst in een gecontroleerde omgeving en verifieer vervolgens dat de verdachte processen en uitgaande verbindingen niet meer terugkomen.
Wil je breder kijken naar hoe dit soort supply-chain of “factory-shipped” risico’s in de praktijk wordt aangepakt? Lees dan ook onze uitleg over supply chain-aanvallen en embedded backdoors.
Waarom dit soort backdoors zo lastig te detecteren is
Het probleem bij dit soort implantaties is niet alleen dat ze “iets achter de schermen doen”, maar dat ze zich proberen te mengen met normale routerfunctionaliteit. Door userland-processen te laten lijken op gangbare werkers, kan traditionele monitoring op procesnamen of simpele heuristiek tekortschieten.
Bovendien is het communicatiepatroon regelmatig en is er geen authenticatie nodig voor commando-opbouw. Daardoor kan het systeem, zodra het contact maakt, direct in uitvoering schieten zodra de server iets terugstuurt.
Vergelijkbare aandachtspunten: commando- en controle en MFA
In het veld zien we vaker dat aanvallen niet alleen op één kwetsbaarheid leunen, maar op een combinatie van toegangspaden en controlemechanismen. Dat maakt het nuttig om ook alert te blijven op misbruik van authenticatieketens en op malware die via “beheerkanalen” niet alleen leest maar ook uitvoert.
Over dit soort patronen (bijvoorbeeld wanneer aanvallen MFA omzeilen) vind je relevant materiaal in lessen rond MFA na een incident.
Conclusie
De melding over een backdoor in Zbtlink laat zien hoe krachtig en ingrijpend een “fabrieksingebouwde” implant kan zijn. ENDLESSDOORS start automatisch, zoekt regelmatig contact met C2 en kan zonder authenticatie een interactieve root shell openen.
Totdat gepatchte firmware beschikbaar is en is gevalideerd, is de beste aanpak: controle op verdachte processen en bestanden, plus het blokkeren van uitgaand verkeer naar de genoemde endpoints. Zo verklein je de kans dat een toestel nog commando’s kan ontvangen en uitvoert.
Bron: https://thehackernews.com/2026/08/chinese-made-zbtlink-routers-ship-with.html
