Útok na doplnky prehliadača s manažérmi hesiel, využívajúci clickjacking.

Na konferencii DEF CON 33 bol predstavený útok na prehliadačové rozšírenia, ktoré vkladajú svoje rozhrania do zobrazovanej stránky. Použitie útoku na rozšírenia s manažérmi hesiel môže viesť k úniku informácií uložených v týchto manažéroch, ako sú autentifikačné údaje, kreditné karty, osobné údaje a jednorazové heslá pre dvojfaktorovú autentifikáciu. Problém sa týka všetkých testovaných manažérov hesiel, vrátane 1Password, Bitwarden, LastPass, KeePassXC-Browser, NordPass, ProtonPass a Keeper.

Metóda útoku je založená na tom, že prehliadačové rozšírenia vkladajú dialóg s požiadavkou na automatické doplnenie hesla priamo na zobrazovanú stránku, integrujúc svoje prvky do DOM (Document Object Model) danej stránky. Ak útočník dokáže spustiť svoj JavaScript kód na stránke, napríklad zneužitím XSS zraniteľnosti na webovej stránke, môže manipulovať so všetkými prvkami v DOM, vrátane vložených prehliadačových rozšírení.

Medzi iným je možnosť spraviť dialóg potvrdenia transparentným a priestorovo skombinovať tlačidlo v tomto dialógu s tlačidlom falošného dialógu, vytvoreného útočníkom a motivujúceho používateľa k kliknutiu. Takéto falošné dialógy môžu byť fiktívne požiadavky na oprávnenia k práci s cookie, reklamné bannery alebo formuláre s CAPTCHA. Umístěním falošného dialógu pod transparentným dialógom manažéra hesiel a zladením umiestnenia tlačidiel na obrazovke, môže dôjsť k tomu, že kliknutie používateľa bude smerovať na tlačidlo potvrdenia vyplnenia autentifikačných údajov v dialógu manažéra hesiel, hoci si používateľ bude myslieť, že klikol napríklad na tlačidlo zatvorenia okna s reklamou.

Útok na doplnky prehliadača s manažérmi hesiel, využívajúci clickjacking.

Útok sa znižuje na nasledujúce kroky:

  • Vytvorenie rušivého prvku na stránke, ktorý povzbudzuje k kliknutiu.
  • Pridanie webovej formy pre prihlásenie alebo vyplnenie osobných údajov na stránku.
  • Nastavenie transparentnosti pre webovú formu („opacity: 0.001“ v CSS).
  • Použitie metódy focus() na nastavenie vstupného zamerania na pole vo forme, čo vedie k aktivácii dialógu na automatické doplnenie manažéra hesiel.
  • Vyhľadanie objaveného dialógu manažéra hesiel v DOM a nastavenie jeho transparentnosti.
  • Čakanie na kliknutie používateľa na viditeľnom vyskakovacom prvku na stránke, ktorý pri správnom zladení viditeľných a neviditeľných prvkov povedie k stlačeniu tlačidla v priehľadnom dialógu a vyplneniu polí manažérom hesiel.
  • Extrahovanie údajov z vyplnenej webovej formy a ich odoslanie na server útočníka.

Keďže automatické vyplňovanie autentifikačných parametrů v manažéroch hesiel sa aktivuje iba pre webové stránky, na ktorých boli tieto parametre uložené, na uskutočnenie útoku je potrebné mať možnosť spustiť svoj JavaScript kód na napadnutej stránke alebo v jej subdoméne. Takže na útok je potrebné buď získať subdoménu v tej istej doméne, ako je napadnutá stránka, alebo nájsť XSS zraniteľnosť na stránke, ktorá umožňuje vloženie vlastného kódu do zobrazovaného obsahu používateľovi.

Všimlo sa, že mnohí používatelia používajú jeden manažér hesiel na ukladanie prihlasovacích údajov a generovanie jednorazových hesiel pre dvojfaktorovú autentifikáciu, čo umožňuje využiť danú metódu útoku pri automatickom vyplňovaní jednorazových hesiel. Ako príklad sa demonštruje útok na webovú stránku issuetracker.google.com, ktorá obsahuje XSS zraniteľnosť. Na získanie prihlasovacích údajov a kódu pre dvojfaktorovú autentifikáciu stačí poslať používateľovi odkaz, ktorý zneužíva XSS zraniteľnosť, a dosiahnuť tri kliknutia prostredníctvom substitúcie fiktívnych vyskakovacích požiadaviek (povolenie spracovania cookies, povolenie personalizácie a súhlas s politikou ochrany osobných údajov).

Okrem webových stránok s XSS zraniteľnosťami môže byť útok uskutočnený aj na služby, ktoré poskytujú subdomény každému záujemcovi - väčšina manažérov hesiel v predvolenom nastavení vykonáva vyplňovanie prihlasovacích údajov nielen pre hlavné domény, ale aj pre subdomény.

Útok sa môže použiť aj na zistenie osobných údajov používateľa a údajov o kreditných kartách uložených v správcoch hesiel. Na únik takýchto údajov nie je potrebné vykonávať JavaScriptový kód v kontexte cudzieho webu; stačí, aby bola obeť nalákaná na stránku na webu útočníka — v prípade osobných údajov sa vyplnenie webových formulárov vykonáva na základe ich typu (adresa, číslo kreditnej karty, celé meno), bez viazanosti na doméne. Najnebezpečnejší je únik údajov o kreditných kartách, pretože správcovia hesiel nielenže zadávajú číslo karty, ale aj dátum expirácie a bezpečnostný kód.

Výskumník, ktorý problém odhalil, otestoval 11 doplnkov prehliadača so správou hesiel, ktoré spolu vykazovali 39,7 milióna aktívnych inštalácií, a všetky sa ukázali byť nechránene voči tomuto typu útokov. Niektorí výrobcovia vydali aktualizácie (NordPass 5.13.24, ProtonPass 1.31.6, RoboForm 9.7.6, Dashlane 6.2531.1, Keeper 17.2.0, Enpass 6.11.6, Bitwarden 2025.8.1), v ktorých sa pokúsili blokovať realizáciu útoku obchádzajúcim spôsobom. Iné doplnky (KeePassXC-Browser, 1Password, iCloud Passwords, Enpass, LastPass, LogMeOnce) zatiaľ ostávajú bez opravy. Pre overenie prejavu zraniteľnosti v rôznych správcoch hesiel bol zverejnený súbor testovacích stránok.

Útok na doplnky prehliadača s manažérmi hesiel, využívajúci clickjacking.
Útok na doplnky prehliadača s manažérmi hesiel, využívajúci clickjacking.

Pohľad vývojárov 1Password, ktorí nevydali opravu, spočíva v tom, že zraniteľnosť je fundamentálna a nie je priamo spojená s konkrétnym doplnkom prehliadača, preto pokusy o jej odstránenie na strane doplnku len blokujú jednotlivé vektory útoku, ale nevyriešia samotný problém, ktorý treba riešiť v prehliadači alebo vyžiadáním osobného potvrdenia pred automatickým vyplnením polí. Zmienka je, že v 1Password sa už podporuje výstup potvrdenia pred vyplnením údajov o platbách a v nasledujúcom vydaní bude pridaná možnosť na zobrazenie podobného potvrdenia pre všetky typy automaticky vyplnených údajov (z dôvodu zníženia pohodlia pri práci nebude takáto možnosť predvolene aktivovaná).

Medzi metódami ochrany, ktoré autor výskumu uvádza, sa spomína sledovanie zmien štýlov vkladaných na stránku pomocou API MutationObserver, blokovanie zmien cez Shadow DOM v režime „closed“, monitorovanie nastavenia transparentnosti prvkov, využitie API Popover na zobrazovanie dialógov, kontrola prekrytia vrstiev, dočasné vypnutie spracovania udalostí ukazovateľa (pointer-events:none) vo všetkých plávajúcich prvkoch počas zobrazenia dialógu správcu hesiel. Pre úplné zablokovanie popísaného celku od útokov sa odporúča na úrovni prehliadača implementovať samostatné API na ochranu proti clickjacking-u.

Ako univerzálnu metódu ochrany v prehliadačoch založených na engine Chromium sa používateľom odporúča povoliť režim potvrdenia prístupu doplnku na stránke (Nastavenia doplnku → „prístup na stránku“ → „na kliknutie“), pričom doplnok získava prístup na stránku až po kliknutí na ikonu v pravej časti panela s adresným riadkom. Ako obchádzajúce opatrenie na ochranu sa tiež spomína vypnutie automatického dopĺňania formulárov a ručné kopírovanie hesiel cez schránku, ale to prináša problém s únikom dát z verejnej schránky a rizikom, že si človek nevšimne pokusy o phishing.

Zdroj: opennet.ru

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster