Jak trudno jest ukraść środki z konta gracza w firmie bukmacherskiej? Okazuje się, że wystarczy trochę niefrasobliwości użytkownika oraz poważne problemu z zakresu ochrony danych i procesów bezpieczeństwa po stronie operatora usługi.
Kilka dni temu anonimowy internauta ukrywający się pod pseudonimem Aokigahara opisał nam sposób, w jaki okradani są klienci firmy Fortuna, legalnie działającej firmy branży bukmacherskiej. Aby wyczyścić konto ofiary, wystarczyło jedynie poznać jej login i hasło. Jak to możliwe?
Zabezpieczenie, które jest, ale go nie ma
Zaczniemy od błędu, który sprawił, że cały atak był w ogóle możliwy. Po zalogowaniu na konto użytkownika można przejść do sekcji danych osobowych. Aby tego dokonać, należy podać datę urodzenia użytkownika. Jeśli zatem włamywacz pozna login i hasło ofiary, to potrzebuje jeszcze daty urodzenia, by poznać inne dane. Tak przynajmniej wyglądał pomysł twórców systemu.
Co jednak można znaleźć, podglądając ruch sieciowy strony WWW otwieranej dla zalogowanej sesji?
Tak, w czerwonej ramce znajdziecie datę urodzenia zalogowanego klienta. Dane te przesyłane są przed wejściem do sekcji zarządzania danymi osobowymi i aby je zobaczyć, wystarczy wyświetlić widok narzędzi deweloperskich. Zatem cały mechanizm blokowania dostępu w oparciu o datę urodzenia można włożyć między stare, przegrane kupony.
Oczywiście w przesyłanych danych znajduje się nie tylko data urodzenia – o użytkowniku, którego konto zostało przejęte, można dowiedzieć się z tego fragmentu kodu znacznie więcej. Tak wygląda komplet danych:
Mamy tu datę urodzenia, adres e-mail, imię, nazwisko, adres czy ustawione limity transakcji.
Ale to przecież nie wystarczy do zmiany numeru rachunku, prawda?
W odpowiedzi na to pytanie posłużymy się memem.
W momencie zakładania konta użytkownik mógł je aktywować wraz z numerem rachunku bankowego, który był następnie używany do wypłat środków. Co trzeba było zrobić, aby zmienić numer rachunku i zlecić wypłatę środków na inne konto? Oto lista czynności:
- zalogować się loginem i hasłem,
- wejść do menu zabezpieczonego przeczytaną z kodu strony datą urodzenia,
- zmienić numer rachunku,
- zatwierdzić zmianę numeru rachunku hasłem użytkownika.
I już. Po sprawie. Mamy więc wieloskładnikową autoryzację transakcji, gdzie składnikiem pierwszym i trzecim jest login, a składnikami drugim i czwartym jest hasło użytkownika.
Aokigahara podesłał nam film, na którym widać proces okradania jednego z użytkowników serwisu. Z konta ofiary wypłacane jest 6232 PLN. Samego filmu publikować nie będziemy, ponieważ zawiera wszystkie dane osobowe ofiary, ale oto zrzut ekranu z procesu wypłaty:
Skontaktowaliśmy się z ofiarą tej kradzieży, która potwierdziła, że takie zdarzenie miało miejsce i trwa jego analiza.
Problem sprawnie rozwiązany
Jeśli po lekturze tego artykułu zajrzycie do instrukcji zmiany hasła na stronie Fortuny, to zauważycie, że wygląda ona zupełnie inaczej.
Zauważycie też, że została dopiero co zmodyfikowana. Wcześniejsze jej brzmienie cytujemy poniżej:
Po zalogowaniu się do profilu Użytkownika wybierz zakładkę „Ustawienia”. W zakładce „Dane osobowe” możesz zmienić numer rachunku bankowego. Każda zmiana zostanie zatwierdzona poprzez wpisanie Twojego aktualnego hasła.
Dowodem niech będzie ten zrzut ekranu z Google:
No dobrze, ale skąd złodzieje mieli loginy i hasła?
Z wycieków. Jak zawsze. Jak wszędzie. Jak od lat w wielu incydentach.
Użytkownicy mają w zwyczaju używać tego samego hasła w wielu miejscach, co wykorzystują przestępcy. Przestępcy biorą zatem długa listę loginów i haseł, piszą lub kupują odpowiedni skrypt i sprawdzają pieczołowicie, linijka po linijce, która para danych pasuje do serwisu, a która nie. W ten sposób identyfikują konta, na które mogą się zalogować. A jeśli na tych kontach jest jakiekolwiek saldo, historia kończy się jak opisano powyżej.
Aokigahara dostarczył nam kod źródłowy tzw. checkera, czyli narzędzia, używanego przez przestępców do sprawdzania kont w serwisie Fortuny. Nie publikujemy go w całości, ale oto dość charakterystyczny fragment:
Wygląda na to, że kod był tworzony lub modyfikowany przez osobę polskojęzyczną – pod koniec można znaleźć taki oto komentarz:
Co na to Fortuna
Wysłaliśmy w tej sprawie kilka pytań do firmy Fortuna. Nie znaleźliśmy biura prasowego, ale napisaliśmy na kontakt związany z ochroną danych osobowych oraz do osoby, która w innych mediach i na LinkedInie występowała jako przedstawiciel firmy komunikujący się z mediami. Napisaliśmy wczoraj, z prośbą o odpowiedzi do godziny 17, niestety nie dostaliśmy nawet potwierdzenia otrzymania naszych pytań. Jeśli Fortuna będzie tak miła, że na nie jednak odpowie, to odpowiedzi te znajdziecie plus minus w tym miejscu.
Podsumowanie
Winą okradzionych klientów firmy (oprócz tego, że zdecydowali się skorzystać z jej usług) było bez wątpienia używanie tego samego loginu i hasła w innych miejscach. Nie róbcie takich rzeczy, szczególnie w serwisach, w których trzymacie pieniądze.
Winą Fortuny było:
- brak jakiejkolwiek formy dwuskładnikowego uwierzytelnienia, co dla serwisu umożliwiającego przechowywanie środków finansowych jest dzisiaj karygodne,
- fatalny mechanizm „zabezpieczeń” dostępu do danych osobowych, oparty o dane osobowe ujawniane każdemu, kto poznał cudzy login i hasło,
- banalny proces zmiany numeru konta do wypłat, umożliwiający kradzież każdemu, kto poznał login i hasło użytkownika.
Naprawdę nie sądziliśmy, że na takie błędy i problemy można trafić w roku 2023 w firmie przyjmującej i wypłacającej środki finansowe za pomocą strony WWW.
A jeśli znacie podobne historie, to chętnie posłuchamy o checkerach, błędach, atakach i eksploitach. Gwarantujemy anonimowość naszym informatorom.
Komentarze
A ja nie sądziłem, że w 2023 roku specjalistów IT trzeba zmuszać do korzystania z dwuskładnikowego uwierzytelnienia:
GitHub Makes Two-Factor Authentication Mandatory
GitHub is instituting the requirement to help protect the open-source software supply chain from malicious threats. But the rollout will be gradual.
https://www.pcmag.com/news/github-makes-two-factor-authentication-mandatory
Specjalisto IT lecz się sam!
kicusie byli pierwszi loool
Ciekawe co na to konkurencja fortuny ;) skoro skrypty modyfikowane przez osobe polskojezyczna, to nic tylko czekac az poleca kolejne rewelacje z betclick, superbet, sts i innych. Zlodzieje nie spia, a badacze zainspirowani ta historia, na pewno przeskanuja najwiekszych w branzy.
A mnie zastanawia jedno, ale się nie znam lub czegoś nie rozumiem więc może jakiś haker się wypowie.
Skąd atakujący wiedział w jaki sposób utworzyć fortunaapipublickey? Widać tam szereg przekształceń „hamaka”. Czy to oznacza, że atakujący znał kod źródłowy? Jaką inną metoda mógł się posłużyć aby wiedzieć jak utworzyć API key?
„Naprawdę nie sądziliśmy, że…” – to mało widzieliście ;-)
Na pentestach wyłażą czasem znacznie gorsze kwiatki.
Np. aplikacja mobilna do zarządzania kasą bez 2FA a po zgłoszeniu w raporcie – zapieranie się rękami i nogami przed naprawą tego.
W Polsce i powiązana z sektorem bankowym.
Takich sytuacji jest więcej – czasem aż przykro patrzeć, a nierzadko to produkty już wdrożone.
Jeżeli sysadmini (o ile w ogóle istnieją) nie zauważyli, że ktoś napier*ala żądaniami z 240 wątków jednocześnie, to wydaje mi się, że problem z brakiem 2FA jest tylko wierzchołkiem góry lodowej.
Z drugiej strony, czy wypłata na zmieniony numer konta faktycznie mogła dojść do skutku? Przecież taki serwis jest obowiązany przepisami KYC/AML, więc zmiana konta do wypłat powinna skutkować koniecznością ponownej weryfikacji.