Hoe herken je malware-bestanden binnen je website en hoe los je het op?

We hebben al veel artikelen geschreven over het beveiligen van je WordPress- en Joomla-website. Dit, zodat je weet hoe je malware op je website kunt voorkomen. Ook Patchman helpt je in die strijd. Echter, stel dat je website toch wordt getroffen en de malware diep in je website zit verwerkt. Er zijn dan grondige maatregelen nodig. Hoe herken je malware-bestanden en hoe schoon je ze op?

Hoe herken je malware-bestanden binnen je website en hoe los je het op?

Onze Sitedokter kan het voor je oplossen, maar je kunt er ook voor kiezen om er zelf mee aan de slag te gaan. In dit artikel zullen we je laten zien hoe je malware kunt opzoeken, herkennen en opschonen, zodat deze bestanden geen overlast meer kunnen veroorzaken. Denk bij overlast aan het versturen van SPAM, het tonen van een gehackte pagina of het hosten van phishing-pagina’s. Houd er rekening mee dat je dit stappenplan ook zult moeten uitvoeren om een structurele oplossing te bereiken.

Inhoudsopgave

1. Wat zijn gevolgen van malware?

De aanwezigheid van malware op een website kan verspreiding van meer malware binnen hetzelfde hostingpakket tot gevolg hebben. Eén malware-bestand kun je snel en eenvoudig opschonen, maar dit kan al snel verspreiden tot veel grotere hoeveelheden. Een aantal mogelijke gevolgen hiervan zal ik nu bespreken.

1.1 Het versturen van SPAM

Het meest bekende gevolg is het versturen van grote hoeveelheden SPAM door middel van een malafide script. Dit kan door een los malware-script worden gedaan, maar ook via malafide code die is toegevoegd binnen een legitiem website-bestand.

1.2 Aanpassingen aan de website

Een andere mogelijkheid is dat de malware een andere voorpagina plaatst op je website of dat het functionaliteit ‘breekt’. De toevoeging van malafide code aan een legitiem bestand kan er ook voor zorgen dat een deel van de website niet goed werkt. Bijvoorbeeld, de footer van je website, indien er malafide code is toegevoegd aan het footer.php-bestand van het thema dat je gebruikt.

1.3 Redirects en phising-pagina’s

De malware kan ook bezoeker doorsturen naar een externe website. Dit betreffen dan vaak websites met advertenties, prijsvragen, spellen of websites met een pornografische aard.

Zowel op het hostingpakket zelf als met behulp van een doorverwijzing, kan de malware bezoekers verder ook naar phishing-pagina’s leiden. Dit betreffen pagina’s waar je bijvoorbeeld je creditcardgegevens moet invoeren. Het invoeren van betalingsgegevens op phishing-pagina’s kan tot grote problemen leiden, bijvoorbeeld dat een kwaadwillende toegang verkrijgt tot je bankgegevens.

Ter kennisneming
Indien er malware op een website wordt ontdekt, zal er ter bescherming van argeloze bezoekers de pagina tijdelijk worden afgeschermd met een wachtwoordbeveiliging. Hierdoor kan er geen SPAM meer worden verstuurd en voorkom je dat bezoekers in aanraking komen met de malafide pagina’s. Dit geeft de beheerder van de website de mogelijkheid om de problemen op te lossen.

2. Hoe kun je website-bestanden controleren?

Je kunt je website-bestanden via de ‘File Manager’ in DirectAdmin controleren. Hiervoor log je eerst in op DirectAdmin. Daarna klik je op ‘File Manager’ (of op ‘Files’ bovenaan). Ga vervolgens naar de map ‘public_html’ van je domeinnaam. Daar staan alle bestanden van je website.

Het herkennen van malware-bestanden binnen je website: bestanden controleren met de File Manager van DirectAdmin

De inhoud van een bestand kun je bekijken door bij een bestand op ‘Edit’ te klikken, onder de kolom ‘Action’. Hier staat dan de code van het betreffende bestand. Malware wordt vaak in PHP-bestanden geplaatst. Dat zul je dan ook het meest tegenkomen bij het opschonen van je website. Zeker als je een populair CMS, zoals WordPress of Joomla, gebruikt. Er kunnen tevens ook redirects en links naar malafide pagina’s in HTML-bestanden worden geplaatst.

2.1 Bestanden bewerken

Naast het bekijken van de code kun je ook de bestanden aanpassen. Na het bewerken, klik je rechts onder in beeld op ‘Save as’. Houd er rekening mee dat het bestand dan per direct is aangepast. Mocht de wijziging voor problemen zorgen, dan zul je dus een backup terug moeten zetten.

Om gemaakte aanpassingen snel te kunnen herstellen, kun je van bestanden waar je over twijfelt ook eerst een kopie maken. In de kolom ‘Action’ vind je daarvoor de optie ‘Copy’. Daar geef je dan een nieuwe naam voor de kopie van het bestand op. Zo kun je van het bestand ‘index.php’ een kopie maken en deze bijvoorbeeld ‘index.php.tmp’ noemen.

Indien de aanpassing aan index.php dan niet goed blijkt te zijn, dan kun je de kopie terugplaatsen. Bij ‘index.php.tmp’ kies je dan voor ‘Rename’, waar je vervolgens ‘index.php’ invoert. Zet daar een vinkje bij ‘Overwrite if file exists’, zodat het andere bestand wordt overschreven.

Als je vermoedt dat een bestand volledig uit malware bestaat, maar je niet weet of dit bestand nodig is voor je website, dan kun je hem ook eerst hernoemen met ‘Rename’. Test daarna of de website nog goed werkt. Zo weet je gelijk of het bestand noodzakelijk is voor de werking van je website of dat je deze kunt verwijderen.

TIP!
Het is ook mogelijk om bestanden te bekijken en aan te passen met behulp van een FTP-programma, bijvoorbeeld FileZilla. Hiervoor klik je met de rechtermuisknop op ‘Edit’, waarna je het bestand kunt bekijken en aanpassen via een ‘editor’ die op je PC staat. Houd er rekening mee dat je het bestand na het aanpassen wel opnieuw zult moeten uploaden naar de server.

3. Hoe herken je malware-bestanden?

3.1 De bestandsnaam

Het eerste wat kan opvallen, is de bestandsnaam. Bestanden die bestaan uit een reeks willekeurige letters en cijfers bestaan in de meeste gevallen volledig uit malware. Hieronder een aantal voorbeelden van bestanden die we recentelijk zijn tegengekomen:

5396293531.php
73f8c1af4c.php
glotir.php

3.2 De aanwezigheid van .zip-bestanden

Controleer je /public_html/-map tevens op aanwezige .zip-bestanden en mappen die daar niet thuis horen. Deze .zip-bestanden worden doorgaans uitgepakt en creëren daarmee een nieuwe map met malware. Deze .zip-bestanden hebben tevens mappen met dezelfde naam aangemaakt op het betreffende pakket. Enkele voorbeelden:

botia.zip
wobkt.zip

3.3 Bestandsnamen met nummers

Er zijn ook bestanden, waarbij een op het oog normale bestandsnaam wordt gebruikt met een nummer erachter. Dit betreffen ook vaak malware-bestanden. Een aantal voorbeelden:

cache48.php
template456.php
session42.php
general32.php

3.4 Controle van code

Binnen je /public_html/-map zijn er met een getraind oog ook malware-bestanden te vinden die in de eerste instantie niet direct opvallen. Door de code van het bestand te bekijken, kun je uiteindelijk concluderen of het daadwerkelijk malware is. Bijvoorbeeld:

indexx.php 
ganteng.php
general.php
script.php

Er kunnen ook bestanden aanwezig zijn, zoals wp-info.php of wp-mails.php, die legitiem lijken doordat ze een soortgelijke naamstructuur hanteren als bestanden van WordPress zelf, maar niet tot een standaard WordPress-website toebehoren. Door dit te vergelijken met een bijvoorbeeld tweede (test-)installatie kun je achterhalen welke bestanden er daadwerkelijk bij je WordPress-installatie horen en welke niet.

3.5 De bestandslocatie

Tot slot kan de locatie van bestanden verklappen of het een legitiem bestand betreft of niet. Zo zullen PHP-bestanden in een upload-map van je afbeeldingen geen legitieme bestanden zijn. Bijvoorbeeld:

/public_html/wp-content/uploads/2016/12/footer.php
/public_html/wp-content/uploads/2016/index.php

Ook bestanden die legitiem lijken, maar op een onjuiste locatie staan, bijvoorbeeld wp-config.php in een andere map dan de /public_html/-map, hebben een grote kans om schadelijke bestanden te zijn. Controleer hier altijd eerst de inhoud van, voordat je deze verwijdert.

4. Hoe herken je malafide code?

Als je nog niet zo bekend bent met de code van je website-bestanden, dan is het lastig om malware direct te herkennen. Vandaar geef ik je graag een aantal tips die je daarbij verder kunnen helpen.

Hoe herken je malafide code en hoe ruim je het op?

Wanneer je de inhoud (code) van de bestanden controleert, dan zullen daar bestanden tussen zitten die volledig uit malware bestaan. Er zijn ook bestanden waar malafide code is toegevoegd aan een legitiem bestand. Uiteraard kun je ook legitieme bestanden bekijken. Alle drie de mogelijkheden staan hieronder verder toegelicht.

4.1 Malware-bestanden

Deze bestanden bestaan volledig uit malafide code. Dit is te herkennen aan vreemde tekst en tekens in de code. Ook het veelvoudig gebruik van $GLOBALS is zeer opvallend. Het gaat bijvoorbeeld om de volgende onderdelen die in de code staan:

\x47\x4c\x4fB\x41\x4c\x53
$GLOBALS[$GLOBALS['u5d51e'][83].$GLOBALS['u5d51e'][72].$GLOBALS

Een voorbeeld van een dergelijk bestand zie je in het screenshot hieronder.

Het herkennen van malware-bestanden binnen je website: een voorbeeld van een spamscript

Malware is ook te herkennen aan lange reeksen letters en cijfers. Het onderstaande voorbeeld bevat een lange regel met dergelijke malware code. Hierdoor kun je het bestand een heel eind naar rechts scrollen.

Het herkennen van malware-bestanden binnen je website: een voorbeeld van een spamscript met een cijferreeks

Het volgende bestand, glotir.php, bevat code over server-verbindingen en bevat vele vreemde tekens. Samen met de titel is dit een duidelijk geval van malware.

Het herkennen van malware-bestanden binnen je website: een voorbeeld van een spamscript met malafide code

4.2 Code-injectie

Naast bestanden die volledig uit malafide code bestaan, kan er ook malafide code worden toegevoegd aan legitieme bestanden. We spreken dan van code-injectie. In dat geval zul je alleen de malafide code uit het bestand moeten verwijderen. Het legitieme bestand moet namelijk blijven bestaan voor de werking van je website. Maak van het bestand eerst een backup of kopie, indien je niet zeker weet of je wijziging correct is.

In de meeste gevallen bevindt de geïnjecteerde code zich op de eerste regel en betreft het één lange reeks. De PHP-bestanden beginnen dan met een <?php, gevolgd door de regel met malware. Na de regel komt <?php opnieuw voor. Dit is dan namelijk het begin van het legitieme bestand. Houd er dan rekening mee dat dit stukje code aanwezig is, zodat het legitieme bestand blijft werken.

Het herkennen van malware-bestanden binnen je website: een voorbeeld van code-injectie

In het screenshot hierboven zie je dat de geïnjecteerde malafide code in dit bestand in de eerste instantie niet zichtbaar is. Totdat je volledig naar rechts scrollt, zie het screenshot hieronder.

Het herkennen van malware-bestanden binnen je website: een voorbeeld van code-injectie

Soms bevindt de code-injectie zich niet precies op de eerste regel, maar iets later in het bestand. In de volgende afbeelding zie je een code-injectie op basis van een ‘include’ in een wp-config.php-bestand.

Het herkennen van malware-bestanden binnen je website: een voorbeeld van code-injectie op basis van een include

Wanneer je meerdere WordPress-thema’s hebt geïnstalleerd, kan het zijn dat hetzelfde bestand binnen elk thema is aangepast. Controleer dan voor elk thema in ieder geval de bestanden header-, footer- en index.php.

4.3. Legitieme bestanden

Naast bestanden die malafide code bevatten, zullen er nog vele legitieme bestanden aanwezig zijn op je pakket. Wanneer je een beetje bekend bent met de code zul je deze kunnen herkennen.

Als je echter niet bekend bent met de code, dan kun je ook eens kijken wanneer de bestanden op je pakket voor het laatst zijn aangepast. De aangetaste bestanden met malware zijn vaak meer recent aangepast dan de legitieme bestanden.

Dit kun je controleren door op de kolom ‘Date’ in de File Manager te klikken. Bestanden worden dan gesorteerd op wanneer ze het laatst zijn aangepast.

TIP!
Merk op dat het zo kan zijn dat bestanden die malafide code bevatten al langere tijd aanwezig waren op het pakket en pas na periode X zijn misbruikt. Vertrouw dus niet blind op de laatst aangepaste bestanden en controleer ook oudere verdachte bestanden.

Ik kom er niet uit, wat nu?

Er zijn plugins beschikbaar die malware-bestanden opsporen en soms ook kunnen opschonen. Naast het gebruik van deze plugins is het echter goed om ook zelf de bestanden handmatig op je pakket te controleren om te zien dat er niets is gemist. Voor WordPress adviseren we deze malware-scanner en Wordfence. Voor Joomla raden we Antivirus Website Protection aan.

Als je totaal onbekend bent met de code van je website of als je er geen tijd voor hebt om alle bestanden te controleren, dan kunnen wij dat werk je middels onze Sitedokter-dienst ook uit handen nemen. Daarnaast voeren we ook extra beveiligingsmaatregelen en updates uit. Benieuwd wat wij hierbij voor je kunnen betekenen?

Meer over de Sitedokter →

P.S. Wil je op de hoogte blijven van alle artikelen, updates, tips en trucs die verschijnen op ons blog? Dat kan! Rechts bovenin via RSS, e-mail, het liken op Facebook, het +1’en op Google+ of het volgen op Twitter.

Deel App Tweet Mail Deel

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *