GMBot: nowe sposoby na wyłudzanie danych z przeglądarek mobilnych

Data publikacji: 16/05/2016, Malgorzata Debska

Złośliwe oprogramowanie na system Android o nazwie GMBot (inna nazwa slempo) było już przez nas opisywane w październiku ubiegłego roku. Aplikacja do wyłudzania danych logowania do banku używała tzw. metody przesłonięcia aplikacji (ang. application overlay). Jest to nic innego jak zwykły atak phishingowy, w działaniu dosyć podobny do znanej metody używania webinjectów w systemach z rodziny Windows. Zgodnie z naszymi przewidywaniami, używanie przesłonięcia aplikacji stało się dosyć popularne w złośliwych aplikacjach androidowych. W ciągu ostatniego półrocza powstało wiele wersji oprogramowania swoim działaniem przypominających GMBota. W każdym przypadku przesłonięcie dotyczyło wyłącznie aplikacji zainstalowanych na telefonie (aplikacje bankowe, komunikatory, e-mail). W zeszłym tygodniu, do naszego laboratorium trafiła jednak próbka, która oprócz przesłonięcia aplikacji bankowej stara się także wyłudzić dane dostępowe do banku z mobilnej przeglądarki internetowej.

Scenariusz działania

GMBot dystrybuowany jest głównie poprzez fałszywe strony służące do oglądania filmików. Najczęściej podszywa się pod Adobe Flash Player (ofiara musi ściągnąć aktualizacje aby móc obejrzeć filmik) albo pod aplikację PornTube. Następnie program prosi o nadanie praw administratora aby móc monitorować otwierane aplikacje oraz łączyć się z siecią wifi gdy tylko jest to możliwe. Na samym początku GMBot rejestruje nowego bota w panelu wysyłając POST-a do serwera C&C. Na poniższym listingu przedstawiamy kod, który pokazuje co wysyłane jest z telefonu na serwer:

localArrayList.add(new BasicNameValuePair("info", "imei: " +
((TelephonyManager)localObject).getDeviceId() + ", country: " +
((TelephonyManager)localObject).getNetworkCountryIso() + ", cell: " +
((TelephonyManager)localObject).getSimOperatorName() + ", android: " +
Build.VERSION.RELEASE + ", model: " + new StringBuilder().
append(Build.MANUFACTURER).append(" ").append(Build.MODEL).toString()
+ ",number: " + str1));

Nowy sposób wyłudzania danych – przeglądarki mobilne

Po rejestracji telefonu przez C&C, aplikacja monitoruje aktywne procesy. W momencie gdy ofiara uruchomi jedną z aplikacji zawartych w pliku konfiguracyjnym, GMBot łączy się z serwerem, na którym znajdują się przygotowane okna logowania i przykrywa aplikację własnym oknem. W najnowszej wersji, GMBot obserwuje nie tylko aplikacje bankowe zawarte w pliku konfiguracyjnym w ale także historię przeglądanych stron (w tym przypadku standardowa przeglądarka androidowa oraz Google Chrome). W momencie gdy ostatnio odwiedzaną przez nas witryną była strona banku, nad oknem przeglądarki zostaje wyświetlony formularz logowania.

Okna zostały przygotowane całkiem wiarygodnie. Górny pasek, który ma za zadanie utwierdzenie użytkownika, że znajduje się na stronie internetowej banku jest oczywiście zwykłym obrazkiem z wklejonym adresem. Po wpisaniu loginu i hasła przez użytkownika okno automatycznie znika i użytkownik wraca do strony banku. Wszystkie przechwycone w ten sposób dane są przez złośliwą aplikację wysyłane do serwera C&C. Przebadana przez nas próbka posiadała plik konfiguracyjny uwzględniający 21 polskich serwisów bankowości elektronicznej jednak obecnie nie znajdują się one już na liście atakowanych serwisów.

Możliwości aplikacji

Oprócz głównego zadania, czyli wykradania danych autoryzacyjnych, GMBot posiada wiele dodatkowych opcji:

  • przekierowywanie połączeń i smsów przychodzących na innyc numer
  • wykradanie danych karty kredytowej z Google Play
  • wysyłanie pełnej historii przeglądarki na serwer zarządzający
  • przesyłanie listy wszystkich aplikacji zainstalowanych na telefonie
  • przesyłanie wszystkich smsów na serwer zarządadzjący
  • wysyłanie SMS-ów do ofiary mających zachęcić do zalogowania się na konto bankowe

Wszystkie wykradzione dane wysyłane są z użyciem protokołu HTTP na serwer C&C kontrolowany przez przestępców. Przykładowy fragment kodu aplikacji mający za zadanie wysłanie historii przeglądarki z telefonu ofiary:

Jak nie dać się zainfekować?

Aplikacja od ponad pół roku jest dosyć popularna, głównie w takich krajach jak Turcja, Kanada, Niemcy, Tajwan czy Australia. Zauważamy jednak coraz więcej infekcji telefonów polskich użytkowników. Szczęśliwie jak do tej pory, oprócz podstawowych informacji o telefonie, atakującym nie udaje się wyłudzić danych dostępowych polskich użytkowników bankowości elektronicznej.
Przestępcy ciągle pracują nad nowymi sposobami na pozyskanie danych klientów bankowości. Trzeba więc pozostać czujnym i zwracać dużą uwagę na to, co instalujemy na swoich smarfonach. Najlepszym sposobem na uniknięcie infekcji jest nieinstalowanie aplikacji z niezaufanych źródeł. Niestety gdy padniemy ofiarą infekcji jedynym sposobem na pozbycie się malware jest reset fabryczny telefonu lub usunięcie aplikacji przy pomocy ADB.

Z uwagi na dosyć dużą skalę infekcji (aktualnie ponad 35 tysięcy unikalnych numerów IMEI) złośliwym oprogramowaniem z rodziny GMBOT poniżej prezentujemy mapkę pokazującą ich ilość na całym świecie:


Skróty próbek malware:

SHA-256: a3948403f314f90e3feed83c3155d7cd0e93fa54c5768e875c00fb7319fba9d9
MD5: c34061e7ccd6ae311b72e535c7ffa8be