← Zpět na blog |

Falešné admin účty ve WordPressu: Backdoor, který přehlédnete

Vyčistili jste web a malware se vrátil? Problém jsou backdoory. Zjistěte, kde hackeři skrývají falešné admin účty a jak je trvale odstranit.

Falešné admin účty ve WordPressu: Backdoor, který přehlédnete

Vyčistili jste web od malwaru, změnili všechna hesla, aktualizovali pluginy. Za tři týdny je infikovaný znovu. Přesně stejným způsobem.

Není to smůla. Je to backdoor, který jste při čistce přehlédli.

Jedním z nejčastějších — a nejlépe skrytých — nástrojů, které útočníci zanechávají po napadení WordPress webu, jsou falešné administrátorské účty. Nejde přitom vždy o viditelného uživatele v seznamu administrátorů. Backdoor může existovat jako skrytý PHP soubor, upravená databázová funkce nebo kód ukrytý v nahraném obrázku.

Tento článek vám ukáže, kde přesně hackeři tyto vstupy zanechávají, jak je najít — a proč je smazání jednoho souboru nikdy nestačí.


Proč hackeři zanechávají backdoor?

Útok na WordPress web není cíl sám o sobě. Je to začátek. Útočníci potřebují trvalý, nenápadný přístup, který přežije i čistku.

Backdoor jim umožňuje:

  • kdykoli se vrátit a znovu infikovat web
  • posílat spam nebo rozesílat phishingové e-maily přes váš server
  • přesměrovávat návštěvníky na podvodné stránky
  • těžit kryptoměny na pozadí
  • využívat váš server jako součást botnetu

Typický útočník nasadí více backdoorů najednou — v různých umístěních, různými technikami. Pokud najdete jeden, neznamená to, že je web čistý.


Kde se backdoor schovává: 5 nejčastějších míst

1. Databáze WordPress — tabulka wp_users

Nejviditelnější, ale překvapivě často přehlédnutá metoda. Útočník vytvoří nový účet s rolí administrátora, často s názvem připomínajícím legitimního uživatele nebo systémový účet:

  • admin2, wordpress_admin, support, backup_user
  • jméno složené z náhodných znaků: x7k2mq91

Jak zkontrolovat: Přihlaste se do phpMyAdmin nebo použijte WP-CLI a spusťte:

SELECT user_login, user_email, user_registered FROM wp_users ORDER BY user_registered DESC;

Hledejte účty, které si nepamatujete, nebo účty zaregistrované v době, kdy probíhal útok.

2. Soubor wp-config.php

wp-config.php je soubor, který útočníci modifikují méně často — právě proto, že ho správci sledují. Přesto se vyplatí zkontrolovat jeho začátek a konec, kde bývá přidán obfuskovaný kód:

<?php eval(base64_decode('...dlouhý zakódovaný řetězec...')); ?>

Funkce eval() spolu s base64_decode() je klasický podpis škodlivého kódu. V legitimním wp-config.php se nevyskytuje nikdy.

3. Soubor .htaccess

.htaccess v kořenovém adresáři webu i ve složkách pluginů a motivů může obsahovat přesměrovací pravidla nebo přidat přístup k jinak nedostupným souborům.

Hledejte řádky jako:

RewriteCond %{HTTP_REFERER} .*google.*
RewriteRule ^(.*)$ http://podvodna-stranka.com/$1 [R=302,L]

Nebo přidání přístupu k nebezpečným souborům:

<Files "backdoor.php">
  Allow from all
</Files>

4. Složka /wp-content/uploads/

Tato složka je určena pro obrázky a média — a právě proto ji správci bezpečnosti podceňují. WordPress standardně neumožňuje spouštění PHP souborů ze složky uploads, ale útočník může toto omezení obejít vložením vlastního .htaccess.

Co hledat: PHP soubory ve složce uploads (soubory s příponou .php, .php5, .phtml).

find wp-content/uploads -name "*.php" -type f

Jakýkoli nález je červená vlajka.

5. Pluginy a motivy — i neaktivní

Deaktivovaný plugin stále existuje na serveru. Útočníci to vědí a rádi vkládají backdoor právě do neaktivních pluginů, protože je málokdo kontroluje.

Zvláštní pozornost věnujte:

  • pluginům staženým z neoficiálních zdrojů
  • motivům, kde není jasný původ
  • souborům s generickými názvy jako plugin.php, update.php, cache.php uvnitř složek pluginů

Jak backdoor najít: praktický postup

Krok 1: Porovnejte soubory s čistou instalací

Stáhněte čistou kopii WordPressu ze wordpress.org a porovnejte základní soubory:

diff -rq wordpress-clean/ wordpress-live/ --exclude="wp-config.php" --exclude="wp-content/"

Jakýkoli rozdíl v core souborech je podezřelý.

Krok 2: Hledejte obfuskované funkce

Backdoor kód typicky používá tyto PHP funkce — jejich výskyt mimo legitimní pluginy je alarmující:

  • eval()
  • base64_decode()
  • str_rot13()
  • gzinflate()
  • preg_replace() s modifikátorem /e
  • assert()

Prohledejte celý web:

grep -r "eval(base64_decode" . --include="*.php"
grep -r "gzinflate" . --include="*.php"

Krok 3: Zkontrolujte časy modifikace souborů

Soubory modifikované v době útoku jsou podezřelé:

find . -name "*.php" -newer wp-config.php -type f

Krok 4: Auditujte databázi

Kromě tabulky wp_users zkontrolujte i wp_options — útočníci zde ukládají konfiguraci backdooru nebo nastavují podvodné URL pro siteurl nebo home:

SELECT option_name, option_value FROM wp_options WHERE option_name IN ('siteurl', 'home', 'admin_email');

Proč smazání nestačí: logika forenzní čistky

Mnoho správců smaže nalezený backdoor soubor a považuje problém za vyřešený. Za tři týdny je web znovu infikovaný.

Důvod: smazali jeden vstupní bod, ale ne všechny. A útočník má stále platné přihlašovací údaje nebo jinou cestu dovnitř.

Skutečná čistka vyžaduje:

  1. Identifikaci původního vektoru útoku — jak se útočník dostal dovnitř (slabé heslo, zranitelný plugin, zranitelnost v motivu?)
  2. Záplatu vstupního bodu — nestačí smazat backdoor, je nutné opravit zranitelnost
  3. Kompletní audit všech souborů — nikoli jen prohledání jedné složky
  4. Výměnu přihlašovacích údajů — všechna hesla, databázové přístupy, FTP, hosting panel
  5. Verifikaci čistoty — opakované skenování po 24, 72 hodinách a 7 dnech

Signály, že váš web obsahuje backdoor

Nejste si jisti, jestli je váš web čistý? Tyto příznaky naznačují přítomnost backdooru:

  • Web byl "vyčištěn", ale infekce se opakuje
  • V seznamu uživatelů vidíte účty, které si nepamatujete
  • Hosting vás varoval před odesíláním spamu
  • Google Search Console hlásí neindexované podezřelé URL
  • Výkon serveru je bez zjevného důvodu nižší
  • E-mailový účet domény posílá zprávy, které jste neodesílali

Co dělat, když backdoor najdete

Pokud jste nalezli falešný admin účet nebo podezřelý soubor, neprovádějte změny v panice. Zachovejte důkazy a postupujte metodicky.

Pokud si nejste jisti rozsahem napadení nebo chcete mít jistotu, že je web skutečně čistý, je to přesně situace pro odbornou pomoc. V rámci naší záchranné operace RESCUE provádíme kompletní forenzní analýzu, identifikujeme všechny vstupní body a backdoory — a odstraňujeme je trvale, ne jen povrchově.


Shrnutí

Falešné admin účty a backdoory jsou tím, proč se malware vrací i po zdánlivě úspěšné čistce. Skrývají se v databázi, v nahraných souborech, v neaktivních pluginech i v základním kódu WordPressu. Najít je vyžaduje systematický přístup — ne jednu ruční kontrolu.

Pokud se váš web infikuje opakovaně, pravděpodobně jde o nevyřešený backdoor. A ten se sám od sebe neodstraní.


Potřebujete pomoc s čistkou nebo forenzní analýzou? Kontaktujte nás — reagujeme do 2 hodin.