Wyciąganie danych kart kredytowych przez Google Analytics

dodał 20 października 2013 o 22:53 w kategorii Info  z tagami:
Wyciąganie danych kart kredytowych przez Google Analytics

Einstein twierdził, że tylko dwie rzeczy są nieskończone: wszechświat i ludzka głupota. My musimy dodać do tej listy również kreatywność internetowych przestępców, którzy nie przestają nas zaskakiwać ciekawymi pomysłami.

Dane kart kredytowych zawsze były popularnym celem przestępców. Za dawnych czasów podstawowym sposobem ich zdobycia było fizyczne odczytanie z karty. W ostatnich latach wraz ze wzrostem popularności kart mikroprocesorowych oraz transakcji internetowych, coraz częściej widzimy ataki na systemy komputerowe, przetwarzające dane interesujące przestępców. Wygodnym punktem ataku dla przestępców są formularze, w których klienci różnych instytucji podają dane swoich kart kredytowych. Takie dane wystarczy skopiować w trakcie wprowadzania i przekazać w inne miejsce. Przekazanie nie jest jednak takie proste – i tu z pomocą przychodzi najnowszy wynalazek internetowych rabusiów.

Jak nie narobić hałasu

Dane karty kredytowej, zapisane za pomocą zmodyfikowanego formularza, można na przykład przesłać na inny serwer za pomocą żądania GET lub POST lub chociażby wysłać przy użyciu poczty elektronicznej. Obie te metody mają podstawową wadę – są dość łatwe do wykrycia przez czujnego administratora. Dziwne połączenia, sesje otwierane z nieznanymi serwerami – aż proszą się o zwrócenie uwagi. By uniknąć tego ryzyka, przestępcy wymyślili sposób na wykorzystanie jednego z już istniejących i zaufanych kanałów komunikacji.

Google Analytics jako prywatny komunikator

Specjaliści Trustwave SpiderLabs odkryli metodę przesyłania skradzionych danych kart kredytowych za pomocą usług Google Analytics. Jak to możliwe? Okazuje się, że metoda jest bardzo prosta i dość skuteczna. Operacja zaczyna się od utworzenia ciągu, zakodowanego w base64, zawierającego wszystkie ważne dane, które chce pozyskać przestępca.

Krok pierwszy (źródło: SpiderLabs)

Krok pierwszy (źródło: SpiderLabs)

Dane, skopiowane w trakcie wypełniania przez klienta formularza płatności, są zapisywane w formie ciągu base64 w zmiennej $a. W drugim etapie modyfikowany jest kod skryptu, obsługującego wywołanie mechanizmów Google Analytics.

Drugi krok (źródło: SpiderLabs)

Drugi krok (źródło: SpiderLabs)

W czwartym wierszu skryptu zmienna $a jest przekazywana jako odwiedzona strona. Przestępca modyfikuje także identyfikator Google Analytics, by przekierować statystyki na swoje konto. W trzecim kroku dane są odczytywane z konta Google Analytics – wyraźnie widać żądanie, zawierające zakodowane dane karty kredytowej. Co prawda ciąg base64 wyświetlany na stronie GA jest obcięty, jednak jego pełna forma znajduje się w kodzie źródłowym witryny GA.

Krok trzeci (źródło: SpiderLabs)

Krok trzeci (źródło: SpiderLabs)

Metoda ta jest genialna w swojej prostocie. Po stronie zaatakowanego klienta widać jedynie żądanie do serwera Google Analytics – prawie takie samo, jak zwykle, bogatsze tylko o jedną, zakodowaną zmienną. Konia z rzędem temu, kto zwróci na to uwagę. Co ciekawe, Google Analytics nie wymaga w tym wypadku potwierdzenia uprawnień do odbierania ruchu z zaatakowanej domeny, umożliwiając skuteczne przeprowadzenie całej operacji. Pozostaje pogratulować kreatywności autorom tego pomysłu.