Passwordless i drugi składnik uwierzytelnienia nie chronią przed phishingiem

my127001.pl 1 rok temu

Już kiedyś pisałem o tym, iż błędna wiedza może być bardziej niebezpieczna niż sam brak takowej wiedzy. Ostatnimi laty coraz więcej serwisów umożliwia dwuskładnikowe uwierzytelnianie. Korzystają przy tym ze standardowego pierwszego składnika (coś, co wiemy) – loginu i hasła oraz drugiego składnika (coś, co mamy) – kodu sms/tokenu. Oczywiście poprawia to bezpieczeństwo kont użytkowników, jednakże wraz z tymi zmianami narodził się niebezpieczny mit.

Wielu przeciętnych zjadaczy chleba, ale i grono specjalistów od bezpieczeństwa ma błędne przekonanie, iż zabezpieczenie konta przez drugi składnik uwierzytelnienia w postaci kodu sms, tokenu z aplikacji czy też metody „passwordless” (potwierdzanie chęci zalogowania w dedykowanej aplikacji) chroni przed atakami phishingowymi. Bezpieczeństwo ich kont zostało oczywiście podniesione. Niemniej ochrona ta polega przed scenariuszem gdzie ich login i hasło wycieknie albo zostanie wykradzione. Dobrze przygotowany phishing przez cały czas spowoduje przejęcie ich kont np. poprzez wykradnięcie ciasteczka sesyjnego.

Phishing z przechwyceniem ciasteczka sesyjnego

Taki atak można przeprowadzić, korzystając z proxy pośredniczącego pomiędzy ofiarą a prawdziwą stroną. Wygląda on podobnie jak man in the middle i polega na przechwyceniu ruchu pomiędzy użytkownikiem danej strony internetowej a stroną internetową. W tym celu można wykorzystać gotowy framework Evilginx stworzony przez Kube Gretzky. Bazuje on na funkcjonalności proxypass w nginxie i umożliwia rozszyfrowywanie i ponowne szyfrowanie pakietów w locie. Pozwala to na przechwycenie loginu, hasła i ciasteczka sesyjnego użytkownika złapanego na stronę phishingową. Okazuje się, iż większość znanych nam serwisów (prawdopodobnie z powodów, lepszego „user expierience”) nie wiąże tokenu sesyjnego z danym adresem ip. Tym samym przechwycone ciastko można użyć w innej przeglądarce, na innym komputerze i z innym adresem IP.

Prześledźmy ten proces na przykładzie przejęcia konta ofiary do Office365:

  • Atakujący rejestruje domenę podobną do oryginalnej strony i podsyła ją ofierze. Jako iż Evilginx działa jak proxy to strona, na którą wchodzi ofiara, wygląda identycznie do prawdziwej. Witryna posiada „zieloną kłódeczkę”, ponieważ posiada prawidłowy certyfikat SSL i jest oznaczona jako bezpieczna.
  • Ofiara podaje swój korporacyjny adres mailowy.
  • Ofiara zostaje przekierowana na brandowaną, korporacyjną wersję ekranu logowania gdzie podaje swoje hasło. przez cały czas znajduje się na fałszywej domenie i serwerze Evilginxa.
  • Ofiara korzysta z mechanizmu „passwordless” i zostaje poproszona o potwierdzenie logowania w aplikacji na telefonie.
  • Po zatwierdzeniu ofiara jest prawidłowo zalogowana do swojego konta i może z niego w pełni korzystać. przez cały czas jednak znajduje się na fałszywej domenie i serwerze Evilginxa.
  • Evilginx przechwycił login i hasło ofiary oraz co ważniejsze ciasteczko sesyjne.
  • Atakujący może teraz takowe ciasteczko zaimportować u siebie w przeglądarce.
  • Po zaimportowaniu ciasteczka, atakujący jest zalogowany na koncie ofiary. Może nim dowolnie zarządzać oraz usługami powiązanymi z tym kontem.

Co zrobić jak żyć?

Żeby uchronić się przed skutkami phishingu, najlepiej byłoby być mega czujnym użytkownikiem Internetu i nigdy nie dać się oszukać. Niemniej istnieje też rozwiązanie techniczne, które może wspomóc naszą paranoidalność. Jest nim klucz U2F (universal second factor) np. YubiKey. choćby jeżeli nie zorientujesz się, iż korzystasz z fałszywej strony i użyjesz klucza U2F to dzięki kryptografii asymetrycznej taka próba logowania nie powiedzie się. Upraszczając taki klucz rozpozna, iż znajduje się na fałszywej domenie i po prostu nie zadziała.

Klucze U2F fajnie przedstawił Piotrek z Niebezpiecznika:

Idź do oryginalnego materiału