Pohotovost 24/7 aktivní Reakce do 11 minut Aktivní incidenty: 3 Vyčištěno 1 284 webů Odstranění z blacklistu Google i Seznam Garance vrácení peněz

← Blog Incidenty

Wp2shell backdoor a pět falešných administrátorů v databázi

Firemní web na Elementoru měl v databázi REST backdoor tvářící se jako SMTP plugin a pět admin účtů, které nikdo nezakládal. Soubory nestačilo smazat — bez čištění SQL by se infekce vrátila s první aktivací.

zavirovanywordpress 17. 8. 2026 07:25 3 min čtení Oblíbený

Druhý spis ze stejného týdne vypadal jinak. Hosting web nesundal. Majitel hlásil divné chování administrace a podezření, že „tam někdo je“. Firemní web na Elementoru + Polylang, prefix tabulek opme_.

Když jsme otevřeli dump, bylo jasné proč.

Co sedělo v databázi

1. Pět administrátorů, které nikdo neznal

Účty typu wpsvc_…, wp2_…, w2s_…, yun_11 s e-maily na doménách jako wordpress-svc.internal, wp2shell.invalid, shellcode.lol. Vznikly v okně několika dní v červenci. Klasický persistence kit: i když smažete soubory, útočník se přes admina vrátí.

2. Falešný plugin v active_plugins

V aktivních pluginech seděl wp-smtp-20ca6a774792 — ne WP Mail SMTP. Byl to wp2shell REST backdoor: vzdálené řízení přes WordPress REST API, změny v postech a meta, artefakty s ID v řádu milionů.

3. Šum v posts / postmeta

Útok nechal stopy — changesety, oEmbed šum, odkazy na wp2shell a example.invalid. Obsah webu (stránky, překlady, Elementor data) šel oddělit. Artefakty útoku ne.

Proč nestačí „přehrát WordPress“

Majitel měl čisté jádro. Databáze byla špinavá. Když připojíte fresh WP na kontaminovaný dump:

  • aktivuje se falešný SMTP plugin (pokud soubor někde zůstal) nebo aspoň zůstane v options
  • falešní admini pořád existují
  • první přihlášení útočníka je otázka času

Naopak: čistá DB + chybějící šablona/pluginy na disku = bílá stránka. To jsme řešili odděleně — dočasně vypnout pluginy a přepnout na default theme, pak doinstalovat oficiální balíčky.

Sanitace, kterou jsme použili

  1. Smazat falešné uživatele a jejich usermeta.
  2. Přepsat active_plugins na legitimní seznam (Elementor, Polylang, cache, analytika…).
  3. Smazat post/postmeta artefakty wp2shell.
  4. Invalidovat všechny session_tokens.
  5. Ověřit siteurl / home.
  6. Čerstvé jádro + pluginy z oficiálních zdrojů — žádné soubory z karantény.
  7. Rotace všech hesel (WP, DB, FTP, panel).

Až potom dává smysl pouštět web ostrý.

Rozdíl oproti „LitSpeed“ incidentu

| | Blog s LitSpeed-Beta | Firemní web s wp2shell | |--|----------------------|-------------------------| | Hlavní škoda | Malware pro návštěvníky + lock hostingu | Skrytí admini + REST backdoor | | Kde to sedělo | Soubory + aktivní plugin | Hlavně databáze | | SEO spam | Ne | Ne | | Obnova | Čisté WP + vyčištěná DB | Sanitace SQL + fresh disk |

Dva různé kity. Stejná chyba na straně oběti: kompromitovaný přístup a žádná 2FA.

Co doporučujeme po každém takovém zásahu

  • 2FA na všechny administrátory
  • Kontrolovat seznam uživatelů po každém „divném“ týdnu
  • active_plugins brát jako důkaz — ne jako otravný seznam
  • Zálohu mít mimo stejný účet; špinavou zálohu neobnovovat naslepo
  • Po zásahu změnit všechna hesla, ne jen to „hlavní“

Pokud v administraci přibyli uživatelé, které nepoznáváte, nebo v pluginech svítí SMTP / security kit s náhodným hashem v názvu, pište. To už není „možná cache“.