Een hackfile of backdoor in de 1500 tot 3500 bestanden vinden die een WordPress website gemiddeld aanstuurt, lijkt onmogelijk.
Zoeken naar een speld in een hooiberg
Als je website lekken bevat waarmee bots bestanden op je server kunnen zetten dan verspreiden ze die het liefst zo onopvallend mogelijk.
Denk hierbij aan de uploads mappen, dan zit je toch al snel 5 mappen diep vanaf de root.
Als je dan bedenkt dat hackbestanden in php worden neergezet tussen al je andere bestanden met telkens nieuwe bestandsnamen en trucs begrijp je dat er kennis en ervaring nodig is om die bestanden te vinden.
Enkele tips hoe ik dat doe wil ik je wel geven, maar al mijn overige tips blijven natuurlijk wel “het geheim van de smid”.
Methode 1 – Hack bestanden vinden op wijzigings & aanmaakdatum
Bestanden die via een bot worden toegevoegd zijn vaak op een ander tijdstip toegevoegd dan de rest van je bestanden. In 99% van de gevallen later na de start van je website. Hoe bekender je website wordt des te groter de kans dat deze gevonden wordt door bots die graag schadelijke bestanden inzetten.
Let dus op het tijdstip van wijziging of plaatsing.
Methode 2 – Wat hoort er niet thuis in WordPress?
Zoek de verschillen, ik weet zo ongeveer uit mijn hoofd 80% van alle bestanden die in WordPress horen te staan. Als ik daar dan ineens een options.php of model.php of 312.php zie staan, weet ik al hoe laat het is en kijk ik even welke code erin staat voordat ik op delete druk.
Methode 3 – Scannen op de code in de bestanden
Ik heb diverse scanmethodes die zowel geautomatiseerd als handmatig kunnen kijken in diverse bestanden tegelijk.
Hiermee zoek ik dus op:
- frames
- base64
- eval
- cookie
- inject
- p.a.c.k.e.d
- display: none / visibility: hidden
- En meer
Methode 4 – Search in de database
Met een programma en de gebruikelijke servertools, doorzoek ik de mysql database op backdoors, users die er niet horen, content die niet zichtbaar is en meer.
Methode 5 – Google webmaster tools
Google webmaster tools laat vaak als eerste van allen weten wanneer een website malware en phishing bestanden bevat. Daar kan handige informatie uit komen zodat je de hack kunt aanpakken.
Dit zij enkele methodes die ik gebruik. Er zijn er veel meer en elke website vereist zijn eigen extra aanpak om een hack te vinden. Websites met meer als 10 plugins vereisen weer controles op diverse plekken die je niet zou verwachten. Oude serversoftware of open servers vereisen ook een andere aanpak.
Globaal gezien komt het erop neer dat de websites eerst grondig worden nagekeken en ge-evalueerd waarna er een steeds verfijnderde search plaatsvindt om alles eruit te halen en uiteindelijk te beveiligen.
Let op: het verwijderen van een spamscript, malware syntax of frame is alleen het begin. Het dichten van het lek en beveiligen van de website is het uiteindelijke doel!
Er zijn heel wat plugins die je website op malware kunnen scannen. Jammer dat daarvan geen vergelijkende tests zijn die aangeven hoe effectief ze zijn. De artikelen erover zetten meestal alleen op een rijtje wat zo een plugin doet. Bij virusscanners heb je wel zulke testen, waar vaak met percentages wordt aangegeven hoe effectief ze zijn.
Op dit moment werken we aan zo’n test met uitslagen. Kost heel wat tijd dus zal een tijdje (nog een paar maanden) duren voordat die af is maar de test is dan te hier te zien op WPbeveiligen.nl 🙂