WordPress website gehackt? Wij helpen je om van de malware af te komen!

Is je WordPress website gehackt? Geen nood! Wij kunnen je helpen je om van de malware af te komen! Met onze tips is het mogelijk zelf van de geplaatste malware af te komen, maar het blijft wel zo dat je enige technische kennis van WordPress, databases en een FTP server nodig hebt. Kom je er niet uit? Dan kunnen wij voor een eenmalig bedrag van €99,- je WordPress website ook voor je schoonmaken en verlossen van de malware, of andere hacker troep. 😉

Symptomen dat je WordPress website gehackt is

  • Je ziet dat je website niet meer de oude is, en hackers een compleet andere site laten draaien op jouw domeinnaam, bijv. een zwarte achtergrond met een hackers logo etc.
  • Vaak plaatsen hackers links op je website die al dan niet verborgen zijn. Deze linken vaak door naar porno, gok of viagra websites en worden opgepikt door Google.
  • Stel je zoekt in Google naar je eigen website, dan kan het zijn dat daar andere informatie staat die niet bij jouw website hoort.
  • Al het verkeer op van je website worden geredirect (d.w.z. doorgestuurd naar een andere site).
  • Er wordt door middel van je site veel SPAM verstuurd. In de meeste gevallen zal je door je hostingbedrijf op de vingers getikt worden dat er teveel mail wordt verstuurd van je domein.
  • Het zoekverkeer van je site komt in gevaar omdat onze vriend Google je WordPress website niet meer in de zoekresultaten toont.

Hoe wordt je WordPress website gehackt?

Nou, om je WordPress website te hacken hebben hackers een aantal manieren om binnen te komen. Ze doen dit meestal door een bestand op je server te uploaden of te bewerken.
Globaal gezien zijn er een 3 tal scenarios mogelijk waardoor hackers toegang krijgen tot je website:

  1. Onveilige wachtwoorden; de meeste WordPress hacks die wij tegenkomen hadden voorkomen kunnen worden door veiligere wachtwoorden te kiezen.
  2. Updates; wanneer je WordPress, je plugins en je thema niet of zelden updated, loop je een grote kans om gehackt te worden.
  3. Onveilige thema’s/plugins; soms kan je website up-to-date zijn, maar nog steeds een onveilig thema of plugin bevatten. Schaf een plugin of thema daarom altijd aan vanaf een betrouwbare website.

Je WordPress website weer schoonmaken

De bezem gaat erdoor en we gaan zorgen dat je website weer schoon wordt. Het hackergespuis dat toegang heeft gehad tot je WordPress website, heeft hoogstwaarschijnlijk bestanden toegevoegd of gewijzigd, je wachtwoorden aangepast en mogelijk nieuwe gebruikers toegevoegd. Wanneer je één van deze zaken niet opmerkt en verwijderd, hebben alle andere acties die je gaat ondernemen totaal geen zin, want de hacker kan dan namelijk nog steeds toegang verkrijgen en opnieuw schade aanrichten. Het verwijderen van alle troep, code en het opschonen van de site moet dus wel grondig en serieus worden genomen.

We gaan alle stappen zo eenvoudig mogelijk uit leggen, maar enige technische kennis van WordPress, de FTP server en de database is wel een vereiste. Zorg dat je in elk geval een beheerders-account hebt in WordPress, en dat je FTP-toegang hebt (en dat je weet hoe FTP werkt), en dat je met een programma zoals phpMyAdmin (via je hosting panel) bij de database kunt komen.

Het stappenplan voor de grote schoonmaak:

  1. Scan je computer
  2. Wijzig alle wachtwoorden
  3. Toegang blokkeren
  4. Backup maken van je gehackte WordPress website
  5. Zoek naar de oorzaak van je gehackte WordPress website
  6. Bestanden opschonen en verwijderen van je gehackte WordPress website
  7. WordPress core opschonen
  8. Plugins opschonen > (wp-content/plugins)
  9. Thema updaten > (wp-content/themes)
  10. Overige bestanden controleren > (wp-content)
  11. Zoeken naar .htaccess
  12. Gebruikers opschonen
  13. Live zetten en testen
  14. Updaten

Scan je computer

Malware kan je WordPress infecteren op verschillende manieren, 1 daarvan is een computervirus dat je FTP wachtwoord doorspeelt aan een hacker. Dit komt eigenlijk best vaak voor. Dus als allereerste stap is het belangrijk dat we zeker weten dat je computer virus vrij is. We adviseren om je computer met bijv. Malware Bytes te scannen, en daarna om het zeker te weten met bijvoorbeeld AVG.

Wijzig alle wachtwoorden

Nu dat je computer virusvrij is gaan we je controlepaneel en FTP wachtwoord veranderen. (dit kun je vanuit het beheerscherm doen bij je webhost). Zorg ervoor dat je nieuwe wachtwoord willekeurig is, met tenminste 1 speciaal karakter zoals !#<%, en mix kleine en grote letters met getallen. Een goed voorbeeld is Bf@*&Aa)Cg!

Toegang blokkeren

Het is belangrijk dat je je WordPress website tijdelijk gaat blokkeren voor bezoekers. Hackers kunnen namelijk terwijl lekker bezig bent met de grote schoonmaak opnieuw de site infecteren met malware.

We gaan nu via de FTP server op zoek naar je .htaccess bestand (in de root – begin van je server waar alle bestanden staan). en kun je de volgende regels toevoegen om één specifiek IP-adres toe te laten (bekijk wat jouw IP-adres is op WhatIsMyIPAddress.com) en plaats deze in het bestand en sla deze op. Daarna zet je deze weer terug op de server:

order deny,allow
deny from all 

allow from 178.233.121.332

Backup maken van je gehackte WordPress website

We gaan eerst een backup maken van je site. Je gaat je WordPress website grondig opschonen, en dat betekent dat je ook wel eens teveel kan verwijderen. In zo’n geval is het altijd handig om een backup achter de hand te hebben, zodat je deze snel weer terug kunt zetten. Zorg ervoor dat je alle bestanden en de database toevoegt aan de backup.

Een backup maak je gemakkelijk met 1 van de vele beschikbare backup plugins die verkrijgbaar zijn voor WordPress. Bijvoorbeeld:

Zoek naar de oorzaak van je gehackte WordPress website

Het is belangrijk dat je zo snel mogelijk achter de oorzaak weet te komen van de hack en hoeveel impact deze heeft op je site en plugins.

Zoek al je gebruikte plugins, thema en WordPress versie op in de WPScan Vulnerability Database en kijk of er lekken bekend zijn voor de versies die op jouw WordPress website geïnstalleerd staan.
Controleer je website bij Google: http://www.google.com/safebrowsing/diagnostic?site=www.example.com (waarbij je het laatste gedeelte vervangt door je eigen domeinnaam)

Bestanden opschonen en verwijderen van je gehackte WordPress website

Een hacker kan een bestand plaatsen of bewerken in zo’n beetje elke map op je server; dus niet alleen in de map van bijv. de plugin of thema. Dit betekent dat je werkelijk alle mappen en bestanden zou moeten langslopen, en dat gaan we niet doen. We zijn gekke Henkie niet! Gelukkig kun je je veel werk besparen met deze stappen:

1. WordPress core opschonen (wp-admin en wp-includes)

Log in met FTP en ga naar de map van je WordPress website. In de root van je WordPress website staan deze drie mappen: ‘wp-admin’, ‘wp-content’ en ‘wp-includes’. In de map ‘wp-content’ worden alle specifieke wijzigingen van jouw WordPress website bewaard, maar ‘wp-admin’ en ‘wp-includes’ bevatten alleen maar bestanden van de WordPress core; bestanden die alleen maar  wijzigen als er een nieuwe versie van WordPress uitkomt.

Om er in één klap zeker van te zijn dat er door hackers geen bestanden gewijzigd of geplaatst zijn in de WordPress core, kun je de mappen ‘wp-admin’ en ‘wp-includes’ met een gerust hart verwijderen, en een schone versie van deze mappen terugzetten door WordPress opnieuw te downloaden.

Je WordPress structuur ziet er zo uit:

wp-admin
wp-content
wp-includes
index.php
license.txt
readme.html
wp-activate.php
wp-blog-header.php
wp-comments-post.php
wp-config.php
wp-config-sample.php
wp-cron.php
wp-links-opml.php
wp-load.php
wp-login.php
wp-mail.php
wp-settings.php
wp-signup.php
wp-trackback.php
xmlrpc.php

Delete dus alles wat je hierboven ziet behalve de wp-content folder, en het wp-config.php bestand.

Je WordPress installatie ziet er nu zo uit:

wp-content
wp-config.php

Upload de mappen ‘wp-admin’ en ‘wp-includes’ van het zojuist uitgepakte zip-bestand van nl.wordpress.org.
Pas goed op dat je niet het wp-config.php overschrijft!!!

Staan er nog andere bestanden en mappen in de root van je website? Loop deze kritisch langs en kijk of je ze thuis kunt brengen; Zo niet, dan zijn ze misschien door de hacker geplaatst. Overleg bij twijfel met je hosting-partij. Soms wordt een map als ‘stats’, ‘webstats’, ‘logs’ en ‘cgi-bin’ door je hosting-partij voor-geïnstalleerd. Kijk in elk geval altijd even in deze mappen en zoek naar bestanden die eindigen met ‘.php’. Die horen daar namelijk niet altijd thuis.

In je bijv. je DirectAdmin controlepaneel (van je webhosting) ga je naar> File Manager, click op je wp-config.php bestand om deze te bewerken. Zorg ervoor dat er geen vreemde codes in staan of vreemde tekens. Als er al malware in dit bestand staat, ziet het er over het algemeen uit als een lange string met tekst. Bij twijfel kun je jouw wp-config.php vergelijken met het voorbeeld bestand wp-config-sample.php uit de gedownloade .zip.

2. Plugins opschonen > (wp-content/plugins)

Voor plugins zijn, net als de WordPress core, originele schone versies te vinden in de WordPress plugin repository. Het kan echter zo zijn dat daar niet al je plugins vandaan komen; premium plugins schaf je bijvoorbeeld ergens anders aan. Premium plugins zijn bovendien niet altijd automatisch te updaten. Hoe dan ook, om er zeker van te zijn dat je hele plugin-folder schoon is, zul je alle originelen moeten traceren.

Wanneer we naar de wp-content folder gaan hoort dit er zo uit te zien:

plugins
themes
uploads
index.php

Maak een lijst van alle plugins die je gebruikt op de site, verwijder daarna de plugins folder en index.php bestand. Je moet je plugins opnieuw installeren na het opschonen.

3. Thema updaten > (wp-content/themes)

Ga nu naar de themes folder en verwijder thema’s die je niet gebruikt. Let op: WordPress thema’s bevatten soms maatwerk aanpassingen van jezelf of je website bouwer. Die aanpassingen gaan verloren wanneer je je thema update, tenzij de aanpassingen van je thema in een aparte map zijn bewaard door het gebruik van een child theme.

Bevat je WordPress website geen child theme? Dan heb je in elk geval nog de mogelijkheid om je thema te updaten zoals uitgelegd in de vorige stap, al gaat al het maatwerk dan wel verloren. Wil je dit behouden, dan kun je deze gelegenheid aangrijpen om die wijzigingen eerst in een child thema onder te brengen. De child theme handleiding van WordPress legt uit hoe (let op: niet eenvoudig).

Bevat je WordPress website wel een child theme? In dat geval kun je je WordPress thema prima updaten zoals uitgelegd in de vorige stap. Je moet nu individueel elk bestand checken in je huidige thema + evt. child theme, om er zeker van te zijn dat er geen malware of kwaadaardige codes in staan.

4. Overige bestanden controleren > (wp-content)

Je hebt nu zoveel mogelijk opgeschoond zonder nauwkeurig te kijken, maar er zijn altijd wat bestanden en mappen die je met de hand langs moet lopen.

Zoek naar .php, .asp, .exe, en .sh bestanden in de map wp-content/uploads. Deze horen daar niet. Het kost even tijd, maar vergeet niet om alle submappen te controleren.
Sommige plugins plaatsen een eigen map in de wp-contents map na installatie. Dit is niets om je zorgen over te maken, maar loop ook deze mappen door op bovenstaande bestanden.

Zijn er php-bestanden waarvan je geen origineel meer hebt, dus die je met de hand moet nalopen? Denk aan php-bestanden in de wp-contents map, je child thema, of wp-config.php in de root. Neem de volgende stappen:

Open ze in een tekst-editor en scroll alle kanten op; soms zetten hackers hun code in het bestand ‘buiten beeld’ door deze een heel eind naar rechts te zetten, of een heel eind naar onder.
Ga verder op zoek naar verontrustende code. Zoek naar termen als ‘eval’, ‘exec’, ‘base64’, ‘hash’, ‘decode’ en ga na of je code aantreft die er niet hoort te staan. (dit zie je snel genoeg, dit wijkt namelijk meestal sterk af van de normale code)

Twijfel je? Kopieer een stukje van de code en zoek er eens naar op Google. Soms stuit je gelijk al op allerlei malware forums, waardoor je weet dat de code geen zuivere koffie is.

5. Zoeken naar .htaccess

Met een .htaccess-bestand kun je heel veel server-instellingen configureren. Als een hacker dit bestand aanpast kan dit dus zeer schadelijk zijn voor de werking van je WordPress website. In de root van je WordPress website staat altijd een .htaccess-bestand, maar in principe kan er in elke map op je website eentje staan. Zoek daarom met een FTP-programma naar ‘.htaccess’ in alle mappen op je website.

Het .htaccess-bestand in de root van je website bevat in principe enkel de volgende regels:

# BEGIN WordPress

RewriteEngine On
 RewriteBase /
 RewriteRule ^index\.php$ - [L]
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteRule . /index.php [L]

# END WordPress

Staat er meer code in je .htaccess-bestand? Let op: Plugins voegen hier ook soms regels aan toe, denk aan bijv. cache plugins, maar het kan dus ook een hack zijn. Verwijder bij twijfel alle overige code uit je .htaccess-bestand; wellicht werkt een plugin dan niet meer optimaal, maar de meeste plugins kunnen de benodigde code automatisch weer toevoegen aan het .htaccess-bestand als dat nodig is.

Kom je nog meer .htaccess-bestanden tegen?

Staan ze in een plugin of thema map? Dan zijn ze in principe veilig omdat je deze folders al hebt opgeschoond in de vorige stappen. Kom je ze tegen in de uploads map, child thema, etc., dan is het wel even de moeite om ze na te kijken.

Gebruikers opschonen

We zijn er bijna! Maar nu alle bestanden schoon zijn, is het nog steeds mogelijk dat hackers toegang hebben tot je WordPress website. Ze kunnen bijvoorbeeld een extra beheerders-account aangemaakt hebben, of het wachtwoord hebben gewijzigd van één van de andere gebruikers. Bovendien is de kans ook aanwezig dat hackers zijn binnengekomen doordat ze een zwak wachtwoord wisten te raden.

Ga daarom in je WordPress admin naar ‘Gebruikers’ en verwijder alle gebruikers die er niet thuishoren. Stel voor alle overige gebruikers een nieuw (moeilijk te raden!) wachtwoord in. Zo weet je zeker dat een hacker niet kan inloggen met een bestaande account. Leg aan je bestaande gebruikers uit waarom het noodzakelijk is om een complex wachtwoord te gebruiken.

Live zetten en testen

Je bent nu zover om je WordPress website weer live te zetten! Verwijder de blokkade van stap 3 en controleer of je website weer toegankelijk is zonder dat je ingelogd bent, bijvoorbeeld door je website te bezoeken vanaf een ander netwerk, of met je telefoon zonder wifi aan.

Het kan nog steeds zo zijn dat je nog wel meldingen van Google krijgt, dat je WordPress website malware bevat. In dat geval kan je WordPress website op een blacklist zijn gezet, waardoor deze ook niet meer in de zoekresultaten van Google wordt weergegeven. Gebruik de mogelijkheden die Google biedt om je WordPress website weer terug in de zoekresultaten te krijgen.

  • Google Diagnostic Center (vervang www.voorbeeld.nl in de url voor je eigen domein). Met deze tool controleer je of de website op de blacklist van Google staat.
  • In Google Webmasters wordt aangegeven of en wanneer Google een probleem met je WordPress website heeft geïndexeerd.
  • Dien met de Google Reconsideration Tool een verzoek in bij Google om je WordPress website opnieuw te laten indexeren.

Updaten is key!

De ontwikkelaars van WordPress zijn continu bezig met het verbeteren van de code. Dit heeft als voordeel dat bekende lekken in WordPress, plugins en thema’s vaak heel snel worden gedicht door het uitbrengen van een nieuwe versie. Zorg er daarom altijd voor dat je website up-to-date is! Zo verklein je de kans behoorlijk om opnieuw gehackt te worden én kun je een nieuwe update heel snel uitvoeren omdat het dan vaak maar een kleine wijziging is.

Het verwijderen van malware op je WordPress website is een complex proces. Hierboven geven we je de informatie om dit zelf te doen. Kom je er toch niet helemaal uit? Dan kun je het verwijderen van malware ook aan ons overlaten!

Voor alles geldt, het is beter voorkomen dan genezen! Zorg er dus voor dat je het onderhoud van je WordPress website serieus neemt en regelmatig de updates uitvoert. Heb je hier geen tijd voor, geen zin aan of een andere redenen? Sluit dan 1 van onze super ontzorgende onderhoudspakketten voor WordPress af.

Menu