Meer dan 40% van het web wordt aangedreven door WordPress. Maar dit maakt dit populaire CMS een aantrekkelijk doelwit voor hackers.
Dus als je een WordPress-site beheert, moet je ervoor zorgen dat deze veilig is. En dit is niet alleen een technische taak, maar ook een belangrijke verantwoordelijkheid vanuit verschillende oogpunten zoals merkreputatie, gegevensinbreuk en bedrijfscontinuïteit.
Een tool die opvalt in het WordPress-ecosysteem is WPScan. Het is een beveiligingsscanner die specifiek is ontworpen voor WordPress. Het wordt geleverd met zowel een betaalde als gratis licentie, afhankelijk van uw behoeften. Het is ook voorgeïnstalleerd in Kali Linux-distributies.
Dus of je nu een ervaren websitebeheerder bent of een eigenaar van een website die de beveiliging van je site wil verbeteren, WPScan kan je helpen kwetsbaarheden te identificeren voordat aanvallers er misbruik van maken.
Voordat we verder gaan, is één zeer belangrijke zaak: het doel van dit artikel is om individuen en organisaties te helpen de beveiliging van hun WordPress-websites te versterken door WPScan effectief te gebruiken.
Hoewel deze tool ongelooflijk krachtig is in het identificeren van kwetsbaarheden, is het belangrijk te benadrukken dat elk ongeoorloofd gebruik van WPScan – zoals het scannen van websites zonder de juiste toestemming – niet alleen onethisch is maar ook illegaal.
Mijn doel bij het delen van deze informatie is om sitebeheerders en ontwikkelaars de mogelijkheid te bieden om proactief hun websites te beveiligen, hun gegevens te beschermen en een veiligere online omgeving te creëren voor iedereen.
Wat we zullen behandelen:
Wat is WPScan?
WPScan is een command-line tool die helpt bij het identificeren van mogelijke kwetsbaarheden in je WordPress-installatie. Het is als een beveiligingsbeambte voor je website, die verouderde plugins, verkeerde configuraties en andere veelvoorkomende problemen in de gaten houdt.
Wat WPScan uniek maakt, is de focus op WordPress. Het maakt gebruik van een database die wordt onderhouden door beveiligingsexperts, die regelmatig wordt bijgewerkt om duizenden bekende kwetsbaarheden in de WordPress-kern, plugins en thema’s bij te houden.
Wat kan WPScan doen?
Hier zijn slechts een paar dingen waar WPScan je bij kan helpen:
-
Het detecteren van verouderde WordPress-kernversies.
-
Het identificeren van kwetsbaarheden in plugins en thema’s.
-
Gebruikers opsommen (bijvoorbeeld, het ontdekken van gebruikersnamen).
-
Testen op zwakke wachtwoorden (met behulp van een woordenboekaanval).
-
Het vinden van blootgestelde gevoelige bestanden (zoals back-ups of debuglogs).
Laten we nu de meest voorkomende commando’s bekijken die je kunt gebruiken.
Hoe je jouw WordPress-site scant met behulp van WPScan
1. Basisscan
Een basis scan biedt een overzicht van de beveiliging van uw WordPress-site door belangrijke kwetsbaarheden of misconfiguraties te identificeren. Het kan de versie van de WordPress-kern detecteren en deze markeren als deze verouderd is, waarbij potentiële risico’s zoals SQL-injectie of cross-site scripting (XSS) kwetsbaarheden die verband houden met oudere versies worden belicht.
De scan kan ook openbaar toegankelijke back-upbestanden onthullen (bijvoorbeeld .sql
of .zip
) of debugbestanden zoals debug.log
, die gevoelige informatie zoals database-inloggegevens of serverpaden kunnen blootstellen.
Het kan ontbrekende of onjuist geconfigureerde HTTP-beveiligingsheaders markeren, zoals Strict-Transport-Security (HSTS) of Content-Security-Policy (CSP), die cruciaal zijn voor bescherming tegen protocol-downgrade-aanvallen en ongeautoriseerde scriptuitvoering.
Open directories die de bestandsstructuur van uw site blootleggen en mogelijk kwetsbare plugins of thema’s kunnen ook worden gemarkeerd als ze worden geïdentificeerd in openbare metadata.
Deze bevindingen bieden een startpunt om fundamentele beveiligingslacunes aan te pakken.
wpscan --url http://yourwebsite.com
Dit is wat u op uw terminal ziet wanneer u dit commando uitvoert:
2. Gebruikers Enumereren
Gebruikersenumeratie is een proces van het identificeren van gebruikersnamen op uw WordPress-site. Het kennen van deze gebruikersnamen kan aanvallers helpen specifieke accounts te targeten voor brute-force-aanvallen.
Om gebruikers te enumereren, voert u uit:
wpscan --url http://yourwebsite.com --enumerate u
De output toont gebruikersnamen:
Als u standaard gebruikersnamen zoals admin
vindt, zou u ze moeten vervangen door iets unieks en veiligs.
Hier zijn enkele best practices voor gebruikersnamen:
-
Vermijd standaardnamen: Vervang standaardgebruikersnamen zoals
admin
ofuser
door iets unieks en niet gemakkelijk te raden. -
Hernoem kwetsbare gebruikersnamen: Om een gebruikersnaam te wijzigen, kun je een nieuwe gebruiker met beheerdersprivileges aanmaken, het eigendom van berichten of inhoud overdragen en vervolgens de oude gebruiker verwijderen.
-
Gebruik rolgebaseerde gebruikersnamen zorgvuldig: Vermijd het benoemen van accounts naar hun rollen (bijvoorbeeld,
editor
,manager
), aangezien deze gemakkelijk doelwitten kunnen zijn. -
Implementeer inlogvergrendelingen: Combineer veilige gebruikersnamen met plugins die accounts vergrendelen na herhaalde mislukte inlogpogingen.
-
Schakel Twee-Factor Authenticatie (2FA) in: Het toevoegen van 2FA zorgt ervoor dat zelfs als een gebruikersnaam wordt geraden, het account veilig blijft.
3. Controle van Plugins en Thema’s
Plugins en thema’s kunnen beveiligingsproblemen hebben. WPScan kan een lijst geven van alle geïnstalleerde plugins en thema’s, samen met eventuele bijbehorende kwetsbaarheden.
Voor plugins, voer dit uit:
wpscan --url http://yourwebsite.com --enumerate p
Het zal een uitvoer hebben zoals deze:
Voor thema’s, voer dit uit:
wpscan --url http://yourwebsite.com --enumerate t
Het zal een uitvoer hebben die vergelijkbaar is met deze:
Zoek naar verouderde versies of bekende kwetsbaarheden in de resultaten en werk of vervang die componenten onmiddellijk.
Laten we kijken naar enkele veelvoorkomende beveiligingsproblemen in plugins en thema’s.
Eerst hebben we Cross-Site Scripting (XSS). Onveilige invoerhandling in plugins of thema’s kan aanvallers in staat stellen om kwaadaardige scripts in te voegen, wat mogelijk gebruikersinformatie steelt of admin-sessies overneemt. Een slecht beveiligde WordPress-site met een XSS-kwetsbaarheid kan aanvallers in staat stellen om sessiecookies te stelen, mogelijk ongeautoriseerde admin-toegang te verkrijgen, kwaadaardige omleidingen in te voegen, gebruikers naar phishing-sites te leiden, misleidende inhoud weer te geven en gebruikers te misleiden om gevoelige informatie te verstrekken.
Er is ook SQL Injectie. Slecht geschreven plugins of thema’s kunnen aanvallers in staat stellen databasequery’s te manipuleren, gevoelige gegevens bloot te stellen of uw site te beschadigen. SQL-injectiekwetsbaarheden kunnen worden geëxploiteerd om gevoelige gegevens te dumpen, authenticatie te omzeilen en gegevens te wijzigen of te verwijderen.
Sommige plugins of thema’s kunnen kwaadaardige code bevatten – opzettelijk of vanwege slechte beveiliging – die aanvallers ongeautoriseerde toegang tot uw site verleent, bekend als achterdeuren. Eenmaal geïnstalleerd, kan een achterdeur blijvende toegang verlenen, willekeurige bestand uploads mogelijk maken, de integriteit van de site ondermijnen en gevoelige gegevens stelen.
Er is ook Remote Code Execution (RCE) – kwetsbaarheden die aanvallers in staat stellen willekeurige code op uw server uit te voeren, vaak leidend tot volledige controle over uw site of server. Zodra aanvallers RCE-toegang krijgen, kunnen ze beheerdersaccounts maken, gegevens exfiltreren, verdere aanvallen lanceren en privileges verhogen.
Beste Praktijken:
-
Houd altijd plugins en thema’s bijgewerkt naar de nieuwste versies.
-
Verwijder ongebruikte of inactieve plugins en thema’s, omdat deze nog steeds een risico kunnen vormen.
-
Zorg ervoor dat plugins en thema’s worden gedownload van vertrouwde, gerenommeerde bronnen en een geschiedenis hebben van actief onderhoud.
-
Overweeg het gebruik van beveiligingsplugins om wijzigingen in plugin- of themabestanden te controleren en verdachte activiteiten te detecteren.
4. Wachtwoordtesten
WPScan kan zwakke wachtwoorden testen door een brute-force aanval te proberen met behulp van een woordenlijst:
wpscan --url http://yourwebsite.com --passwords /path/to/passwords.txt
en dit is de uitvoer op uw opdrachtregel:
Wat is Brute-Forcing?
Brute-forcing is een methode die aanvallers gebruiken om wachtwoorden te raden door systematisch elke mogelijke combinatie te proberen totdat de juiste is gevonden. Wanneer gecombineerd met een woordenlijst—een bestand met een verzameling veelgebruikte wachtwoorden—wordt brute-forcing veel sneller en efficiënter.
Een typische woordenlijst kan bevatten:
-
Eenvoudige wachtwoorden zoals
123456
,wachtwoord
enqwerty
. -
Veelvoorkomende patronen zoals
Spring2024!
ofwelcome123
. -
Gelekte wachtwoorden uit eerdere datalekken.
Door dit type aanval te simuleren, kan WPScan accounts identificeren die zwakke wachtwoorden gebruiken, zodat u proactief kwetsbaarheden kunt aanpakken.
Zwakke wachtwoorden maken brute-forcing gemakkelijker en sneller. Een kort of voorspelbaar wachtwoord kan in enkele seconden worden geraden, terwijl een langer, complex wachtwoord met unieke elementen exponentieel moeilijker te kraken is.
Hoe maak je sterke wachtwoorden
Sterke wachtwoorden zijn uw eerste verdedigingslinie tegen brute-force aanvallen. Hier zijn de belangrijkste kenmerken van sterke wachtwoorden:
-
Lengte: Minimaal 12-16 tekens lang.
-
Complexiteit: Gebruik een mix van hoofdletters, kleine letters, cijfers en speciale tekens.
-
Uniciteit: Hergebruik wachtwoorden niet op meerdere accounts.
-
Onvoorspelbaarheid: Vermijd woorden uit het woordenboek, veelvoorkomende zinnen of persoonlijke informatie zoals verjaardagen.
Strategieën voor het genereren van sterke wachtwoorden
Er zijn verschillende maatregelen die u kunt nemen om sterke wachtwoorden te creëren. Gebruik eerst een wachtwoordgenerator. Tools zoals LastPass en Bitwarden kunnen zeer complexe wachtwoorden voor u maken en opslaan.
U moet ook wachtwoordzinnen gebruiken (in plaats van gewone wachtwoorden). Combineer willekeurige, niet-gerelateerde woorden met cijfers en symbolen, zoals Lucht#Boom!Motorfiets12
.
Vermijd tot slot patronen die gemakkelijk te raden zijn door een aanvaller. Gebruik geen opeenvolgende of toetsenbordpatronen zoals abcdef
of qwerty
.
Gebruik Tools om Wachtwoorden te Beheren
Het beheren van sterke wachtwoorden kan uitdagend zijn. Wachtwoordbeheerders vereenvoudigen dit door veilig uw referenties op te slaan en automatisch in te vullen. Populaire opties zijn:
-
Bitwarden
-
LastPass
Deze tools hebben ook functies zoals wachtwoordcontrole om hergebruikte of zwakke wachtwoorden te detecteren.
Gebruik Twee-Staps Verificatie (2FA)
Twee-staps verificatie (2FA) voegt een extra beveiligingslaag toe door gebruikers te verplichten hun identiteit te verifiëren via een tweede factor naast het wachtwoord. Dit kan omvatten:
-
Eenmalige codes verzonden via e-mail of SMS.
-
App-generieerde codes van tools zoals Google Authenticator of Authy.
-
Biometrische verificatie, zoals vingerafdrukken of gezichtsherkenning.
Zelfs als een aanvaller uw wachtwoord raadt via brute force, voorkomt 2FA dat ze toegang krijgen tot uw account zonder secundaire verificatie. Deze extra stap maakt brute force praktisch onmogelijk, aangezien aanvallers ook uw 2FA-apparaat of -methode zouden moeten compromitteren.
Hoe 2FA implementeren in WordPress
-
Installeer een WordPress-plugin zoals Google Authenticator.
-
Vereis dat alle gebruikersaccounts, vooral beheerders, 2FA inschakelen.
-
Bied back-upcodes of herstelopties aan voor het geval gebruikers geen toegang meer hebben tot hun 2FA-apparaat.
-
Test en zorg ervoor dat 2FA betrouwbaar werkt voor alle gebruikersrollen voordat het verplicht wordt.
Het Belang van Wachtwoordhygiëne
Door sterke wachtwoorden te gebruiken en 2FA te implementeren, kunt u de effectiviteit van brute-force aanvallen aanzienlijk verminderen.
De wachtwoordtestfunctie van WPScan kan u helpen zwakke referenties te identificeren. Het benadrukt ook de kritieke noodzaak van proactieve wachtwoordhygiëne en aanvullende beveiligingslagen om uw WordPress-site veilig te houden.
Wat te Doen met de Resultaten van WPScan
WPScan-rapporten bieden bruikbare inzichten in de beveiliging van uw site. Hier is wat u kunt doen met de informatie:
Ten eerste, werk WordPress-core, plugins en thema’s bij: Houd alles up-to-date om kwetsbaarheden te patchen.
Ten tweede, pak configuratieproblemen aan: Los verkeerd geconfigureerde bestandsmachtigingen, onveilige HTTP-headers en andere waarschuwingen op.
Hier zijn een paar voorbeelden van remediëring die je kunt toepassen:
-
Directory indexering: Als WPScan open directories detecteert, schakel directory browsen uit door deze regel toe te voegen aan je
.htaccess
bestand:Opties -Indexes
-
Bestandsmachtigingen: Zorg ervoor dat kritieke bestanden zoals
wp-config.php
alleen-lezen zijn door machtigingen in te stellen op440
of400
met behulp van het commando:chmod 400 wp-config.php
Je moet ook alle gebruikersaccounts versterken. Dit kun je op verschillende manieren doen:
-
Zwakke wachtwoorden bijwerken: Gebruik sterke, unieke wachtwoorden voor alle gebruikersaccounts (raadpleeg de wachtwoordtestsectie voor tips).
-
Verwijder ongebruikte accounts: Verwijder inactieve accounts, vooral die met beheerdersrechten.
-
Hernoem voorspelbare gebruikersnamen: Verander gebruikersnamen zoals
admin
in iets minder voor de hand liggends.
Zorg er ook voor dat u gevoelige bestanden beveiligt: Als WPScan blootgestelde bestanden zoals debug.log
vindt, verwijder of beveilig ze dan. Verwijder onnodige bestanden of oude back-ups.
Voor bestanden die u moet bewaren, verplaats ze naar een map buiten de webroot. U kunt bestanden ook beveiligen met .htaccess
, door toegang tot gevoelige bestanden te blokkeren met Deny
en Allow
regels:
<Files wp-login.php>
Order Deny,Allow
Deny from all
Allow from 123.456.789.000
</Files>
Beperkingen van WPScan
WPScan is een krachtige tool, maar het heeft enkele beperkingen. Wees hiervan op de hoogte, zodat u andere maatregelen kunt nemen om uw WP-sites te beschermen.
1. Alleen bekende kwetsbaarheden
WPScan vertrouwt op zijn database van bekende kwetsbaarheden, dus het zal geen zero-day-exploits of aangepaste kwetsbaarheden detecteren.
Hier zijn enkele tips om dit probleem te verminderen:
-
Blijf op de hoogte: Volg WordPress-beveiligingsblogs, kwetsbaarheidsdatabases zoals CVE of WPVulnDB, en communityforums voor opkomende bedreigingen.
-
Gebruik een Webapplicatie Firewall (WAF): Tools zoals Cloudflare of Sucuri kunnen verdachte activiteiten en pogingen om onbekende kwetsbaarheden te exploiteren blokkeren.
-
Voer handmatige beveiligingscontroles uit: Beoordeel periodiek uw site op ongewoon gedrag of ongeautoriseerde wijzigingen, met name in kritieke bestanden zoals
wp-config.php
of uw database.
2. Geen Real-Time Bescherming
WPScan is een diagnostisch hulpmiddel, geen firewall of inbraakdetectiesysteem. Voor real-time bescherming is het een goed idee om WPScan te combineren met andere tools.
Enkele stappen die u kunt nemen zijn:
-
Installeer beveiligingsplugins: Gebruik specifieke beveiligingsplugins voor continue monitoring, malware-scanning en firewallbescherming.
-
Monitor activiteitslogboeken: Stel activiteitsregistratie in om verdachte inlogpogingen, bestandswijzigingen of ongeautoriseerde acties van gebruikers te identificeren.
3. Resource-Intensief
Het scannen van grote sites met veel plugins en thema’s kan tijdrovend zijn en de prestaties van de server beïnvloeden.
Er zijn verschillende strategieën die je kunt toepassen om dit te beperken, zoals het plannen van scans tijdens periodes met weinig verkeer om verstoring voor sitebezoekers te minimaliseren. Je kunt ook scans uitvoeren op een staging-kopie van je site in plaats van rechtstreeks op de live-omgeving.
4. Leercurve
Als een opdrachtregeltool kan WPScan intimiderend zijn voor minder technische gebruikers. De documentatie is echter uitstekend en met oefening zul je vaardig worden.
Als de CLI overweldigend voor je is, probeer dan WPScan te combineren met beveiligingsplugins die scannen en rapporteren op basis van een GUI.
Beste Praktijken voor het Gebruik van WPScan
Om het meeste uit WPScan te halen, wil je het gebruik ervan afstemmen op de specifieke behoeften van je site en een robuuste strategie opzetten voor het monitoren van resultaten. Zo kun je de effectiviteit maximaliseren:
Kies de Juiste Scans voor Je Site
WPScan biedt een verscheidenheid aan scans, van basis-scans tot gerichte kwetsbaarheidscontroles voor plugins, thema’s en gebruikersaccounts. Het kiezen van de juiste scans is afhankelijk van het type site dat je beheert en de gevoeligheid van de gegevens die het verwerkt.
Voor kleine, weinig bezochte sites:
-
Prioriteer basis scans om de WordPress core, plugins en thema’s te controleren op updates en kwetsbaarheden.
-
Voer scans maandelijks of na grote updates uit.
-
Gebruik gebruikersenumeratie (
--enumerate u
) als je vermoedt dat er zwakke wachtwoorden of standaardgebruikersnamen zijn.
Voor middelgrote bedrijfswebsites:
-
Naast basis scans, voeg plugin- en thema-enumeratie toe (
--enumerate p,t
) om ervoor te zorgen dat alle componenten veilig zijn. -
Wekelijkse scans om voor te blijven op opkomende bedreigingen.
-
Combineer WPScan met activiteit log plugins om gebruikersacties en bestandswijzigingen bij te houden.
Voor drukbezochte of e-commerce sites:
-
Voer uitgebreide scans uit, inclusief gebruikersenumeratie (
--enumerate u
), bestandsenumeratie (--enumerate f
) en wachtwoord brute-force testen (indien toegestaan). -
Dagelijkse of wekelijkse scans om het risico te minimaliseren.
-
Implementeer aanvullende maatregelen zoals 2FA voor admin-accounts, een webapplicatiefirewall (WAF) en beveiligingsheaders om uw site te versterken.
Voor sites die gevoelige gegevens verwerken:
-
Geef prioriteit aan alle beschikbare scans, inclusief die voor blootgestelde bestanden en configuratie kwetsbaarheden.
-
Wekelijkse scans met real-time monitoring via een beveiligingsplugin.
-
Gebruik staging-omgevingen om beveiligingsinstellingen te testen zonder de productie te beïnvloeden.
Moet u alle scans gebruiken?
Hoewel het voordelig kan lijken om elke scan te gebruiken die WPScan aanbiedt, zijn er verschillende factoren om te overwegen.
Denk eerst na over de grootte van uw site en uw middelen. Voor kleinere sites kan het draaien van alle scans overkill en middelenintensief zijn.
Je wilt ook focussen op scans die de meest waarschijnlijke kwetsbaarheden van je site adresseren. Een e-commerce site zou bijvoorbeeld prioriteit moeten geven aan gebruikers- en betalingsbeveiliging boven uitgebreide bestandsenumeratie.
Compliance-eisen zijn ook belangrijk om in overweging te nemen. Als je onder regelgeving zoals de AVG valt, zorg er dan voor dat je scant op en kwetsbaarheden met betrekking tot gegevensbescherming aanpakt.
Hoe je resultaten effectief kunt monitoren
Het monitoren van WPScan-resultaten is belangrijk. Het helpt je kwetsbaarheden te verhelpen, maar het helpt je ook om een systeem te creëren om veranderingen in de loop van de tijd bij te houden en waakzaam te blijven.
Stel rapportage in
Je kunt scanresultaten opslaan in bestanden met de --output
vlag:
wpscan --url http://example.com --output /path/to/report.txt
Bekijk de rapporten vervolgens regelmatig en vergelijk ze met eerdere scans om terugkerende problemen of nieuwe kwetsbaarheden te identificeren.
Maak een actieplan
Het is een goed idee om kwetsbaarheden te categoriseren op basis van ernst (bijvoorbeeld kritisch, gematigd, laag).
Dit stelt je in staat om problemen met hoge ernst (zoals verouderde plugins met bekende exploits) onmiddellijk aan te pakken. Vervolgens kun je lagere prioriteitstaken, zoals aanpassingen aan bestandsmachtigingen of kleine configuratiewijzigingen, inplannen voor routineonderhoud.
Volg trends in de loop van de tijd
Gebruik tools zoals spreadsheets of een projectmanagement-app (bijvoorbeeld Trello, Asana) om kwetsbaarheden, oplossingen en vervolgacties te loggen.
Zorg ervoor dat je terugkerende problemen analyseert om patronen te identificeren, zoals frequente kwetsbaarheden van plug-ins, en overweeg om problematische componenten te vervangen.
Automatiseer Meldingen
Als je scans plant met cron jobs, stel dan e-mailmeldingen of notificaties in om de resultaten zonder vertraging te bekijken.
Gebruik beveiligingsplug-ins met realtime monitoring om je te waarschuwen voor verdachte activiteiten tussen WPScan-controles door.
Communiceer met je Team:
Je wilt ervoor zorgen dat je rapporten deelt met relevante teamleden, zoals ontwikkelaars of sitebeheerders, zodat iedereen op de hoogte is van mogelijke kwetsbaarheden.
Het is ook een goed idee om protocollen op te stellen voor directe actie als kritieke kwetsbaarheden worden ontdekt.
Door scans te kiezen op basis van de specifieke behoeften van je site en een gestructureerde aanpak te implementeren voor het monitoren van resultaten, kun je ervoor zorgen dat WPScan effectief wordt gebruikt. Zorg er ook voor dat je de tool aanpast aan je risicoprofiel, kwetsbaarheden in de loop van de tijd volgt en de bevindingen integreert in een bredere beveiligingsstrategie.
Deze aanpak verbetert niet alleen de beveiligingshouding van je site, maar minimaliseert ook het gebruik van middelen en inspanning terwijl het maximale bescherming biedt.
Conclusie
WPScan is een onmisbaar hulpmiddel voor iedereen die een WordPress-site beheert. Het vereenvoudigt het proces van het identificeren van kwetsbaarheden en biedt duidelijke, uitvoerbare aanbevelingen om de beveiliging van je site te versterken.
Door WPScan te integreren in je workflow en de beste werkwijzen te volgen, kun je het risico op aanvallen verminderen en je WordPress-site veilig houden. Beveiliging is een voortdurende reis en tools zoals WPScan maken het gemakkelijker om voor te blijven op mogelijke bedreigingen.
Source:
https://www.freecodecamp.org/news/how-to-use-wpscan-to-keep-your-wordpress-site-secure/