Twoja firma używa 2FA? Świetnie. Ale nie oznacza to, że nie da się do Was włamać.
Opublikowano 15.01.2023 14:51
2FA to nie jest magiczne zaklęcie, które sprawia, że na Twoje konta nie da się włamać. Dobitnie pokazuje to niedawny atak na CircleCI. 4 stycznia powiadomili oni swoich klientów o incydencie bezpieczeństwa. Kilka dni później pojawił się raport z tego zajścia:
We have learned that an unauthorized third party leveraged malware deployed to a CircleCI engineer’s laptop in order to steal a valid, 2FA-backed SSO session. (...) Malware was able to execute session cookie theft, enabling them to impersonate the targeted employee in a remote location and then escalate access to a subset of our production systems.
Ale co to znaczy, że złośliwe oprogramowanie wykradło ciasteczka?
Zazwyczaj gdy logujesz się na stronie - po podaniu prawidłowego loginu i hasła serwer zwraca ciasteczko. Znajduje się w nim unikalny identyfikator, na podstawie którego serwer wie kto właśnie się z nim łączy.
Teraz gdy przechodzisz na inną podstronę przeglądarka automatycznie wysyła to ciasteczko do serwera. Ten weryfikuje zawarte w nim dane i wie, że to Ty. Może dzięki temu wyświetlić informacje z Twojego konta.
Dzięki temu nie musisz podawać hasła za każdym razem gdy przechodzisz na nową podstronę. Logujesz się raz i możesz korzystać z Facebooka/Twittera czy innej witryny.
Bardzo podobnie działa to jeśli Twoje konto jest dodatkowo zabezpieczone przy pomocy kodu 2FA.
Od tego momentu nie musisz już podawać kodu 2FA gdy zmieniasz podstronę. Serwer ufa swoim ciasteczkom. Wie, że już zweryfikował Twoje dane i nie musi o nie pytać za każdym razem.
Poprosi o nie dopiero gdy się wylogujesz i będziesz próbował zalogować się ponownie. Wtedy cała procedura zostanie powtórzona (o ile nie skorzystałeś z opcji "zapamiętaj mnie").
Bezpieczny dostęp do Twojego konta opiera się więc w głównej mierze na losowej wartości przechowywanej w ciasteczku. Te ciasteczka są przechowywane przez przeglądarkę. Problem w tym, że przeglądarka w żaden sposób ich nie szyfruje, nie zabezpiecza. Każdy kto ma dostęp do Twojej przeglądarki może je odczytać. Jeśli używasz Google Chrome możesz to sprawdzić samodzielnie.
F12
.Aplikacja
.Pliki cookie
Oczywiście nie wszystkie ciasteczka są równie ważne. Niektóre przechowują mniej istotne informacje. Można tam na przykład zapisać czy wolisz ciemny czy jasny motyw graficzny.
Jeśli ktoś pozna zawartość Twojego ciasteczka z sesją może wykorzystać go do zalogowania się na Twoje konto. Wystarczy, że:
Pliki cookie
.W prawdziwym ataku wszystkie te czynności się automatyzuje. Raczej nikt fizycznie nie przychodzi do Twojego domu i nie sprawdza zawartości przeglądarki. Wykorzystuje się do tego złośliwe oprogramowanie, które możesz pobrać i uruchomić przez swoją niewiedzę.
Przestępcy mogą na przykład korzystać z programu ChromeCookiesView. Pozwala on pobrać wszystkie ciasteczka naraz i zapisać w jednym pliku a jego użycie jest banalnie proste. Wystarczy uruchomić program i wskazać plik wynikowy. Potem taki plik tekstowy można wysłać na maila i już.
Zauważ, że nie trzeba czekać aż podasz swój login i hasło. Wszystkie dane potrzebne do zalogowania się na stronie są w ciasteczku. Przestępca nie musi czekać aż podasz swoje hasło. Po prostu go nie potrzebuje.
Niektóre ciasteczka są ważne nawet kilkadziesiąt dni. Pojawiły się więc sklepy z ciasteczkami dla złodziei. Istnieją grupy, które specjalizują się w kradzieży danych dostępowych. Zbierają wszystkie pozyskane informacje i wystawiają na sprzedaż w specjalnym sklepie.
Potencjalny klient może wybrać jaki kraj bądź strona go interesuje. A potem jak to w normalnym sklepie. Zapłata i dostarczenie wykupionego dobra - w tym wypadku ciasteczka.
Więcej o sklepie przeczytasz w artykule Zaufanej Trzeciej Strony.
Właśnie w taki sposób włamano się do Electronic Arts:
Kod 2FA możesz też podać na stronie phishingowej, czyli takiej, która podszywa się pod inną witrynę. Może to wyglądać mniej więcej tak:
Demo takiego ataku możesz zobaczyć w tym filmie na moim kanale.
Atak może wyglądać podobnie jeśli zamiast kodów używasz powiadomień PUSH. Atakujący może wysyłać wiele próśb o potwierdzenie logowania - licząc, że w końcu którąś z nich zaakceptujesz. Więcej o MFA Fatique przeczytasz w tym artykule.
W zależności od implementacji użytej na konkretnej stronie - czasami możliwe jest wyłączenie kodów 2FA w przypadku resetu hasła użytkownika. Wtedy atak może wyglądać następująco:
Oczywiście nikt nie napisze Ci wprost do czego służy ten kod. Używa się socjotechniki aby sprawić wrażenie, że jest on nieistotny i możesz go bezpiecznie przekazać: