SC-malware voor WordPress herstelt zichzelf na opschonen, via Ethereum aangestuurd
Beveiligingsbedrijf Sucuri beschrijft SC, een WordPress-backdoor die op acht plekken tegelijk zit en na opschonen terugkomt. Dit moet je als ondernemer weten.
Beveiligingsbedrijf Sucuri heeft een WordPress-backdoor beschreven die zich na het verwijderen weer opbouwt. De malware heet SC, naar de "SC_"-markeringen in de ingevoegde code. Volgens Sucuri en The Hacker News zit de schadelijke code op minstens acht plekken tegelijk, en kan elke plek de andere weer terugzetten. Wie zijn WordPress-site opschoont door alleen verdachte bestanden te wissen, ziet de besmetting dus terugkomen.
Wat is de SC-malware?
Sucuri omschrijft SC als een zelfherstellend netwerk van loaders, drop-ins en een backdoor die via de blockchain wordt aangestuurd. De code staat verspreid over bestanden van WordPress en het thema, vroeg ladende PHP-instellingen, nagemaakte dubbele plugins en drop-ins, databaseregels, geplande taken, herstelarchieven en gedeeld geheugen op de server.
Het gaat om bekende onderdelen van WordPress, zoals db.php, advanced-cache.php, themabestanden en must-use plugins. Een aanvaller verstopt zich daar omdat die bestanden automatisch worden geladen en bij een snelle controle weinig opvallen.
Hoe komt de malware binnen en blijft hij zitten?
Volgens de beschikbare berichten begint een besmetting vaak met een kwaadaardig .user.ini-bestand met de instelling auto_prepend_file. Daardoor laadt PHP een schadelijk bestand nog voordat WordPress zelf start. Een zichtbare PHP-snippet laadt vervolgens een verborgen bestand dat de hoofdlading opnieuw opbouwt.
Het zelfherstel werkt zo: verwijder je de plugin, dan schrijft een drop-in hem opnieuw weg. Verwijder je de drop-in, dan doet het thema dat. Wis je alle bestanden, dan haalt de eerstvolgende paginaweergave alles terug uit de database of uit een stuk gedeeld geheugen.
Dat geheugen is het lastigste onderdeel. Op servers die System V shared memory ondersteunen, schrijft de malware de lading naar een segment met een vast nummer. Dat segment zit in het werkgeheugen en overleeft daarom het wissen van bestanden en het opschonen van de database. Op shared hosting kan het segment zelfs onder een ander account vallen.
Aansturing via Ethereum
De malware heeft geen vaste server waar een beheerder de verbinding van kan blokkeren. In de lading staat een lijst van ongeveer twintig openbare Ethereum RPC-gateways. Via die gateways leest de malware instructies uit een smart contract. Valt een gateway weg, dan schakelt de malware over op een andere. De aanvallers hebben dus geen enkel punt dat je kunt uitschakelen.
Wat de aanvallers daarmee doen, is ook gedocumenteerd. De backdoor herkent de besmette site, haalt extra onderdelen op, maakt een verborgen beheerdersaccount aan en draait de herinfectielus. Valse inlogcookies en gestolen sessietokens van beheerders houden de toegang open.
Opruimen: eerst stoppen, dan wissen
Sucuri adviseert om eerst de uitvoering te stoppen en pas daarna onderdelen te verwijderen. Vervang eerst het doelbestand van de loader door onschuldige inhoud en haal daarna de instelling weg. PHP kan die instelling tot 300 seconden in het geheugen houden. Verwijder je het doelbestand meteen, dan kan elk PHP-verzoek op het account foutgaan.
Daarna haal je in één keer alles weg: databaselading, instellingen, tijdelijke opgeslagen waarden, kopieën in gedeeld geheugen en kwaadaardige geplande taken. Kijk ook naar databasetriggers voordat je verborgen beheerders verwijdert. Een alternatief is de site opnieuw opbouwen vanuit een schone bron. Bestand voor bestand opruimen verliest het van de herinfectielus.
Wat betekent dit voor jouw website?
Voor een ondernemer met een WordPress-site is de belangrijkste les dat opschonen zonder grondige aanpak niet genoeg is. Heeft je site een besmetting gehad en komt er na het "schoonmaken" weer vreemd gedrag terug, zoals onbekende beheerders of redirects, vraag dan om een volledige analyse in plaats van nog een scan.
Een paar dingen kun je zelf controleren:
- Kijk in je gebruikersoverzicht of er beheerders staan die je niet kent.
- Vraag je hostingpartij of er een
.user.inimetauto_prepend_filein je account staat die jij niet hebt gemaakt. - Controleer of er onbekende plugins, must-use plugins of drop-ins zijn bijgekomen.
- Houd een recente, schone back-up buiten de server, zodat je kunt terugzetten.
- Wissel na een besmetting alle wachtwoorden en beëindig alle open sessies.
Bij een bevestigde besmetting is terugzetten vanuit een schone back-up vaak veiliger dan zelf zoeken naar elk restant. Over de beveiliging van WordPress schreven we eerder in WordPress-beveiliging: wat elke ondernemer moet weten. Op de hoogte blijven van nieuwe lekken staat in ons overzicht van het WordPress-kernlek dat 350.000 sites raakte.
Hulp bij besmetting of beheer
Twijfel je of je site schoon is, of wil je dat iemand structureel meekijkt naar updates, back-ups en verdachte wijzigingen? Bij Infotrends regelen we het onderhoud en beheer van je website, zodat je er niet zelf achteraan hoeft. Meer actueel nieuws vind je op onze nieuwspagina.
Bronnen: Sucuri over SC WordPress Malware, The Hacker News, GBHackers en Cyberpress.
Klaar voor een professionele website?
Wij maken een razendsnelle website op maat, 100% jouw eigendom.
Website laten maken