Před čím vás 2FA a passkeys neochrání
Věta „zapněte dvoufázové ověření“ se stala standardní odpovědí téměř na jakoukoli otázku o napadených webech na WordPressu. Řeší nejčastější případy, tedy úniky hesel a jejich hádání, ale tři letošní příběhy 2FA obešly a dva z nich se přihlašovacího formuláře vůbec nedotkly.
Co 2FA řeší
Autoři pluginu WP 2FA ho popisují jako ochranu proti únikům hesel, automatickému hádání a brute force útokům. Passkeys jdou ještě dál a chrání i proti phishingu, protože přihlášení je vázáno na konkrétní doménu a na podvržené stránce prohlížeč přihlašovací údaje nevydá. Na serveru navíc zůstává pouze veřejný klíč, takže tam není co ukrást.
Jednorázový kód z autentizační aplikace funguje jinak, protože ho lze z uživatele vylákat a zadat na podvodné stránce. Passkeys jsou součástí bezplatné verze WP 2FA, zatímco možnost přidat více klíčů jednomu uživateli je dostupná pouze v placené verzi.
Tři příběhy, které 2FA obešly
V říjnové kampani se stored XSS, o které jsme psali, spouští uvnitř už otevřené relace administrátora. Heslo i druhý faktor už byly v tu chvíli zadány, takže skript nemusí nic prolamovat.
Zadní vrátka z incidentu s UpdraftCentral, o kterém jsme psali dříve, vytvoří uživatele s rolí Editor, samostatně mu přidělí oprávnění manage_options a install_plugins a útočník se dovnitř dostane přímým nastavením cookie. Přihlašovací formulář se do útoku vůbec nezapojuje, takže 2FA ani ochrana proti hádání hesel nepřijdou ke slovu. Kontrola seznamu administrátorů navíc takový účet nemusí odhalit.
V červnu se přes aktualizační kanál placených pluginů ShapedPlugin dostal na weby škodlivý kód, který kradl přihlašovací údaje, relační cookie, data z wp-config.php a tajné klíče 2FA používané populárními bezpečnostními pluginy. BleepingComputer po takovém incidentu doporučuje změnit hesla a znovu vytvořit tajné klíče 2FA. ShapedPlugin zároveň uvádí, že bezplatné verze z WordPress.org zasaženy nebyly.
V prvních dvou případech se přihlašovací formulář útoku vůbec neúčastnil a ve třetím byla terčem přímo samotná 2FA, protože její tajné klíče byly odcizeny.
Co zbývá
Proti těmto případům pomáhají jiná opatření. Opravy je třeba instalovat rychle, protože v říjnové kampani přišel první útok 12 dní po zveřejnění zranitelností, tedy v době, kdy už byly opravy k dispozici. Administrátorské účty je vhodné ověřovat podle databáze, ne pouze podle obrazovky Uživatelé. A lidé, kteří vyřizují odeslané formuláře nebo objednávky, nemusejí mít administrátorská oprávnění, protože stored XSS se spustí právě u uživatele, který otevře cizí data a zároveň má široká oprávnění.
Pokud zavádíte passkeys, příručka Stack Harbor upozorňuje na dvě drobnosti. Doména, na které se klíč registruje, se musí shodovat s doménou, přes kterou se uživatelé přihlašují, přičemž www a hlavní doména se mohou počítat jako odlišné. A redaktor, který pracuje doma na Macu a v kanceláři na Windows, by měl mít klíč dostupný na obou zařízeních nebo záložní způsob přihlášení. Jinak mu problém s prohlížečem, zařízením nebo platformou může zablokovat přístup.