Vlákno názorů k článku
Electronový klient MS Teams ukládá autentizační tokeny jako text od ivoszz - 2Jirsák: Dost často jsem měl pocit, že vám tady...

  • Článek je starý, nové názory již nelze přidávat.
  • 16. 9. 2022 22:12

    ivoszz

    2Jirsák:
    Dost často jsem měl pocit, že vám tady trochu křivdí. Bohužel tentokrát jste se odhalil a ukázal, že jste úplně nahý. Možná by pro vás nebylo od věci si aspoň trošku nastudovat, jak to doopravdy funguje, třeba na tom macOS, který tak nemáte rád. Podle všeho budete dost překvapen.

  • 16. 9. 2022 23:31

    Filip Jirsák
    Stříbrný podporovatel

    Netuším, jak jste přišel na to, že prý nemám rád macOS. Každopádně tu vidím třeba v adresáři /opt/homebrew skripty a binárky, o kterých si nemyslím, že by byly podepsané. Microsoft Teams nejsou instalované z AppStoru, ale jsou alespoň spořádaně nainstalované v /Applications, takže věřím, že systémový správce hesel může ověřit, co se spustilo. Jenže je to Electronová aplikace, navíc zrovna MS Teams mají možnost rozšiřování pomocí pluginů, takže jsem přesvědčený o tom, že chování té aplikace se může změnit, aniž by se změnil jediný bit na mém disku.

    No a protože Electronové aplikace jsou založené na jádru prohlížeče, proč se nepodívat přímo na prohlížeč? Ten soubor, kde jsou tokeny pro MS Teams, je obyčejná SQLlite databáze s cookies, stejná, jakou používají prohlížeče Chrome a další. Ty mají v aktuálních verzích hodnoty cookie šifrované, na MacOS se používá právě systémová klíčenka. A existují samozřejmě i utility na jejich dešifrování, které si samozřejmě přístup k té klíčence musí vyžádat. Jedna taková utilita je třeba zde: https://github.com/bertrandom/chrome-cookies-secure a vidíte tam i snímek obrazovky, jak vypadá ten dotaz na uživatele, zda chce povolit přístup ke klíčence. Byl by takový problém pro útočníka celé tohle spustit z procesu, který se nebude jmenovat "node", ale třeba "Microsoft Teams"? Nebo když někdo použije tenhle nástroj a zvolí "Always Allow", mají od toho okamžiku ke klíčence Chrome přístup všechny aplikace spouštěné pod node.

    A to se celou dobu bavíme o MacOS, což je jednolitý systém, autor aplikace se může spolehnout na to, že tam bude ta jediná systémová klíčenka, systémová klíčenka se zase může spolehnout na to, jak vypadají podpisy aplikací, pokud jsou nainstalované standardně do systému "the Apple way". Na linuxu je to daleko rozmanitější, klíčenek je víc, způsobů podepisování aplikací je víc...

  • 19. 9. 2022 0:29

    BoneFlute

    > Každopádně tu vidím třeba v adresáři /opt/homebrew skripty a binárky, o kterých si nemyslím, že by byly podepsané.

    Proč si to myslíte?
    Na základě mé poslední zkušenosti, neúspěchu spustit v macOS nepodepsanou binárku by mě to docela zajímalo.

  • 19. 9. 2022 21:39

    Filip Jirsák
    Stříbrný podporovatel

    Myslím si to proto, že tam žádný podpis nevidím

    Vyrobil jsem binárku hello-world, který do konzole vypisuje "Hello World!". V terminálu jsem zadal příkaz ./hello-world a do konzole se vypsalo: "Hello World!" Já bych to považoval za úspěšný pokus, vy ne?