In China gemaakte Zbtlink-routers worden geleverd met een achterdeur die niet-geverifieerde rootshells opent

Cybersecurity-onderzoekers hebben details onthuld van een ‘door de fabriek geleverde achterdeur’ die is geïmplanteerd in ten minste twintig Chinese routermodellen van Zbtlink.

Volgens een nieuw rapport van VulnCheck verschijnt het implantaat in alle 21 firmware-images die momenteel beschikbaar zijn via Zbtlink en die een periode van meer dan twee jaar bestrijken. De achterdeurtjes zijn zo ontworpen dat ze automatisch starten en zo vaak als elke 35 seconden proberen een signaal te geven aan de Chinese command-and-control (C2)-infrastructuur.

Ze doen zich voor als een Linux-kernelthread, maar zijn in feite gebruikerslandprocessen die draaien met root-privileges, terwijl ze hun ware functionaliteit combineren met andere legitieme kworker-processen. De ‘phone home’-implantaten hebben de codenaam gekregen EINDELOOS DEUREN.

“ENDLESSDOORS is in essentie een kleine tool genaamd rctl (remote control linux)”, zegt Jacob Baines, Chief Technology Officer van VulnCheck. “Geüpload naar GitHub op 14 januari 2015 en nooit meer aangeraakt, implementeert deze obscure repository een eenvoudige command-and-control-client en -server.”

“De server luistert op poort 7000 of clients verbinding kunnen maken. Hij kan de client individuele shell-opdrachten sturen of de client vertellen een omgekeerde bash-shell te spawnen.”

Het werkproces “kworker” dat draait op Zbtlink AX3000 en dat door VulnCheck is geanalyseerd, is een aangepaste versie van rctl die is geconfigureerd om contact op te nemen met het volgende:

  • 47.107.224(.)89
  • rbdg4nzqadui(.)wikaba(.)com

Bovendien is er geen handdruk, onderhandeling of authenticatie bij betrokken. Zodra het implantaat naast het LAN MAC-adres een “hallo”-bericht naar de server stuurt, is het zo ontworpen dat het alles uitvoert wat de server als reactie terugstuurt.

“Eén gereserveerde string, rctlbash, vertelt het implantaat om een ​​tweede verbinding met poort 7001 te openen, een pseudo-terminal toe te wijzen, /bin/sh te spawnen en deze te overbruggen”, legt Baines uit. “Dat is een live interactieve rootshell.”

“De woordenschat van dit protocol bestaat uit twee zinnen: voer dit uit als root en geef mij een rootshell. Iedereen langs het netwerkpad kan de client/server-communicatie kapen. Iedereen die de resolutie van rbdg4nzqadui.wikaba(.)com beheert, of het adres waarnaar het verwijst, kan elk ENDLESSDOORS-implantaat besturen dat probeert naar huis te bellen.”

Een aanvaller kan misbruik maken van deze maas in de wet om de uitgaande rctl-communicatie te kapen en een live root-shell te verkrijgen, en de controle over de router over te nemen zonder bereikbaar te hoeven zijn vanaf internet.

VulnCheck merkte op dat elke firmware vermeld op de downloadpagina van zbtlink.com het rctl-implantaat insluit en het tijdens het opstarten start met een init.d-script met de naam “skworker”. De lijst met betrokken modellen vindt u hieronder:

  • CPE2801
  • WE1026-5G-WD
  • WIJ1326
  • WE2007
  • WE2008-DSIM
  • WIJ2416
  • WIJ3326
  • WE5927
  • WE5931
  • WE5931AC
  • WE826-T3-DSIM
  • WG108
  • WG1602
  • WG1608-DSIM
  • WG209
  • WG2105
  • WG2107
  • WG259
  • WG3526
  • Z8102AX-2DSIM

Van elk van deze modellen is vastgesteld dat ze dezelfde set van vier primaire en secundaire eindpunten bellen:

  • 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)

Op het moment van schrijven krijgen gebruikers die de firmware-downloadpagina op de website van Zbtlink bezoeken het onderstaande bericht te zien:

We hebben beveiligingsproblemen in de firmware gedetecteerd die van invloed zijn op geselecteerde routerfirmware-releases.

Uit voorzorg zijn de getroffen firmwareversies tijdelijk verwijderd van de downloadkanalen. Ons technische team werkt intensief aan de ontwikkeling en validering van beveiligde, gepatchte firmware.

We zullen u onmiddellijk op de hoogte stellen zodra de vaste, door de beveiliging gevalideerde firmware beschikbaar is voor release.

Onze excuses voor het ongemak. Bedankt voor uw begrip.

Toen er contact werd opgenomen voor commentaar, vertelde een woordvoerder van de Chinese routerfabrikant aan The Hacker News dat de functie “uitsluitend bedoeld” is voor onderhoud na de verkoop en geen andere doeleinden dient.

“Het wordt over het algemeen alleen bewaard op voorbeeldeenheden om klanten te helpen bij het debuggen van software”, voegde de woordvoerder eraan toe. “Ons bedrijf is gespecialiseerd in OEM- en ODM-aanpassingsdiensten.”

“Onze klanten gebruiken hun eigen, zelf ontwikkelde software in plaats van de standaardfirmware van ZBT. Klantveiligheid en privacy hebben onze topprioriteit. We nemen dit rapport zeer serieus en werken eraan om de implementatie van een oplossing te bespoedigen.”

In de tussentijd wordt klanten geadviseerd om de proceslijst te controleren, het bestandssysteem te scannen op bestanden als /usr/sbin/kworker, /usr/lib/librctl.so, /etc/kworker.cfg en /etc/init.d/skworker, en de uitgangspunten te blokkeren.

(Het verhaal is na publicatie bijgewerkt met een reactie van Zbtlink.)

Thijs Van der Does