WordPress malware
Wordfence szerint tiszta az oldal, mégis fertőzött
Wordfence szerint tiszta az oldal, mégis fertőzött
Előfordul, hogy a Wordfence szerint tiszta az oldal, mégis fertőzött. Ez elsőre ellentmondásnak tűnik, de a gyakorlatban teljesen reális helyzet. Egy biztonsági plugin hasznos eszköz, de nem teljes incidenskezelés. Nem lát mindent, nem mindig tudja értelmezni a környezetet, és bizonyos támadások kifejezetten úgy készülnek, hogy elkerüljék az automatikus keresést.
Ez nem azt jelenti, hogy a Wordfence rossz. Azt jelenti, hogy egy WordPress fertőzés vizsgálata több rétegből áll: fájlok, adatbázis, szerverlogok, HTTP kérések, admin hozzáférések, cache, külső betöltések és a látogatói viselkedés alapján aktiválódó kódok együtt adnak képet.
Ha a látogatók átirányítást látnak, a Google Ads rosszindulatú szoftver miatt tilt, vagy SEO spam oldalak jelennek meg, akkor a “plugin szerint tiszta” eredmény nem elég bizonyíték arra, hogy tényleg nincs fertőzés.
Tünetek
Tipikus helyzetek, amikor a Wordfence nem jelez, de a weboldal mégis gyanús:
- a Google Ads rosszindulatú szoftver miatt letiltja a hirdetést,
- a Google Search Console biztonsági problémát mutat,
- a látogatók egy része más weboldalra kerül,
- csak mobilon történik átirányítás,
- csak Google találatból érkezve látszik a fertőzés,
- a böngésző néha veszélyes oldal figyelmeztetést ad,
- a forráskódban idegen JavaScript jelenik meg,
- ismeretlen admin felhasználó van,
- a tárhelyen gyanús PHP fájlok vannak az
uploadskönyvtárban, - a weboldal időnként visszafertőződik.
Az is gyakori, hogy a tulajdonos és az ügynökség nem tudja reprodukálni a hibát. A támadó kód lehet feltételes: csak új látogatóknak, csak bizonyos országokból, csak mobilos user-agenttel vagy csak hirdetésből érkező forgalomnál fut le.
Hogyan tud fertőzött maradni egy oldal, ha a plugin tisztának látja?
Egy biztonsági plugin többnyire mintákat, ismert malware szignatúrákat, fájlváltozásokat és konfigurációs problémákat keres. Ez hasznos, de vannak korlátai.
Néhány ok, amiért a fertőzés rejtve maradhat:
- a kód adatbázisban van, nem fájlban,
- a malware egyedi, még nincs hozzá szignatúra,
- a támadó normálisnak tűnő pluginfájlba rejtette,
- a fertőzés cache fájlon keresztül jelenik meg,
- a kód külső JavaScriptből érkezik,
- a támadó csak bizonyos látogatóknak aktiválja,
- a plugin nem fér hozzá minden fájlhoz jogosultsági okból,
- a fertőzés nem WordPress fájlban, hanem tárhelyszintű fájlban van,
- a backdoor nem kártékony mintának látszik, hanem apró loaderként működik.
Példa: egy támadó létrehozhat egy ártatlannak tűnő fájlt:
wp-content/uploads/2026/06/cache-helper.php
Ebben nincs hosszú, látványos malware. Csak annyi, hogy bizonyos kérésnél letölt és futtat távoli kódot. Egy ilyen loader sokszor nehezebben felismerhető, mint egy klasszikus base64_decode mintás fertőzés.
Indikátorok, amelyeket plugin találat nélkül is vizsgálni kell
Ha a Wordfence tisztának látja az oldalt, de mégis gyanú van, az alábbi IOC-ket érdemes ellenőrizni.
Gyanús fájlhelyek:
wp-content/uploads/*.php
wp-content/uploads/**/index.php
wp-content/mu-plugins/*.php
wp-content/cache/**/*.php
wp-includes/random-name.php
Gyanús PHP függvények:
eval(...)
base64_decode(...)
gzinflate(...)
shell_exec(...)
passthru(...)
assert(...)
Ezek önmagukban nem mindig jelentenek fertőzést, de WordPress sablonban vagy feltöltési könyvtárban gyanúsak.
Adatbázisban kereshető minták:
SELECT option_name, option_value
FROM wp_options
WHERE option_value LIKE '%<script%'
OR option_value LIKE '%base64%'
OR option_value LIKE '%window.location%';
Érdemes vizsgálni:
wp_options,- widget tartalmak,
- page builder meta mezők,
- bejegyzések és oldalak tartalma,
- admin felhasználók,
- cron események,
- autoload opciók.
Hogyan vizsgáld ki?
Ne csak a Wordfence scan eredményét nézd. Hasznos lépések:
- Nyisd meg az oldalt inkognitóban.
- Teszteld mobilról és más hálózatról.
- Nézd meg a böngésző Network paneljét.
- Keresd a külső domaineket, amelyeket az oldal betölt.
- Nézd át az utóbbi napokban módosított fájlokat.
- Keresd a PHP fájlokat az
uploadskönyvtárban. - Ellenőrizd a
mu-pluginskönyvtárat. - Nézd át az admin felhasználókat.
- Vizsgáld meg a szerver access logokat.
- Ellenőrizd a cache és CDN réteget is.
Ha a probléma átirányítás, különösen fontos a referrer és user-agent tesztelés. Erről részletesebben írtam a WordPress átirányításos fertőzésekről.
Miért nem elég egyetlen plugin?
Egy plugin a saját látókörén belül dolgozik. Egy valódi incidensnél viszont kérdésekre kell válaszolni:
- mikor kezdődött a fertőzés?
- melyik fájl vagy kérés volt az első nyom?
- volt-e sikeres admin belépés?
- plugin sérülékenységből, jelszóból vagy tárhely hozzáférésből jött?
- van-e backdoor?
- miért fertőződött vissza korábban?
Ehhez naplók, fájlidők, HTTP kérések, adatbázis-nyomok és WordPress események együtt kellenek. A WebShield ebben erősebb, mint egy egyszerű scan: a naplózás és a célzott vizsgálat segít megérteni a belépési pontot is, nem csak a tünetet.
Hogyan távolítsd el?
Ha a Wordfence nem talál semmit, de a fertőzés tünetei valósak, óvatosan kell eljárni.
Ajánlott folyamat:
- készíts mentést a jelenlegi fertőzött állapotról,
- hasonlítsd össze a WordPress core fájlokat tiszta csomaggal,
- cseréld le a core fájlokat hivatalos forrásból,
- frissíts minden plugint és sablont,
- távolítsd el a nem használt plugineket,
- nézd át a
uploadsésmu-pluginskönyvtárat, - keresd meg az adatbázisba rejtett scriptet,
- tisztítsd a cache-t,
- cserélj jelszót minden hozzáférésnél,
- ellenőrizd, nem maradt-e ismeretlen admin user.
Ha van tiszta mentés, az segíthet, de önmagában nem garancia. Ha a sérülékeny plugin vagy kiszivárgott jelszó megmarad, a visszaállított oldal újra fertőződhet.
Megelőzés
A megelőzésnél a cél nem az, hogy “legyen egy biztonsági plugin”, hanem hogy legyen láthatóság és kontroll.
Fontos elemek:
- frissítési rend,
- managelt pluginfrissítés,
- erős jelszó-szabályzat,
- kétfaktoros belépés,
- admin belépések figyelése,
- fájlváltozások monitorozása,
- HTTP kérések naplózása,
- rendszeres, gyakori mentés,
- visszaállítás tesztelése,
- felesleges pluginok törlése.
Az OWASP Top 10 jó általános háttér ahhoz, hogy értsd, miért nem csak “víruskeresésről” van szó:
https://owasp.org/www-project-top-ten/
Mikor hívj szakértőt?
Szakértő kell, ha:
- üzletileg fontos oldalról van szó,
- hirdetés fut rá,
- a fertőzés visszatér,
- a plugin nem talál semmit, de a Google vagy a látogatók problémát jeleznek,
- nem világos, hol van a belépési pont,
- nincs napló,
- több weboldalt kezelsz ügyfeleknek,
- webshop vagy leadgyűjtő oldal érintett.
Egy ügynökségnek különösen kellemetlen, ha az ügyfél azt látja, hogy “a plugin szerint minden rendben”, miközben a hirdetés áll vagy a látogatók spam oldalra kerülnek. Ilyenkor incidenskezelési szemlélet kell, nem csak újabb scan gomb.
Összefoglalás
Ha a Wordfence szerint tiszta az oldal, de a tünetek fertőzésre utalnak, ne zárd le a vizsgálatot. A malware lehet adatbázisban, cache-ben, külső JavaScriptben, feltételes átirányításban vagy apró loader fájlban. A jó vizsgálat nem csak azt kérdezi, “van-e vírus”, hanem azt is, hogyan jutott be, mit módosított, maradt-e backdoor, és hogyan előzhető meg az újrafertőződés.