WPLounge
Scannen op malware
Home » Tutorials » WordPress database scannen op malware

WordPress database scannen op malware

Als je te maken krijgt met een malware-infectie op je website, is het goed mogelijk dat de database ook is geïnfecteerd. Mocht dat het geval zijn, dan is het opschonen van bestanden niet voldoende. Hoe je de WordPress database kunt controleren op malware leggen we in dit artikel uit.

Affiliate disclaimer:
In onze artikelen en op onze pagina's staan affiliate links. Wanneer je via één van deze links een aankoop doet, ontvangen wij een (meestal kleine) commissie van de verkoper. Wij geven altijd onze eerlijke mening over producten. Klik hier voor meer informatie.

Malware of malicious software (kwaadaardige software) is een term dat staat voor allerlei schadelijke software die hackers gebruiken om toegang te krijgen tot je website. Het doel is vaak om toegang te verschaffen tot gevoelige informatie of om de website te besmetten met allerlei schadelijke spam.

Scannen op malware

Voordat je begint met het scannen en opschonen van de database is het belangrijk dat eerst de WordPress bestanden worden opgeschoond. Wanneer dit niet is gebeurd, injecteren de besmetten bestanden eenvoudig nieuwe malware in de database. Er zijn verschillende mogelijkheden om WordPress bestanden vrij te maken van malware, onder andere door gebruik te maken van een WordPress plugin.

TIP VAN WPLOUNGE
Divi theme & Divi Builder
Bij Elegant Themes ontvang je meer dan
85 premium WordPress themes (waaronder Divi!) voor maar 89 dollar!

Bekijk de themes »»
Lees meer over Divi.

Zorg voor een backup van de database en WordPress-bestanden voordat je begint met het herstellen van de website . In het geval dat er iets misgaat kun je altijd terug naar de oude situatie, een website met malware is altijd nog beter dan geen website.

Hoe scan je je WordPress database op malware?

Het scannen van je WordPress-database vereist enige technische kennis. Vanwege de ernst van een malware infectie, adviseren we om altijd een expert in te schakelen. Het is mogelijk om contact op te nemen met WPLounge voor advies. Afhankelijk van de ernst van de situatie kunnen wij de website opschonen. Om toch zelf aan de slag te gaan, volg dan de volgende stappen die nodig zijn om de malware te verwijderen.

Handmatig naar malware code zoeken

Malware bestaat vaak uit een reeks bekende PHP-functies om toegang te verschaffen tot kwetsbare WordPress websites. De eerste stap is om naar deze veelgebruikte PHP-functies te zoeken in de database. Wanneer deze aanwezig zijn is dat een aanwijzing dat de database malware bevat. En in het geval dat de website redirect naar links met spam, moet je controleren of deze URLs in de database staan.

Exporteren van je WordPress database

Om je database te onderzoeken op malware, is het nodig om eerst de database te exporteren. Met behulp van de databasetool van je hostingprovider kan je de export uitvoeren. In dit artikel maken we gebruik van DirectAdmin om de database te exporteren. Login via DirectAdmin en ga naar Your Account > MySQL Management

Start MySQL Management
Start MySQL Management

In het volgende scherm selecteer je de database van je website, en klik je op ‘SQL‘ om de database te downloaden.

Download database
Download .sql database

Wanneer de .SQL-download is voltooid, open je deze in een tekst editor zoals Notepad of Notepad++. Hier zoeken we naar kwaadaardige code.

Waar gaan we naar zoeken?

Om de WordPress database te scannen op malware is het belangrijk om te zoeken naar de twee meest voorkomende database infecties:

  • PHP-functies die regelmatig worden gebruikt door malware
  • Onbekende URLs en links, iframes en andere ongebruikelijke code

Verschillende PHP-Functies te herkennen als malware

Er zijn een aantal PHP-functies en commando’s waar ontwikkelaars van malware veel gebruik van maken. Laten we de belangrijkste eens op een rij zetten.

  • shell_exec: met dit commando kan malware opdrachten uitvoeren via het besturingssysteem van de server. Shell is de laag op een Unix-systeem die opdrachten zal verwerken. Omdat hierdoor een hele server overgenomen kan worden, is het gebruik van dit commando een belangrijk middel.
    • Zoek in de database naar: “shell_exec(” of “shell_exec (” – let op de spatie!
  • base64_decode: deze functie wordt gebruikt voor het decoderen van gegevens. Het is echter zeer onwaarschijnlijk dat WordPress code gecodeerde functies bevat. Dus bij het gebruik van base64_decode wil iemand blijkbaar kwaadaardige code verbergen. Heel vaak is de verborgen code malware.
    • Zoek in de database naar: “base_decode(” of “base_decode (“
  • error_reporting(0): hiermee worden fouten in de code niet weergegeven of weggeschreven in een logbestand. Dit kan een aanwijzing zijn dat de malware verschillende PHP-code uitprobeert maar alle fouten wil verbergen om te voorkomen dat de website eigenaar de fouten kan zien.
    • Zoek in de database naar: “error_reporting(0)” of “error_reporting (0)”
  • eval: dit commando probeert iedere string te verwerken als geldige PHP-code. Dat is niet wenselijk omdat deze oplossing erg gevaarlijk kan zijn. Ook vanuit php.net wordt het afgeraden waardoor de meeste programmeurs dit commando vermijden. Is het toch aanwezig in je database? Dan is het vermoedelijk malware.
    • Zoek in de database naar: “eval(” of “eval (“
  • gzinflate: net zoals base_64_decode wordt de gzinflate functie gebruikt om gegevens te coderen en te decoderen. Een open source platform zoals WordPress maakt hier normaal gesproken geen gebruik van. Dus de aanwezigheid van deze functie is op z’n minst verdacht te noemen.
    • Zoek in de database naar: “gzinflate(” of “gzinflate (“

Dit is niet een volledige lijst van functies, het kan zijn dat de malware andere PHP-functies gebruikt.

Onbekende URLs of iframes

Naast het database onderzoek is het ook verstandig om de source code van je WordPress website te bekijken. Vaak bevinden zich daar kwaadaardige iframes en links wanneer de website is besmet met malware. Deze zijn te vinden door de websitecode te onderzoeken. Wanneer je vermoedt dat de website is besmet, kan je de code het beste bekijken met een online source code viewer. Dit om te voorkomen dat de malware zich verder naar je computer verspreid.

Online source code viewer
Bekijk de source code online

Doorzoek de source code zorgvuldig op verdachte teksten, en bekijk vooral alle ‘iframe’ tags omdat malware hier vaak gebruik van maakt. Noteer tijdens het zoeken alle iframes, links en verdachte HTML. Verdachte HTML code is bijvoorbeeld een stukje HTML code die geen relatie heeft met jouw website. Het bevat bijvoorbeeld links naar crypto websites terwijl je website over tuingereedschap gaat.

De WordPress-database doorzoeken

In het geëxporteerde SQL-database bestand zoeken we eerst naar alle PHP-functies die we eerder hebben genoemd. Dus de functies die vaak door malware gebruikt wordt. Hierna zoek je de verdachte iframes en HTML code die je hebt geïdentificeerd in de source code. Als je verdachte code in je database vindt, is deze zeer waarschijnlijk geïnfecteerd met malware.

De database opschonen

Als uit de zoekopdrachten blijkt dat de database is besmet met malware, dien je de juiste stappen te ondernemen om de database op te schonen. De beste methode is om de database te herstellen naar een tijd van vóór de infectie. Als er via de hostingprovider (automatische) WordPress backups worden gemaakt is het vrij eenvoudig om even een backup terug te plaatsen.

Is er geen backup beschikbaar of is de laatste backup ook besmet geraakt? Dan kunnen we zelf aan de slag door de kwaadaardige code te verwijderen uit de database. Je hebt hier echter wel enige technische kennis voor nodig en ervaring met de database tool phpMyAdmin. Start phpMyAdmin via DirectAdmin om de database van de website te openen.

Start phpMyAdmin
Start phpMyAdmin

Met behulp van phpMyAdmin kan je de records opzoeken die we gevonden hebben bij de zoektocht naar verdachte code en php-functies. Stel dat er een link naar ‘www.spamwebsite.nl‘ op de website is gevonden. Die gaan we nu opzoeken in de database.

In phpMyAdmin gaan we nu opzoek naar de spamwebsite link. Klik hiervoor op ‘Zoeken‘ en geef de spamwebsite op als zoekterm (1). Geef de optie mee om te zoeken naar ‘ten minste één van de woorden‘ (2). Selecteer alle tabellen van de database (3) en klik op starten (4).

Wanneer er een record is gevonden heb je de mogelijkheid om naar het record te gaan of deze direct te verwijderen.

phpMyAdmin zoekresultaten
2 records gevonden!

Klik op ‘verkennen‘ om het record te bekijken en daarna te beslissen om de link te verwijderen. Herhaal dit proces voor iedere verdachte code die je tijdens de zoekopdracht hebt gevonden.

Tot slot

Als de database is besmet met malware, volg dan de stappen in deze handleiding om je te helpen bij het opschonen van de website. Wees voorzichtig bij het verwijderen van de database tabellen, verkeerde records verwijderen kan leiden tot een niet werkende website. Als je niet zeker weet of iets malware is, wil een zoektocht via Google wel eens helpen. WPLounge kan ook hulp bieden bij het opschonen van de website, neem contact met ons op en vraag naar de mogelijkheden.

Beoordeel dit artikel

Mark Hagendijk

Mark biedt technische ondersteuning voor WordPress. Zo nu en dan maakt hij graag tijd vrij om een bijdrage te leveren aan WPLounge.

Reageer