Zpět na blog

Skrytý administrátor ve WordPressu: útočná kampaň schovává vlastní účet

Od 4. října Patchstack sleduje kampaň, při níž se stejný skript dostává na weby přes zranitelnosti ve dvou různých pluginech. Poté se na webu objeví administrátor, který není vidět ani v seznamu uživatelů, ani v počítadlech rolí nad ním.

Jak se skript dostane na web

První zranitelnost je ve WPC Product Bundles for WooCommerce (přibližně 30 000 instalací), druhá v Ninja Forms (více než 500 000). Obě umožňují nepřihlášenému návštěvníkovi uložit na web škodlivý skript: v prvním případě do metadat objednávky ve WooCommerce a ve druhém do textu odeslaného formuláře. Útočník nepotřebuje, aby někdo klikl na odkaz, protože skript se uloží tam, kam administrátor běžně chodí, a spustí se ve chvíli, kdy otevře objednávku nebo odeslaný formulář.

Místo krádeže cookies skript pracuje uvnitř již otevřené relace, načítá stránky wp-admin, získává z nich nonce a provádí akce jménem administrátora. HttpOnly tady nepomůže, protože skript nepotřebuje cookie vůbec číst. Tímto způsobem nainstaluje plugin WP Smart Thumbnails, který se při běžném načtení WordPressu nijak neprojeví, spustí se pouze při přímém HTTP požadavku na svůj soubor a obsahuje správce souborů bez autorizace.

Skrytý administrátor

Druhý skript, nainstalovaný spolu s pluginem, vytvoří další účet administrátora. Uživatelské jméno vybírá ze seznamu běžných slov jako support, updater, maintenance nebo backup a e-mail používá doménu @wordpress.org. Účet skrývá mu-plugin, který ho vyřadí z dotazu pro seznam uživatelů a zároveň upraví počítadla rolí nad tabulkou. Mu-pluginy navíc nelze z administrace běžně vypnout, takže smazání WP Smart Thumbnails se jich nedotkne.

Druhý mu-plugin obsluhuje odkaz ve tvaru /wp-login.php?_wplogin=token, který útočníka přihlásí jako nejstaršího administrátora webu, obvykle majitele. Časové údaje nových souborů jsou navíc zfalšované: skript zjistí nejstarší datum změny v kořenovém adresáři WordPressu a nastaví ho i nově vytvořeným souborům. Hledání souborů podle nedávné změny proto nemusí nic odhalit.

Čtyři cesty zpět

Po jediném úspěšném spuštění má útočník čtyři způsoby, jak se na web vrátit: běžný administrátorský účet, skrytého administrátora, magický odkaz a správce souborů. Odstranění zranitelného pluginu přitom nezavře žádnou z posledních tří cest.

Výzkumníci upozorňují, že útočníkům nezáleží na tom, přes který plugin se skript na web dostane. Využívají jakoukoli stored XSS, která zobrazí JavaScript administrátorovi, a další část útoku pak probíhá pokaždé stejně.

Zranitelnosti byly zveřejněny 22. září (Ninja Forms) a 23. září (WPC Product Bundles) a první pokus o zneužití byl zaznamenán 4. října. Opravy už v té době byly k dispozici, konkrétně ve verzích WPC Product Bundles 8.6.7 a Ninja Forms 3.15.4.

Co si z toho odnést

Oba pluginy měly opravy k dispozici ještě před prvním zaznamenaným útokem, který přišel 11 až 12 dní po zveřejnění zranitelností. Tyto dva vstupní body tedy fungovaly pouze na webech, které nebyly včas aktualizovány.

Následný úklid trvá výrazně déle než samotná aktualizace, protože odstranění zranitelného pluginu nechává ostatní cesty otevřené. Web, na kterém běžela dotčená verze pluginu a jehož administrátor otevíral objednávky nebo odeslané formuláře, je proto vhodné považovat za potenciálně napadený. Původní rozbor uvádí, co přesně je potřeba hledat.

Autor: Valentyn
Sdílet tento příspěvek
Domluvte si hovor
Kontakty

    Povězte nám o svém projektu – ozveme se vám do 24 hodin.

    odpovědi do 24 hodin

    Děkujeme!
    Děkujeme za Váš e-mail – brzy se Vám ozveme.