WordPress vírusirtás
Miért nem elég egy WordPress vírusirtó? Így zajlik egy valódi WordPress tisztítás
Miért nem elég egy WordPress vírusirtó? Így zajlik egy valódi WordPress tisztítás
A WordPress vírusirtás szó félrevezető, mert sokan egyetlen gombra gondolnak. Lefut a plugin, talál valamit, törli, kész. Egy egyszerű, régi malware-nél ez néha tényleg segít. Egy normális támadónál kevés.
A WordPress nem csak fájlokból áll. Van adatbázis, felhasználói jogosultság, cron, hook rendszer, pluginek, sablonok, REST API, admin-ajax.php, cache, tárhelyszintű beállítások. Ha egy kártékony kód ezek közül több ponton hagy nyomot, egy scanner csak a történet egyik oldalát látja.
Miért nem talál meg mindent egy plugin?
Egy vírusirtó plugin általában minták alapján dolgozik. Ismert kódrészleteket, gyanús függvényeket, módosított core fájlokat keres. Ez hasznos, de nem döntő.
A WordPress malware gyakran nem úgy néz ki, hogy ott áll egy evil.php fájl a gyökérben. Lehet adatbázisba rejtett JavaScript. Lehet hamis plugin, amelynek van pár ártalmatlan funkciója is, hogy ne tűnjön üresnek. Lehet egy backdoor, ami csak bizonyos IP-ről vagy user-agenttel aktiválódik. Lehet egy admin felhasználó, amit a WordPress felületén már nem is látsz.
Ha a malware elég ügyes, megpróbálja azokat a pontokat manipulálni, amelyeken keresztül te ellenőriznéd. Ezért gyenge stratégia kizárólag az admin felületből kiindulni.
Adatbázis-fertőzésnél nincs mit "fájlként törölni"
Sok fertőzés nem fájlban kezdődik. A kártékony script bekerülhet a wp_options táblába, widgetbe, menübe, SEO mezőbe vagy egy sablonbeállításba. A látogató oldalán mégis minden betöltéskor megjelenik.
Ilyenkor a plugin lehet, hogy nem talál fertőzött fájlt. Ettől a site még fertőzött. A valódi WordPress tisztítás ilyenkor adatbázis-audittal is dolgozik: melyik option változott, mikor jelent meg a script, milyen admin vagy HTTP kérés előzte meg.
Backdoor és kamu plugin
A támadó gyakran nem egyszeri bejutást akar, hanem visszajáratot. Erre jó a backdoor vagy a kamu plugin. A neve lehet teljesen hétköznapi. A WordPress adminban pedig úgy nézhet ki, mintha egy normál bővítmény lenne.
A WebShield folyamatosan figyeli, ha új plugin vagy sablon jelenik meg. Az új komponenseket azonnal átnézi: van-e bennük valódi funkcionalitás, vagy csak kódot töltenek be, admin fiókot készítenek, távoli szerverrel kommunikálnak.
Ez azért erős, mert nem akkor derül ki a baj, amikor már Google Ads tiltás van vagy a tárhelyszolgáltató ír. Már a komponens megjelenése gyanús esemény.
Mi van, ha a malware elrejti magát?
Egy WordPress malware átírhat hookokat, szűrheti az admin listát, vagy elrejthet bizonyos elemeket a felületről. Ha csak azt nézed, amit az admin mutat, könnyen hamis képet kapsz.
A WebShield az admin felhasználókat, plugineket, sablonokat és egyéb komponenseket a WordPress felületétől függetlenül is figyeli. Így akkor is észrevehető egy új admin vagy plugin, ha a malware megpróbálja elrejteni.
Ez a különbség a "ránéztem a dashboardra" és a rendszerállapot valódi vizsgálata között.
HTTP kérésből lesz fájlváltozás
Ha egy fájl megváltozik, önmagában az is jelzés. De a kérdés az, hogy mi váltotta ki. A WebShield össze tudja kötni a fájlváltozásokat a bejövő HTTP kérésekkel. Ez kézzel nagyon időigényes, automatizálva viszont gyorsan ad használható nyomot.
Ha egy sérülékeny endpoint kap egy POST kérést, és utána létrejön egy új PHP fájl, akkor nem csak a következményt látjuk, hanem a támadási útvonalat is. Ez zero-day helyzetben is számít. A YouTube-csatornán bemutatott 10.0 CVSS-es WordPress esetnél pont az volt az erős, hogy a támadás még javítás előtt felismerhető volt viselkedés alapján.
Mitől valódi a tisztítás?
Attól, hogy nem csak találatlistát kezel. Fájlokat hasonlít össze hivatalos forrásokkal, site-ok között is keres eltéréseket, nézi az adatbázist, adminokat, új komponenseket, HTTP kéréseket, backupokat és visszatérési pontokat.
Egy vírusirtó plugin jó első jelzés. De ha bevételt termelő oldalról, webshopról vagy ügyféloldalról van szó, akkor a kérdés nem az, hogy "talált-e valamit a plugin". Hanem az, hogy maradt-e olyan út, amin a támadó holnap visszajön.