Mobilne bankowe trojany przedostały się na Google Play i atakują klientów polskich banków

W Polsce zaatakowały klientów bzwbk, bzwbk24pl, ibiznes24, ipko, mbank

Artykuł powstał przy współpracy z Niels Croese ze SfyLabs oraz Lukášem Štefanko z ESETu.

Eksperci ds. bezpieczeństwa Mobilnego Avast przy współpracy z analitykami ESET oraz SfyLabs, przygotowali analizę nowej wersji trojana mobilnego: BankBota, które w tym roku kilkakrotnie trafiało na Google Play, kierując ataki na aplikacje dużych banków w USA, Australii, Niemczech, Holandii, Francji, Polsce, Hiszpanii, Portugalii, Turcji, Grecji, Rosji, Dominikanie, Singapurze i na Filipinach. 

W ostatnim czasie zaobserwowaliśmy dwie fale ataków w październiku BankBota i listopadzie: złośliwych aplikacje Mazar i Red Alert. Ukrywały się one w rzekomo godnych zaufania aplikacjach lamp błyskowych oraz gier do pasjansa Solitaire. Jednak zamiast wnosić światło, czy rozrywkę w życie swoich użytkowników,  szpiegowały ich, zbierając dane do logowania do mobilnych aplikacji bankowych, umożliwiając kradzież pieniędzy z kont bankowych.

Dzięki naszej interwencji firma Google usunęła wszystkie znane wersje BankBotu z Google Play, jednak niektóre z nich były aktywne do 17 listopada.To wystarczyło, aby aplikacja zaatakowała tysiące użytkowników. 

Google stosuje zaostrzone środki bezpieczeństwa: skanowanie i weryfikację wszystkich aplikacji przesłanych do Sklepu Play, aby uniemożliwić przenikanie szkodników do serwisu. Jednak autorzy mobilnych trojanów bankowych zaczęli używać specjalnych technik, które obchodzą automatyczne detekcje Google, rozpoczynając szkodliwą działalność kilka godzin po przyznaniu uprawnień administratora urządzenia. Oszuści wykorzystali również inną metodę: publikując aplikację pod różnymi nazwami programistów.

Jak więc działają opisywane trojany bankowe? Najistotniejszą informacją jest to, że same aplikacje bankowe nigdy nie zostały zaatakowane. Zamiast tego, dochodzi do instalacji fałszywego interfejsu użytkownika, swego rodzaju przykrywki, która jest nakładana na prawdziwą aplikację bankową, gdy ta jest otwierana przez użytkownika. W ten sposób, użytkownik nie loguje się w swojej aplikacji, ale na nakładce podsuniętej przez przestępce, udostępniając mu w ten sposób swoje dane. Europejskie banki stosują numery uwierzytelniające transakcje (TAN), formę uwierzytelniania dwuskładnikowego. Cyberprzestępcy przechwytują wiadomość tekstową swoich ofiar, która obejmuje mobilny numer TAN, dzięki czemu są w stanie przeprowadzić przelewy bankowe w imieniu użytkownika. Szkodnik ten zachowuje się w podobny sposób, jak złośliwa aplikacja opisana we wrześniu przez firmę Trend Micro.

BankBot - opis techniczny

Pierwszą próbkę nowej wersji złośliwego oprogramowania BankBot w Google Play znaleźliśmy 13 października 2017 r. Została ukryta w aplikacjach: "Tornado FlashLight" (com.andrtorn.app), a później w "Lamp For DarkNess" i "Sea FlashLight". 

Bankbot-1.jpg

Próbka nie została wykryta, a funkcjonalność i wydajność lamp błyskowych pozostawała bez zmian. 
Bankbot-2.jpg

Aplikacje lampy błyskowej zawierały malware BankBot, który rzeczywiście potrafił świecić.

Na przełomie października i listopada mieliśmy do czynienia z drugą falą ataków. Pojawiły się aplikacja do czyszczenia smartfonów i wiele aplikacji do gier pasjansowych z wbudowanym złośliwym oprogramowaniem.

Bankbot-3-4.jpg

Zainfekowana aplikacja do gry w pokera Solitaire, pojawiła się w drugiej fali ataków.

Zaraz po pobraniu tych aplikacji złośliwe oprogramowanie zostaje aktywowane. Sprawdza, jakie aplikacje są zainstalowane na zainfekowanym urządzeniu na podstawie zakodowanej, wstępnie obliczonej listy 160 aplikacji mobilnych SHA1. Nazwy pakietów są mieszane i dlatego udało nam się zidentyfikować tylko 132 z nich. Lista ta zawiera aplikacje Wells Fargo i Chase w USA, Credit Agricole we Francji, Santander w Hiszpanii, Commerzbank w Niemczech i wiele innych z całego świata.

Pełną listę aplikacji docelowych znajdziesz na końcu tego wpisu. Jeśli złośliwe oprogramowanie jest w stanie zidentyfikować jedną lub więcej aplikacji z listy SHA1 zainstalowanej w telefonie, inicjuje "usługę", która może wykonywać długie operacje w tle. Usługa obejmuje funkcję droppera, która umożliwia pobranie innej aplikacji z serwera sieciowego w celu zainstalowania jej na urządzeniu.

Bankbot-5.jpg

Porównanie starej i nowej wersji BankBotu: Nowa wersja najpierw pobiera zawirusowany pakiet z zewnętrznego źródła.

Szkodliwe oprogramowanie komunikuje się z serwerem Command and Control (C&C) za pośrednictwem usługi Firebase firmy Google w celu ukrycia korzysta z szyfrowanej komunikacji:

Bankbot-6.png

Następnie złośliwe oprogramowanie uruchamia wyszukiwanie aplikacji bankowych, także po włączeniu urządzenia. Jeśli wykryje jedną z aplikacji na urządzeniu, usługa uruchomi się.

Po uruchomieniu usługa spróbuje nakłonić ofiarę do przyznania praw administratora aplikacji, udając aktualizację w Sklepie Play (lub systemie) za pomocą podobnej ikony i nazwy pakietu:

Bankbot-7.png

Aplikace dropper doskonale imituje szatę graficzną Google

Dwie godziny po uzyskaniu uprawnień administratora złośliwe oprogramowanie zacznie pobierać swoją zawartość - pakiet APB BankBota (com.vdn.market.plugin.upd). Uważamy, że cyberprzestępcy używają tego dwugodzinnego okna, aby uniknąć kontroli Google i ewentualnej wpadki. Dotyczy to wszystkich próbek droppera i za każdym razem, gdy pobierany jest plik APB BankBota z hxxp://138.201.166.31/kjsdf.tmp:

Bankbot-8.png

Kiedy złośliwy pakiet zostanie pobrany z serwera, malware próbuje zainstalować pakiet APK przy użyciu standardowego mechanizmu instalacji Androida dla aplikacji hostowanych poza sklepem Google Play. Wymaga to skonfigurowania smartfona, aby akceptował instalacje z nieznanych źródeł. Jeśli ta funkcja nie jest włączona, system Android wyświetli błąd i instalacja zostanie zakończona.

Bankbot-9.png

W przeciwnym razie użytkownik zostanie poproszony o zaakceptowanie, aby kontynuować instalację. W przeciwieństwie do nowszej wersji BankBota, droppery z poprzednich kampanii były znacznie bardziej wyrafinowane. Zastosowano w nich techniki, takie jak wykonywanie kliknięć w tle za pośrednictwem usługi dostępności, aby umożliwić instalację z nieznanych źródeł. Google zablokowało tę usługę dla wszystkich aplikacji tej jesieni, z wyjątkiem tych, które mają świadczyć usługi dla niewidomych. Dlatego nowa wersja BankBota nie może już dłużej korzystać z tego mechanizmu.

Bankbot-10-1.png

Nazwa i ikona pakietu do zainstalowania złośliwego oprogramowania sprawia, że użytkownik jest przekonany, że ma do czynienia z aktualizacją Google Play. Po zakończeniu instalacji nowy pakiet APK zażąda również uprawnień administratora urządzenia.

Zrzucony pakiet APK sprawdza różne wskaźniki, bez względu na to czy działa w emulatorze, czy bezpośrednio na urządzeniu. Kontrole anty-sandbox mogą pomóc złośliwemu oprogramowaniu ominąć lub opóźnić wykrycie przez silniki antywirusowe.

Gdy użytkownik otworzy jedną z wyżej wymienionych aplikacji bankowych, złośliwa aplikacja zostanie aktywowana i utworzy nakładkę do prawdziwej aplikacji bankowej. Avast Threat Labs przetestował ten mechanizm za pomocą aplikacji lokalnego czeskiego banku. W poniższym filmie możesz zobaczyć, jak działa nakładka. Po wprowadzeniu danych bankowych, wpadają one w ręce cyberprzestępców.

 

Funkcja przejmowania SMS

Wiele banków stosuje tak zwane uwierzytelnianie dwuskładnikowe, co zapewnia, że transakcja jest bezpieczna i może być wykonana tylko przez klienta tego banku. BankBot zawiera również funkcję odczytywania wiadomości SMS, więc gdy kod weryfikacyjny dociera na telefon użytkownika, cyberprzestępcy mogą go natychmiast wykorzystać i przelać pieniądze na swoje konta.

Co ciekawe szkodliwe oprogramowanie nie działa na Ukrainie, Białorusi i w Rosji. To najprawdopodobniej ochroni cyberprzestępców przed niechcianą uwagą organów ścigania w tych krajach.

Bankbot-12.png

Kolejną ciekawostką jest fakt, że pomimo iż dropper Tornado FlashLight został usunięty z Google Play, początkowo nie był w ogóle wykrywany przez funkcję Google Play Protect. To samo dotyczy szkodliwego oprogramowania z droppera.

Bankbot-13.png

Zainfekowana aplikacja do grania Solitaire, która pojawiła się w drugiej fali ataków

Jak się możesz chronić przed atakami mobilnych trojanów?

Aby chronić się przed trojanami bankowości mobilnej, zalecamy użytkownikom wykonanie następujących kroków:

  • Korzystaj z aplikacji zabezpieczających, takich jak Avast Mobile Security lub AVG Antivirus dla systemu Android
  • Upewnij się, że aplikacje do bankowości mobilnej, z których korzystasz są zweryfikowane. Jeśli interfejs nie jest dostępny, skontaktuj się z Obsługą Klienta Banku.
  • Korzystaj z weryfikacji dwuetapowej, jeśli Twój bank ją udostępnia.
  • Korzystaj tylko z zaufanych źródeł, takich jak Google Play lub App Store. Pomimo, że złośliwe oprogramowanie potrafi przeniknąć do Google Play, złośliwy pakiet zostaje pobrany z zewnętrznego źródła. Jeśli więc wyłączysz możliwość pobierania aplikacji z innych źródeł, będziesz chroniony!
  • Przed pobraniem nowych aplikacji zapoznaj się z opiniami na ich temat. Jeśli inni użytkownicy skarżą się i mają słabe doświadczenie, wybierz inną aplikację
  • Zwróć uwagę na uprawnienia wymagane przez aplikacje. Jeśli aplikacja lampy bływkowej wymaga dostępu do kontaktów, zdjęć lub innych plików multimedialnych, zastanów się dwa razy, zanim ją pobierzesz.
  • Złośliwe oprogramowanie często wymaga od Ciebie, abyś został administratorem swojego urządzenia. Nie udzielaj tego pozwolenia żadnej aplikacji, chyba że wyraźnie potrzebujesz jej do działania. 

IOC 

(Kliknij tutaj aby uzyskać tabelkę IOC pokazaną poniżej)

Przykłady z pierwszej fali ataków

Section1Chart1.jpg

Payload Downloaded

Section1Chart2.jpg

Second Campaign

Section2Chart1.jpgSection2Chart2.jpg

Payload Downloaded

Section3.jpg

Hosts

Section4Hosts.jpg

Control Panel

Section4ControlPanel.jpg

Lista atakowanych aplikacji

ar.nbad.emobile.android.mobilebank
at.bawag.mbanking
at.spardat.bcrmobile
at.spardat.netbanking
au.com.bankwest.mobile
au.com.cua.mb
au.com.ingdirect.android
au.com.nab.mobile
au.com.newcastlepermanent
au.com.suncorp.SuncorpBank
ch.raiffeisen.android
com.EurobankEFG
com.adcb.bank
com.adib.mbs
com.advantage.RaiffeisenBank
com.akbank.android.apps.akbank_direkt
com.anz.SingaporeDigitalBanking
com.bankaustria.android.olb
com.bankofqueensland.boq
com.barclays.ke.mobile.android.ui
com.bbva.bbvacontigo
com.bbva.netcash
com.bendigobank.mobile
com.bmo.mobile
com.caisseepargne.android.mobilebanking
com.cajamar.Cajamar
com.cbd.mobile
com.chase.sig.android
com.cibc.android.mobi
com.citibank.mobile.au
com.clairmail.fth
com.cm_prod.bad
com.comarch.mobile
com.comarch.mobile.banking.bnpparibas
com.commbank.netbank
com.csam.icici.bank.imobile
com.csg.cs.dnmb
com.db.mm.deutschebank
com.db.mm.norisbank
com.dib.app
com.finansbank.mobile.cepsube
com.finanteq.finance.ca
com.garanti.cepsubesi
com.getingroup.mobilebanking
com.htsu.hsbcpersonalbanking
com.imb.banking2
com.infonow.bofa
com.ing.diba.mbbr2
com.ing.mobile
com.isis_papyrus.raiffeisen_pay_eyewdg
com.konylabs.capitalone
com.mobileloft.alpha.droid
com.moneybookers.skrillpayments
com.moneybookers.skrillpayments.neteller
com.palatine.android.mobilebanking.prod
com.pozitron.iscep
com.rak
com.rsi
com.sbi.SBIFreedomPlus
com.scb.breezebanking.hk
com.snapwork.hdfc
com.starfinanz.smob.android.sfinanzstatus
com.suntrust.mobilebanking
com.targo_prod.bad
com.tmobtech.halkbank
com.ubs.swidKXJ.android
com.unicredit
com.unionbank.ecommerce.mobile.android
com.usaa.mobile.android.usaa
com.usbank.mobilebanking
com.vakifbank.mobile
com.vipera.ts.starter.FGB
com.vipera.ts.starter.MashreqAE
com.wf.wellsfargomobile
com.ykb.android
com.ziraat.ziraatmobil
cz.airbank.android
cz.csob.smartbanking
cz.sberbankcz
de.comdirect.android
de.commerzbanking.mobil
de.direkt1822.banking
de.dkb.portalapp
de.fiducia.smartphone.android.banking.vr
de.postbank.finanzassistent
de.sdvrz.ihb.mobile.app
enbd.mobilebanking
es.bancosantander.apps
es.cm.android
es.ibercaja.ibercajaapp
es.lacaixa.mobile.android.newwapicon
es.univia.unicajamovil
eu.eleader.mobilebanking.pekao
eu.eleader.mobilebanking.pekao.firm
eu.inmite.prj.kb.mobilbank
eu.unicreditgroup.hvbapptan
fr.banquepopulaire.cyberplus
fr.creditagricole.androidapp
fr.laposte.lapostemobile
fr.lcl.android.customerarea
gr.winbank.mobile
hr.asseco.android.jimba.mUCI.ro
in.co.bankofbaroda.mpassbook
may.maybank.android
mbanking.NBG
mobi.societegenerale.mobile.lappli
mobile.santander.de
net.bnpparibas.mescomptes
net.inverline.bancosabadell.officelocator.android
nz.co.anz.android.mobilebanking
nz.co.asb.asbmobile
nz.co.bnz.droidbanking
nz.co.kiwibank.mobile
nz.co.westpac
org.banksa.bank
org.bom.bank
org.stgeorge.bank
org.westpac.bank
pl.bzwbk.bzwbk24
pl.bzwbk.ibiznes24
pl.ipko.mobile
pl.mbank
pt.bancobpi.mobile.fiabilizacao
pt.cgd.caixadirecta
pt.novobanco.nbapp
ro.btrl.mobile
src.com.idbi
wit.android.bcpBankingApp.activoBank
wit.android.bcpBankingApp.millennium
wit.android.bcpBankingApp.millenniumPL
www.ingdirect.nativeframe 
 
1 2 3 4 5 6
           
           
 
 
--> -->