Když místo svého webu vidíš jinou stránku aneb 5 hodin čištění malwaru

Co se stalo?

Přišel mi email od klientky:

Můj web přestal z ničeho nic fungovat, přestože mám zaplacenou doménu i webhosting. Po zadání se nyní zobrazuje úplně jiná, nerelevantní stránka.

Červ na klávesnici u písmena "w"

Datum poslední změny: 9. 2. 2026

Ve WordPressu to může znamenat několik věcí - problém s hostingem, souborem htaccess nebo jiným přesměrováním, nějaká nekompatibilita pluginů nebo napadený web. U klientky bohužel to poslední.

Ta “jiná stránka” byla od hostingu, kam jí web přesměroval kvůli přetěžování serveru. Po přesměrování zpět mě uvítala prázdná bílá stránka. Do WP se v tu chvíli nedalo dostat.

První kroky: změna hesel

Jako první jsem změnil hesla k FTP, databázi a stáhnul celý web k sobě.

Na webu jsem přehrál složky wp-adminwp-includes čistým WP ve verzi 6.6.1, tedy klietky “aktuální” verzí WP. Nne nejaktuálnější, abych se vyhnul nekompatibiltám - v první řadě šlo web vyčistit a rozjet, poté aktualizovat.

Poznámka: přehrání složek wp-admin a wp-includes nemá na data na webu vliv - texty a nastvení jsou v databázi, obrázky a pluginy ve složce wp-content.

Po přehrátí WP se už šlo přihlásit → jednotlivým uživatelům ve WP jsem změnil hesla a administrátroská oprávnění jsem stáhnul na návštěvníky (páč pořád mohli požádat o resetování hesla). Pokud by je klientka neznala, plán byl je smazat. Což se následně stalo.

Vytvořil jsem nový účet pro klientku a její původní admin účet se jménem admin rovnou smazal (po převedení článků na nový účet klientky!).

Pátrání začíná: wp-config.php

Připojil jsem se na FTP a začal tam, kde začínám vždycky - ve wp-config.php. A hned v něm čekal na objevení podezřelý řádek:

define('WP_TEMP_DIR',dirname(__FILE__).'/wp-content/uploads');

Proč je to divný? WordPress má vlastní systém pro dočasné soubory. Když někdo předefinovává cestu do uploads, často to znamená, že tam chce něco schovávat.

Prohledal jsem uploads a smazal jeden nalezený php script. PHP skripty nemají v uploads co dělat. Nikdy. Uploads jsou pro obrázky, PDF atp. - ne pro spustitelný kód.

Překontroloval jsem .htaccess

Nad hlavní instalací WordPressu byly nahrané další .htaccess soubory – další důkaz, že útočníci měli přístup k FTP.

Pluginy, témata a podivné PHP skripty

Pokračoval jsem pluginy - i tady se zadařilo.

Ve wp-content/plugins/ jsem našel dva pluginy, které tam neměly co dělat:

  • wp-content/plugins/klqchah/
  • wp-content/plugins/cqdpztr/

Obě složky byly vytvořené 12. září 2025 - s největší pravděpodobností den, kdy došlo k infekci.

Ve wp-content/themes/ byla další sklizeň:

  • téma lwkybtx
  • téma bsjzgee
  • soubor cong.php - PHP soubor přímo mezi tématy? To tam opravdu nepatří.

Všechno jsem smazal.

Wordfence

Nainstaloval jsem Wordfence a spustil kompletní scan. Našel další infekci:

  • wp-advanced-suite – plugin, který se tvářil legitimně, ale dle Wordfence obsahoval malware.

Aktualizoval jsem WordPress a pluginy

Web byl dlouho neaktualizovaný. Po vyčištění jsem vše aktualizoval na nejnovější verze.

Výsledek

Po 4 hodinách práce:

  • ✅ Web zase funguje
  • ✅ Malware odstraněn
  • ✅ Hesla změněná
  • ✅ WordPress a pluginy aktualizované
  • ✅ Wordfence scan čistý

A teď to nejdůležitější: jak tomu příště předejít?

Tenhle příběh má jedno velké ponaučení: neaktualizovaný web je otevřená brána pro útočníky. A tenhle příběh není jediný - o jednom podobném už jsem dříve psal, několik podobných webů čistil.

Pokud nechceš řešit podobnou situaci, máš v podstatě dvě možnosti (respektive třetí je případ tohoto článku - otázka není jestli, ale kdy):

1. Pravidelně se o web starat sám/sama

  • Aktualizovat pluginy, témata, samotný WordPress a PHP na serveru.
  • Nemít na webu víc uživatelů než je nutné. A ne každý potřebuje admin přístup. Pokud je více uživatelů nutných, pak zvážit dvoufázové zabezpečnení nebo přesměrování login stránky.
  • Mít na webu dobrý plugin, který se postará o zabezpečení. Třeba Wordfence - jak ho nastavit jsem popsal tady.
  • Zálohovat. A mít záloh více s časovým odstupem.

2. Nechat to na někom, kdo to dělá profesionálně

Přesně proto nabízím správu webu. Starám se o:

  • 🔄 Pravidelné aktualizace WordPressu, pluginů a témat.
  • 🔒 Bezpečnostní monitoring.
  • 💾 Automatické zálohy.
  • 🚨 Když se něco děje, reaguju, aby se předešlo problémům.

Když se někdo o web stará pravidelně, riziko hacknutí klesá blízko k nule. A když už se něco stane, řeším to - ne až když web "přestal z ničeho nic fungovat".

Slyším námitku: "Hele, když trvalo odvirovat web pět hodin práce... To stejně zaplatila za odvirování mnohem míň, než za několik let správy webu, ne?" Jo a ne. Připočítej do bilance ztrátu zakázek: I kdyby jí nefunkčním webem utekla jediná... Přitom nemusí jít zdaleka o nefunkční web, stačí nefunkční kontaktní formulář. Rázem přicházíš o tisíce.

Zajímá tě správa webu? Napiš mi a domluvíme se na variantě, která bude dávat smysl pro tvůj web a rozpočet.

Časté otázky

Jak poznám, že je můj WordPress web napadený?

Nejčastější signály: web přesměrovává návštěvníky na cizí stránku, objevuje se na něm obsah, který jsi tam nedal (reklamy, odkazy na casino), hosting web odstavil kvůli přetížení, nebo tě na napadení upozorní bezpečnostní plugin jako Wordfence.

Proč mě web přesměrovává na cizí stránku?

Přesměrování je klasická stopa malwaru. Útočník se přes neaktualizovaný WordPress, plugin nebo šablonu dostane k souborům webu a vloží do nich kód, který návštěvníky posílá jinam. Cílem bývá vydělat na reklamě nebo tě zneužít k rozesílání spamu. Řešení není vypnout jeden plugin, ale najít a odstranit vložený kód a zjistit, kudy se útočník dostal dovnitř.

Dá se malware z WordPressu odstranit svépomocí?

Když víš, co hledáš, jde to — přehrát jádro WordPressu čistou verzí, projít wp-config.php a .htaccess, smazat podezřelé pluginy, skripty i témata a všude změnit hesla. Háček je v tom, že malware se často maskuje a umí se sám obnovit. Když jeden kousek přehlédneš, infekce se vrátí. Pokud si nejseš jistej, radši to přenech někomu, kdo ví, kam se dívat. Třeba mně. 😉

Jak dlouho trvá vyčištění napadeného webu?

U běžného napadení mi vyčištění zabere kolem pěti hodin — od změny hesel přes přehrání jádra a odstranění škodlivých souborů až po proběhnutí bezpečnostního skenu. Záleží na tom, jak hluboko se malware zakořenil a kolik míst je potřeba projít. Cenově to zhruba odpovídá roční správě webu, takže prevence bývá levnější než hašení požáru. A nepřicházíš o zakázky nebo i dobré jméno.

Jak zabránit tomu, aby se malware vrátil?

Základ je pravidelně aktualizovat WordPress, pluginy i šablony — většina útoků jede přes známé díry ve starém softwaru. K tomu patří silná hesla, bezpečnostní plugin, pravidelné zálohy a někdo, kdo web hlídá a zareaguje dřív, než se problém rozjede. Přesně tohle dělá průběžná správa webu: neřeší se, až když hoří, ale předchází tomu.

Máš podezření, že ti někdo napadl web?

Rád ti pomůžu web odčervit.

Tvůrce webů ukazující na notebook na bílém pozadí se žlutými grafickými prvky

WordPressito

Měsíční newsletter pro majitele webů, kteří chtějí, aby jejich WordPress spolehlivě fungoval.

Dozvíš se:

🔌 Tipy na užitečné pluginy a nástroje.
🆕 Novinky z WordPress světa.
💡 Praktické návody a rady.

linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram