Menu dostępności

Bug w Google Docs pozwala na podglądanie prywatnych dokumentów

Pół roku temu, 9 lipca 2020 roku, w usługach przekazywania opinii Google została odkryta luka, którą dopiero niedawno Google oficjalnie ogłosiło i załatało. Badaczem podatności odpowiedzialnym za znalezisko jest Sreeram KL, który w ramach programu Google Vulnerability Reward otrzymał narodę 3133 USD.
Podatność mogła być wykorzystywana przez cyberprzestępców do potencjalnej kradzieży zrzutów ekranu poufnych dokumentów Google Docs tylko przez osadzanie linków do nich w złośliwej witrynie.

Wiele produktów Google, w tym Dokumenty, jest wyposażonych w opcję „Prześlij opinię” lub „Pomoc w ulepszaniu Dokumentów”, która umożliwia użytkownikom przesyłanie opinii wraz z opcją dołączenia zrzutu ekranu – usługa, która jest automatycznie ładowana do zgłoszenia w celu wyróżnienia określonych problemów.

Jednak zamiast powielać tę samą funkcjonalność w swoich usługach, funkcja „feedback” jest wdrażana w głównej witrynie Google („www.google.com”) i integrowana z innymi domenami za pośrednictwem elementu iframe, który ładuje zawartość wyskakującego okienka z „feedback.googleusercontent.com.”


Na czym polega problem?

Wyobraźmy sobie, że korzystamy z Dokumentów Google i zamierzamy przesłać opinie. W tym celu należy kliknąć opcję „Pomoc” -> „Prześlij opinię”. Następnie zobaczymy wyskakujący iframe i magicznie ładujący zrzut ekranu dokumentu, nad którym pracowaliśmy. Ponieważ źródło iframe (www.google.com) różni się pochodzeniem w dokumentach Google (docs.google.com), aby pomyślnie wyrenderować zrzut ekranu, musi istnieć komunikacja między źródłami. PostMessage, wkracza do gry! Przepływ pracy jest taki, że dokumenty Google wysyłają wartości RGB wszystkich swoich pikseli do głównej ramki iframe www.google.com za pośrednictwem PostMessage, która przekierowuje te wartości RGB do jego iframe feedback.googleusercontent.com, który następnie renderuje obraz z przesłanych pikseli i odsyła swój kod URI zakodowany w base64 do głównego elementu iframe. Wszystko widać na poniższym obrazku.

Po zakończeniu tego procesu musimy napisać opis opinii, a po kliknięciu wyślij opis wraz ze zdjęciem (data-uri) jest wysyłany za pomocą PostMessage na adres https://www.google.com.

Jednak „łowca bugów” Sreeram zidentyfikował błąd w sposobie przekazywania takich wiadomości do „feedback.googleusercontent.com”, umożliwiając w ten sposób atakującemu zmianę ramki na dowolną, zewnętrzną witrynę internetową, a następnie kradzież i przejęcie zrzutów ekranu z dokumentów, które były przeznaczone do przesłania na serwery Google.

Wada wynika z braku nagłówka X-Frame-Options w domenie Google Docs, co umożliwiło zmianę docelowego pochodzenia wiadomości i wykorzystanie komunikacji między źródłami między stroną a zawartą w niej ramką.


Na czym polega problem?

Chociaż atak wymaga pewnej formy interakcji użytkownika – np. kliknięcia przycisku „Wyślij opinię”, exploit może z łatwością wykorzystać tę słabość do przechwycenia adresu URL przesłanego zrzutu ekranu i przeniesienia go do złośliwej witryny.

Można to osiągnąć, osadzając plik Dokumentów Google w ramce iFrame w fałszywej witrynie internetowej i przechwycić wyskakującą ramkę z informacją zwrotną w celu przekierowania zawartości do domeny wybranej przez atakującego.

Rada dla deweloperów pod kątem bezpieczeństwa jest prosta – Zawsze określaj dokładne miejsce docelowe wiadomości, kiedy używasz PostMessage i nie stosuj znaku „*” do wysyłania danych do innych okien. Złośliwa witryna może zmienić lokalizację okna bez Twojej wiedzy, a co za tym idzie, przechwycić przekazywaną wiadomość.

Popularne

Czym są non-human identities (NHI)? Jak możemy je chronić i jakie zagrożenia stwarzają dla organizacji?

Czym są non-human identities (NHI)? Jak możemy je chronić i jakie zagrożenia stwarzają dla organizacji?

W dzisiejszym artykule opisujemy pewien problem istniejący w firmach i organizacjach, związany z tożsamościami nieludzkimi (non-human identities), czyli inaczej – tożsamościami niezwiązanymi z pracow...
Filtrowanie URL i DNS, dlaczego to takie ważne?

Filtrowanie URL i DNS, dlaczego to takie ważne?

Filtrowanie adresów URL ogranicza zawartość stron internetowych, do których użytkownicy mają dostęp. Odbywa się to poprzez blokowanie określonych adresów URL przed załadowaniem. Firmy wdrażają filtrowanie...
Nowe podatności w architekturze sieci 5G

Nowe podatności w architekturze sieci 5G

Nowe badania nad architekturą 5G ujawniły lukę w zabezpieczeniach modelu dzielenia sieci oraz zwirtualizowanych funkcjach sieciowych, które można wykorzystać do nieautoryzowanego dostępu do danych, a tak...
Hakerzy z Dragon Breath z nową techniką ataku

Hakerzy z Dragon Breath z nową techniką ataku

Specjaliści z Sophos wykryli niedawno złośliwą aktywność polegającą na klasycznym DLL side-loadingu, ale ze zwiększoną złożonością i dodatkową warstwą wykonania. Co więcej, dochodzenie wskazuje, że oso...
Polowanie na eskalację uprawnień w Windows: sterowniki jądra i Named Pipe pod lupą

Polowanie na eskalację uprawnień w Windows: sterowniki jądra i Named Pipe pod lupą

Podatności typu Local Privilege Escalation (LPE) pozostają jednym z kluczowych elementów realnych ataków na systemy Windows. Nawet przy poprawnie skonfigurowanym systemie i aktualnym oprogramowaniu bł...