Första varningen är ofta ett mejl från Google
En hackad WordPress-sajt syns sällan direkt. Sidan ser ofta normal ut för besökaren, medan angriparen i bakgrunden skickar spam till sökmotorerna, lånar sajtens ranking eller förbereder nästa steg. I den incident vi beskriver här började allt med ett automatiskt mejl från Google Search Console, som berättade att en ny ägare hade lagts till för sajten. Eftersom en ägare kan ändra kritiska inställningar för hur Google ser sajten är det ett tydligt larm som aldrig ska ignoreras. Business IT Support hjälper företag att upptäcka och rensa den här typen av intrång. Vi bad först om en komplett genomgång av ägare och användare i Search Console, och därefter gick vi vidare till själva filerna på servern. Ordningen är viktig: först förstår vi vad som har hänt, sedan säkrar vi bevisen, och först därefter städar vi. Den som rensar i blindo riskerar att ta bort spåren som visar hur angriparen kom in, och då återkommer problemet. Ett snabbt agerande i det här skedet sparar ofta både tid och pengar längre fram.

Dolda filer i mu-plugins och förklädda skript
Vid filgranskningen hittade vi tre typer av spår. För det första en fil i mappen mu-plugins med ett ändringsdatum som skilde sig från resten och en storlek på ungefär 16 kB. Mappen mu-plugins laddas automatiskt av WordPress, vilket gör den till ett populärt gömställe, och en okänd fil där med ny ändringsdag är ett tydligt varningstecken. För det andra en plugin-mapp med ett namn som liknade ett cacheprogram. För det tredje en fil i sajtens rot som var kamouflerad som ett verktyg för att rensa cache. Den laddade hela WordPress-miljön och kunde därför köra godtycklig kod, och kommentarerna i filen var skrivna på ett annat språk än sajtens, vilket är ett vanligt kännetecken. Vi tog bort filen först efter att vi hade säkrat en kopia för analys. Att jämföra ändringsdatum, storlek och namn mot resten av installationen är ett enkelt men effektivt sätt att hitta sådant som inte hör hemma.

Det falska cache-pluginet hämtade externt innehåll
Koden i det falska pluginet hämtade innehåll från en extern adress och kontrollerade om svaret innehöll en särskild kontrollsträng. Den skickade dessutom sajtens adress som referens och hade stängt av kontrollen av SSL-certifikat. Sådan kod används för att visa spamlänkar för sökmotorer, medan sajtens ägare och vanliga besökare inte märker något. Därför granskar vi alltid vilka externa adresser ett plugin kontaktar, och vi misstänker särskilt kod som stänger av certifikatkontroll, eftersom det saknar legitim anledning i ett vanligt cacheprogram. Att namnet på ett plugin låter seriöst säger ingenting om vad koden gör. Det enda säkra sättet är att läsa koden och jämföra med originalet i WordPress officiella plugin-bibliotek. Med WP-CLI kan man verifiera kärnfilerna och pluginens kontrollsummor, vilket snabbt visar vad som har ändrats eller tillkommit, och vad som inte alls finns i originalpaketen och därför måste granskas manuellt av en erfaren tekniker. Det finns ingen genväg här, eftersom varje avvikande rad kan vara den som ger angriparen fortsatt tillgång till sajten och till de uppgifter som ligger bakom den.

SEO-spam: en statisk sida med utländskt innehåll
Dessutom hittade vi en stor statisk HTML-fil i sajtens rotkatalog. Den innehöll sökordsfyllt spelinnehåll på ett annat språk, geografisk metadata för ett annat land och strukturerad data. En sådan fil används för att locka sökmotorer att indexera en falsk sida på ett välrenommerat domännamn, så att angriparen kan dra nytta av sajtens förtroende utan att den riktiga ägaren märker något. Det var en direkt orsak till att Search Console visade en blandning av indexerade och uteslutna sidor som ingen på företaget kände igen. För verksamheten är konsekvenserna konkreta: sajten kan tappa placeringar, Google kan visa varningar för besökare, och förtroendet hos kunder och samarbetspartners skadas. Därför räcker det inte att ta bort filen. Man måste också begära borttagning av adresserna i Search Console, skicka in en ren webbplatskarta och följa upp indexeringen i flera veckor, så att spamresultaten försvinner ur sökmotorerna. Det är också därför ett intrång sällan är över förrän både filer, databas och sökmotorernas index har rensats och kontrollerats om igen efter några veckor.

Så rensar och härdar vi, och så kontaktar ni oss
Vi börjar alltid med en fullständig säkerhetskopia av det infekterade läget för analys. Därefter jämför vi WordPress-kärnan och alla plugin mot originalfiler, söker efter okända filer i mu-plugins, uploads och rotkatalogen, granskar användarlistan och raderar okända administratörer. Alla lösenord, API-nycklar, databaslösenord och WordPress-nycklar byts, och vi tar reda på hur angriparen kom in, annars upprepas intrånget. Business IT Support, en del av Datorkirurgen AB, städar hackade sajter åt företag i hela Sverige och härdar dem efteråt med uppdateringar, tvåfaktorsinloggning, övervakning och backup utanför servern. Misstänker ni att er sajt har drabbats, eller har ni fått en varning från Google, ska ni inte vänta. Kontakta oss så går vi igenom situationen och föreslår åtgärder i prioriterad ordning, så att sajten, rankingen och förtroendet kan återställas så snabbt och säkert som möjligt. Allt dokumenteras i en rapport som ni kan använda internt, mot försäkringsbolag och vid kontakt med kunder, så att ni har underlag om någon frågar vad som hände.

Vanliga supportfrågor
Frågor om intrång
- Hur vet jag om min WordPress-sajt är hackad?
- Vad är en bakdörr i WordPress?
- Vad är mu-plugins i WordPress?
- Hur hittar man skadliga filer i WordPress?
- Hur hittar man falska plugin?
- Vad betyder en ny ägare i Search Console?
- Hur kontrollerar man WordPress-filer mot originalen?
- Vad gör wp core verify-checksums?
- Hur hittar man okända PHP-filer?
- Varför kommer skadlig kod tillbaka efter städning?
Frågor om SEO-spam
- Vad är SEO-spam?
- Varför finns det främmande sidor på min domän?
- Hur tar man bort spamsidor från Google?
- Hur begär man borttagning i Search Console?
- Varför tappade min sajt i Google?
- Vad betyder att sidor är uteslutna från indexet?
- Hur lång tid tar det att återställa rankingen?
- Kan en hackad sajt få Google-varning?
- Hur kontrollerar man vad en plugin kontaktar externt?
- Vad är cloaking?
Frågor om städning och support
- Hur städar man en hackad WordPress-sajt?
- Ska man återställa en backup efter intrång?
- Vilka lösenord ska man byta efter ett intrång?
- Hur byter man WordPress-nycklar?
- Hur härdar man WordPress efter ett intrång?
- Hur skyddar man sajten med tvåfaktorsinloggning?
- Hur hittar man hur angriparen kom in?
- Kan ni städa vår hackade sajt?
- Hur snabbt kan ni hjälpa oss?
- Hur kontaktar jag er om en hackad sajt?
[dk_natverk compact=”1″]