zpět na technikálie

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.

WordPressito

Měsíční newsletter pro lidi, 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.

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