W zeszłym tygodniu opisywaliśmy narzędzie Modlishka do obchodzenia pewnych typów 2FA podatnych na MITM. Ataki phishingowe mające na celu przejmowanie teoretycznie dobrze zabezpieczonego konta (z włączonym drugim składnikiem logowania) nie są dla ekspertów czymś niezwykłym. Badacze podkreślają, że lepiej aktywować takie zabezpieczenie niż bazować na zwykłym haśle. I od czasu do czasu ktoś udowadnia, że pewne typy 2FA są zawodne, a ataki przejmowania kont mogą być bardzo ciekawe.

Tym razem jest to metoda nieudokumentowana i wygląda na podatność albo bug. Dotyczy prawie wszystkich znanych portali internetowych takich jak: Google, Microsoft i pewnie innych, które nie zostały przez autora przetestowane. Trudność polega na tym, że atakujący musi wykonać pewne czynności i podtrzymywać sesję logowania.

W jaki sposób przejąć czyjeś konto nie znając hasła?

 Tak autor opisuje znaleziony bug:

 1. Atakujący przejmuje słabo zabezpieczone konto i w pierwszej przeglądarce włącza 2FA na koncie ofiary.

2. W drugiej przeglądarce próbuje zalogować się na zhackowane konto za pomocą 2FA. Ale nie loguje się do końca…

Bezpieczeństwo 2FA google
To jest zupełnie normalne logowanie z wykorzystaniem drugiego składnika potwierdzającego tożsamość. Kod generowany przez aplikację Google Authenticator, wbudowaną w system Android.

3. W pierwszej przeglądarce atakujący wyłącza 2FA (podtrzymując sesję logowania za pomocą 2FA w drugiej przeglądarce).

4. Ofiara dostaje powiadomienie i widzi logowanie z obcego adresu IP, więc odzyskuje dostęp do konta i zmienia hasło (nie aktywuje 2FA).

5. Atakujący wraca do pkt. 2 i wpisuje kod z Google Authenticator.

Atakujący właśnie zalogował się na konto ofiary bez ponownej kradzieży hasła!

Jak odpowiadali na to giganci? Google nie naprawiło problemu. Microsoft do dzisiaj nie uważa tego za niebezpieczne, a firma CloudFlare zajęła się tym bardzo profesjonalnie. Facebook odpowiedział lakonicznie, że jeśli kiedyś dojdzie do takiego ataku, to badaczowi wypłacą nagrodę.

Wykorzystanie tego ataku w praktyce jest trudne, ponieważ atakujący musi wiedzieć, kiedy ofiara spróbuje zalogować się i musi stale podtrzymywać sesję logowania. Niejako mamy tutaj do czynienia z atakiem man in the middle. Deweloperzy z wielkich firm potraktowali odkrycie jako niemożliwe do przeprowadzenia lub je zignorowali. Czy słusznie?

W tej czasowej furtce, na którą i tak bardzo trudno trafić, atakujący musi wgryźć się w moment logowania ofiary po raz drugi za pomocą swojego hasła. Dlatego tak ważne jest, aby nie bazować na zwykłych hasłach, które codziennie wyciekają do sieci. Podstawowym mechanizmem uwierzytelnienia powinno być zastosowanie drugiego składnika potwierdzającego tożsamość. Najlepiej zastosować klucz bezpieczeństwa np. Yubikey, bez którego atakujący, nawet gdyby znał login i hasło, nie jest w stanie zalogować się — ale pod warunkiem, że zrezygnujemy w ustawieniach konta z alternatywnego logowania za pomocą kodów jednorazowych lub haseł SMS.

AUTOR:

Adrian Ścibor

Podziel się

Dodaj komentarz