Preorder drugiego tomu książki sekuraka: Wprowadzenie do bezpieczeństwa IT. -15% z kodem: sekurak-book
Jak w praktyce przełamać dwuczynnikowe uwierzytelnienie? Zobaczcie tę prawdziwą historię włamania, która obfituje w… pomysłowość atakujących.
Żeby nie przedłużać, przejdźmy od razu do rzeczy. Ciekawą historię włamania do swojej infrastruktury IT opisuje firma Retool.
Zaczęło się od kampanii celowanych SMSów, w których atakujący podszywali się pod pracowników IT – „ten tego, coś jest nie tak z Twoim kontem, co może wpłynąć na dostępność Twojego ubezpieczenia zdrowotnego”:
Several employees received targeted texts, claiming that a member of IT was reaching out about an account issue that would prevent open enrollment (which affects the employee’s healthcare coverage).
Akcja z SMSami w zasadzie się nie udała, bo prawie nikt się nie złapał na scam… Tzn. udała się fantastycznie ;) bo złapała się raptem jedna osoba, co jednak umożliwiło atakującym dalej prowadzić atak:
Almost all employees didn’t engage, but unfortunately one employee logged into the link provided by the attackers.
W każdym razie SMS skłonił ofiarę do wejścia na mniej więcej taką domenę: https://retool.okta.com.[oauthv2.app]/authorize-client/xxx
Po zalogowaniu się przez ofiarę, napastnik zadzwonił do niej, ponownie podając się za pracownika IT, a dodatkowo najprawdopodobniej został wykorzystany sklonowany głos pracownika. Atak głosowy był skuteczny i doprowadził do przekazania przez ofiarę jednego kodu 2FA napastnikowi:
The caller claimed to be one of the members of the IT team, and deepfaked our employee’s actual voice. The voice was familiar with the floor plan of the office, coworkers, and internal processes of the company. Throughout the conversation, the employee grew more and more suspicious, but unfortunately did provide the attacker one additional multi-factor authentication (MFA) code.
Atakujący mając kod 2FA, dodał do konta ofiary swoje urządzenie, umożliwiające dwuczynikowe uwierzytelnienie (napastnik po prostu dodał kolejną formę 2FA do konta)
The additional OTP token shared over the call was critical, because it allowed the attacker to add their own personal device to the employee’s Okta account, which allowed them to produce their own Okta MFA from that point forward.
Atakujący dzięki dostępowi do zalogowanej sesji przez Okta uzyskali kolejny dostęp do googlowego konta pracownika-ofiary (GSuite, które logowanie zorganizowane miało właśnie przez Okta). Tutaj kolejna niespodzianka, bo pracownik miał zsynchronizowane kody 2FA (z appki Google Authenticator) ze swoim kontem googlowym (taką ciekawą funkcję – w formie backupu – wprowadził Google w tym roku). W skrócie – atakujący widzieli na bieżąco kody 2FA umożliwiające logowanie się np. do korporacyjnego VPNa:
With these codes (and the Okta session), the attacker gained access to our VPN, and crucially, our internal admin systems. This allowed them to run an account takeover attack on a specific set of customers (all in the crypto industry).
Co pomogłoby zapobiec atakowi? Np. sprzętowe klucze 2FA.
~ms
Mnie przeraża jedno: coraz więcej managerów haseł ma zintegrowany moduł TOTP/HOTP. Czyli jak napastnik śmignie konto (np problem Bitwardena odblokowywanego na PIN), ma dostęp do pięknej paczki user+hasło+OTP.
Cóż, wygoda=1/bezpieczeństwo…
Trzymanie tokenu TOTP w manadzerze hasla jest w sumie takim obnizyniem 2FA -> 1.5 FA.
Podobnie zreszta z bankowoscia mobilna – tam tez brak realnych 2fa. Przejecie urzadzenia praktycznie moze prowadzic do utraty srodkow.
Gdzie np w przypadku PC – przejecie PC rzadko kiedy jest wystarczajace.
Kiedy Google ogłosiło że ich authenticator będzie „synchronizowany” czekałem na ten właśnie artykuł. I się doczekałem…
Inna historia z 2FA. Siedzisz sobie u dentysty i dostajesz SMSa z wygenerowanym kodem 2FA do pewnego portalu na który już dawno się nie logowałeś. Druga sprawa to taka, że nie masz tam ustawionego wysyłania SMSów tylko kody jednorazowe z aplikacji mobilnej. Po chwili grozy bierze Cię śmiech, że albo portal omyłkowo to wysłał, albo ktoś kto ma Twój numer telefonu Cię straszy, że zdobył hasło i zatrzymało go 2FA. :)
„Co pomogłoby zapobiec atakowi? Np. sprzętowe klucze 2FA.” – niekoniecznie.
Sam mam w kilku serwisach zarejestrowane 2 yubikeye (glowny i zapas)…
Jezeli ktos decyduje sie na tego typu dzialanie jak wlam do firmy to mniemam ze jest w stanie zainwestowac w yubikey…
Ale co mu to ma niby dać?
Jedyne opcje to:
1) ukraść komuś fizycznie klucz
2) zainstalować na kompie ofiary malware i jeszcze zmusić ją do włożenia i naciśnięcia klucza
Juz wyjasniam. Osoba atakowana „but unfortunately did provide the attacker one additional multi-factor authentication (MFA) code.”
W tym momencie jestem zalogowanym userem in np. w wiekszosci serwisow NIE potrzebuje „oryginalnego” yubikeya. Wlaze se sobie w konto i po prostu generuje nowy kod QR ktory radosnie skanuje maja podpiety „moj” klucz. Klucz oryginalny jest mi zbedny, jezeli ofrema… znaczy wroc: ofiara ataku poda kod.
UWAGA: niektore, choc nie wszystkie serwisy przy tego typu akcji beda wymagaly ponownego podania HASLA, ale ZADEN nie zapytal o ponowny zestaw „haslo+kod”.
Widze ze czytanie supportu to slaba strona?
https://support.yubico.com/hc/en-us/articles/360021919459-How-to-register-your-spare-key-
Bez przesady. Mówimy o sytuacji normalnej (bezpiecznej) czyli ktoś ma skonfigurowanego tylko Yubikey na koncie (i żadnej innej metody 2FA).
Bo inaczej to jest sytuacja – mam drzwi przeciwłamaniowe, alarm z ochroną 24/7, 5 agresywnych dobermanów w domu. Tylko co z tego, jak diamentu trzymam pod wycieraczką, przed drzwiami wejściowymi.
Dobra, są wyjątki, ale są to naprawdę tylko wyjątki: https://sekurak.pl/mozna-bylo-ominac-logowanie-kluczem-sprzetowym-2fa-do-cloudflare-prosty-trick/