Onderzoekers van Sucuri hebben een WordPress-backdoor blootgelegd die zichzelf na opschoning telkens weer herstelt. De malware is door de onderzoekers SC gedoopt, naar de “SC_”-markeringen die in de geïnjecteerde code voorkomen, en werkt volgens hen als een zelfherstellend netwerk met een command-and-control-kanaal via de Ethereum-blockchain.
Het kenmerkende van SC is dat de backdoor zich tegelijkertijd op acht plekken nestelt, die elkaar onderling in stand houden. Zo past de malware het bestand .user.ini aan om via auto_prepend_file bij elk PHP-verzoek een loader te laden, plaatst het een primaire loader en een verborgen, met een punt beginnende eerste-fase-loader in wp-content, en verstopt het een gecomprimeerde en base64-gecodeerde payload in wp-content/db.php. Via advanced-cache.php laadt de malware al tijdens het opstarten van WordPress, nog voor plugins worden geladen. Daarnaast plaatst de backdoor een kopie in het thema khorshidi, en nestelt hij zich zowel als must-use plugin als als gewone plugin onder de naam hyper-engine-kit.
Onderzoeker Gabriel Barbosa van Sucuri omschrijft het resultaat als een systeem dat zichzelf blijft herstellen. Verwijder de plugin en een drop-in-bestand herschrijft hem, verwijder dat drop-in-bestand en het thema herschrijft het weer. Zelfs wanneer alle bestanden op de schijf zijn schoongemaakt, herstelt de volgende paginaweergave de hele set vanuit de database of vanuit een shared-memory-segment. De malware gebruikt daarvoor System V shared memory, waardoor een deel van de besmetting alleen in het werkgeheugen van de server bestaat en dus niet op de bestandsschijf terug te vinden is. Verder versleutelt de code zijn functienamen met een eigen substitutiecijfer, verbergt hij zich voor het reguliere pluginoverzicht en voor updatecontroles, maakt hij verborgen beheerdersaccounts aan en registreert hij cron-taken met willekeurige namen om zichzelf opnieuw te activeren.
Met deze toegang kunnen de aanvallers kwaadaardige JavaScript injecteren die bezoekers van de site treft, zoals skimmers die betaalgegevens stelen, willekeurige PHP-code uitvoeren, plugins activeren of deactiveren en aanvullende payloads plaatsen. Hoe de aanvallers in eerste instantie toegang kregen staat nog niet vast. Sucuri noemt de gebruikelijke routes voor WordPress-besmettingen als mogelijke verklaring: kwetsbaarheden in plugins of thema’s, zwakke inloggegevens, een besmette toeleveringsketen of onveilige uploadfunctionaliteit.
Voor beheerders van Nederlandse WordPress-sites is de les dat het verwijderen van een verdacht bestand bij deze backdoor niets oplost zolang de rest van de acht nestelplekken intact blijft. Bij een vermoeden van deze besmetting is een volledige herinstallatie van WordPress, thema’s en plugins vanaf schone bronbestanden nodig, inclusief een grondige controle van de database op kwaadaardige entries en verborgen beheerdersaccounts. Wie op gedeelde hosting zit, doet er daarnaast goed aan om ook de gedeelde serveromgeving te laten controleren, aangezien shared-memory-segmenten besmetting via die weg niet uitsluiten.
Bron: The Hacker News
Wat betekent dit voor jouw bedrijf?
Bij deze backdoor volstaat het opschonen van losse bestanden niet: herinstalleer WordPress, thema's en plugins volledig vanaf schone bronnen en controleer de database op kwaadaardige entries. Draai je op gedeelde hosting, laat dan ook de gedeelde serveromgeving controleren, want de malware kan ook via shared-memory-segmenten blijven voortbestaan.
Blijf op de hoogte
Meld je aan voor de nieuwsbrief: spoedalerts bij kritieke dreigingen en een wekelijks overzicht. Geen mail achterlaten? Volg ons dan via RSS.