Stary rosyjski kawał mówi, że jeżeli budzisz się w poniedziałek bez kaca, to znaczy, że jest wtorek. U nas takiej imprezy nie było, ale i tak publikacja nowego odcinka naszego cyklu opóźniła się o jeden dzień.
Po świąteczno-noworocznej przerwie witamy w kolejnym odcinku Poniedziałku z Trenerem. Czy strona skoncentrowany na bezpieczeństwie i prowadzona przez Google może być ofiarą prostego ataku? Dzisiaj omówimy przykład błędu w VirusTotal, niezwykle przydatnym serwisie związanym z bezpieczeństwem. Oprócz wysyłania próbek do analizy bardzo cenną (i to dosłownie, bo większość użytkowników musi za nią płacić sporą sumę) opcją jest możliwość pobierania plików przeznaczonych do analizy. Opisywany poniżej błąd pozwalał na przejęcie kontroli nad dowolnym kontem użytkownika, również tymi premium.
W poprzednich odcinkach
We wcześniejszych wpisach cyklu Poniedziałek z trenerem:
- dwa proste błędy w kodzie Facebooka,
- cztery błędy do zdalnego wykonania kodu,
- modyfikacja jednego parametru za 10 000 dolarów,
- ciekawe ataki na nagłówki wiadomości,
- wykonanie kodu na firewallach PaloAlto.
Prosty atak
NotHumanNinja od zawsze marzył o dostaniu się do Google Hall Of Fame. Pracę rozpoczął od przeszukania domen należących do informatycznego giganta, w tym celu wykorzystał narzędzie Sublist3r. Dodał do tego informację o domenach w posiadaniu Google dostępne publicznie w sieci i uwagę swoją skupił właśnie na serwisie VirusTotal.
Po założeniu konta w serwisie i przeklikaniu przez wszystkie funkcje okazało się, że nie jest łatwo odkryć trywialną lukę. Przynajmniej na pierwszy rzut oka. Potrzebna była krótka przerwa na zebranie sił, po której okazało się, że badacz zapomniał, jakie hasło do konta ustawił. Była to dobra okazja to tego, by bliżej przyjrzeć się mechanizmowi resetu hasła.
Po wypełnieniu formularza standardowo otrzymał e-mail z odnośnikiem pozwalającym odzyskać dostęp. Odwiedził go i przy pomocy proxy (prawdopodobnie Burp Suite) zatrzymał żądanie przeglądarki. Po pobieżnej obserwacji dokończył proces, choć jego uwagę zwróciła nazwa użytkownika w adresie URL. Szybko zainicjował reset hasła na drugim koncie, które posiadał i odwiedził przesłany odnośnik. Tym razem jednak podmienił nazwę użytkownika na tę z pierwszego konta przed wysłaniem żądania do serwera.
Tak, to wystarczyło. Hasło zostało zmienione na koncie innym, niż to, dla którego został rozpoczęty proces odzyskiwania. Po potwierdzeniu, że możliwe jest zalogowanie na konto pierwsze przy pomocy nowo wybranego hasła, NotHumanNinja zgłosił błąd i otrzymał nagrodę pieniężną oraz swój upragniony wpis do listy sławy.
Jest to kolejny przykład na to, że trywialne błędy nie omijają nawet największych, włączając podmioty profesjonalnie zajmujące się bezpieczeństwem. Jeśli chcesz dowiedzieć się, na co zwrócić uwagę w trakcie tworzenia aplikacji by uniknąć analogicznych problemów, zapraszamy na nasze szkolenie.
Szkolenie z bezpieczeństwa aplikacji WWW
Czas trwania: 3 dni (20h), Prowadzący: Adam z z3s, Przemysław Sierociński
Liczba uczestników: maksymalnie 12 osób, cena: 3900 PLN netto
Komentarze
Czyli że co, token nie był brany pod uwagę?
Token pewnie był sprawdzany, ale para login + token już nie.