Android – Bankacılık Zararlı Yazılım Analizi [ANUBIS]

Posted on Updated on

Android dünyasında zararlı yazılımların sayısı gün geçtikçe artmaktadır. Bu zararlı yazılımlar Google Play Store’dan da yayılmaktadır. Evet, güvenli diye nitelendirdiğimiz Play Store’un koruması bazı zamanlarda yetersiz kalabilmektedir.

Güvenlik uzmanları bu uygulamaları ortaya çıkarmak, tespit etmek için çalışsa da bazen iş işten geçmiş olabilmektedir. Bu zararlı uygulamalar(dropper) genel olarak farklı bir zararlı indirerek bankacılık uygulamalarını hedef almaktadır.

Son zamanlarda, Türkiye’yi de hedef alan bu zararlı yazılımların sayısında büyük artış yaşandı. Bu analizde de benzer bir uygulamanın indirdiği “Anubis II” türevi olan bir zararlı uygulamayı inceleyeceğiz.

Testlere başladığımız zaman zararlı uygulamanın hash bilgisi virustotal vb. yerlerde bulunmuyordu. Yeni bir zararlı türeviydi.

VirusTotal Linki;

https://www.virustotal.com/tr/file/fd69bc7cf471b30e34e8cc09b8640518b4662bff54c7e5e166426ab95cf1f948/analysis/


Statik Analiz;


Uygulamanın aldığı izin listesine bakacak olursak, kendisinden şüphe duymaya başlıyoruz:

Uygulama, telefonunu bana teslim et diyor resmen. Tek tek izinleri açıklamaya gerek yok, benim ilk dikkatimi çeken; mesaj alıp vermesinin yanısıra, mesajlara cevap gönderiyor olması.

Tüm izinlere tek çerçevede bakarsak uygulama RAT gibi görünüyor. Zararlı yazılımın, telefonunuzu uzaktan yönetebilmek amacıyla kurgulandığını söylemek mümkün.

Uygulamanın kaynak kodlarına baktığımızda kodların obfuscate(karmaşıklaştırma) edilmiş olduğunu görmekteyiz:

Uygulama ne ile derlenmiş diye bakalım dediğimizde;

 

 

 

Burdan herhangi bir ekmek çıkmadı bize.

Uygulamayı de-obfuscate edip kaynak kodlarını açık şekilde elde etmek için önünüzde birden fazla yol var.

  1. Hali hazırda sadeleştirme/de-obfuscation uygulamalarını denemek; dex-oracle , simplify gibi
    • Kısa yöntem ama yetersiz.
  2. Kendi de-obfuscation kodunuzu yazmak
    • Uzun yöntem, sonucu belirsiz ?
  3. Daha low level’e inerek(smali || assembly) uygulamayı analiz etmek
    • Uzun yöntem, sonucu belirsiz ?
  4. Uygulamanın sınıflarına kanca(hook) atıp, analiz etmek
    • Bilindiği üzere android işletim sistemi; dalvik vm içerisinde dex formatındaki uygulamaları çalıştırıyor. Burda uygulamanın dex’e çevrimi sırasında jar dosyasını elde etmeyi umuyoruz.
      • Bu adımı sanal cihazınız üzerinde droidmon ile ya da frida ile yapabilirsiniz.

Basit (jar’ı extract etmek basit olmayabiliyor 🙂 ) ve pratik olarak 4. adımı uygulamak üzere dinamik analize geçiyoruz


Dinamik Analiz;


Uygulama sanal vm ortamında(genymotion) yükleyip kuruyoruz.

Dosyayı sürükleyip sanal cihaza bırakabilirsiniz yada terminalden kurabilirsiniz;

adb install 2767.apk

Uygulamayı kurarken gerekli kancaları(hooking) da atmışsanız logcat çıktısında aşağıdaki bilgileri görmek mümkün;

...
{"timestamp":1547649006124,"result":{"descriptor":55},"class":"libcore.io.IoBridge","method":"open","type":"file","args":["\/data\/data\/com.rsjqvjp.pdmozu\/app_files\/rsznrt.jar","577"]}
{"timestamp":1547649006126,"result":{"fd":{"descriptor":55},"shouldClose":true,"guard":{},"mode":577},"hooked_method":"newInstance","hooked_class":"java.lang.reflect.Constructor","args":[["\/data\/data\/com.rsjqvjp.pdmozu\/app_files\/rsznrt.jar"]],"class":"java.lang.reflect.Method","method":"invoke","type":"reflection"}
...
D/dalvikvm( 2799): DEX prep '/data/data/com.rsjqvjp.pdmozu/app_files/rsznrt.jar': unzip in 1ms, rewrite 56ms
{"timestamp":1547649006433,"class":"dalvik.system.DexFile","method":"dalvik.system.DexFile","type":"dex","args":["\/data\/data\/com.rsjqvjp.pdmozu\/app_files\/rsznrt.jar","\/data\/data\/com.rsjqvjp.pdmozu\/app_files\/rsznrt.dex","0"]}
{"timestamp":1547649006433,"result":{"mCookie":-1203249256,"mFileName":"\/data\/data\/com.rsjqvjp.pdmozu\/app_files\/rsznrt.jar","guard":{}},"class":"dalvik.system.DexFile","method":"loadDex","type":"dex","args":["\/data\/data\/com.rsjqvjp.pdmozu\/app_files\/rsznrt.jar","\/data\/data\/com.rsjqvjp.pdmozu\/app_files\/rsznrt.dex","0"]}
{"timestamp":1547649006434,"class":"dalvik.system.DexClassLoader","method":"dalvik.system.DexClassLoader","type":"dex","args":[":\/data\/data\/com.rsjqvjp.pdmozu\/app_files\/rsznrt.jar","\/data\/data\/com.rsjqvjp.pdmozu\/app_files","dalvik.system.PathClassLoader[DexPathList[[zip file \"\/data\/app\/com.rsjqvjp.pdmozu-1.apk\"],nativeLibraryDirectories=[\/data\/app-lib\/com.rsjqvjp.pdmozu-1, \/system\/lib]]]"]}
...

Uygulamanın jar dosyasını ‘/data/data/com.rsjqvjp.pdmozu/app_files/’ dizininde ‘rsznrt.jar’ adında bıraktığını görüyoruz.

İlgili jar dosyası daha sonra dex formatına çevrildikten sonra otomatik olarak kaldırılıyor. Gerekli scriptleri yazdıktan sonra jar dosyasını elde etmek mümkün.

Jar dosyasını elde edince işimiz daha kolay. Elde ettiğimiz Jar dosyasını java decompiler (jadx-gui vb.) aracı ile açtıktan sonra kaynak kodlara açık şekilde ulaşabiliyoruz 🙂

Kodları böyle çiçek gibi gördükten sonra;

Bundan sonrası açık kodu analiz etmeye kalıyor.

Kaynak kodlarına bakmadan önce, Anubis hakkında bilmemiz gereken; bu uygulama aslında bir RAT(Remote Access/Administration Tool) . Bu nedenle bu uygulamayı oluşturan saldırganların aşağıdaki gibi bir arayüz ekranı var aslında;

 

Uygulama kodlarında da bunu görmek mümkün;

Bağlantı;

Ses kaydedici;

Ekran görüntüsü;

Telefonda yönetici/admin hakkı elde etmek;

Detaylı bilgi için;

https://developer.android.com/reference/android/app/admin/DevicePolicyManager

SMS işlemleri;

Endpoint/CC işlemleri;

Twitter adresi de ne alaka derseniz; şuan ilgili hesap kapatıldığı için net birşey söylemek mümkün değil. Ama eski anubis türevlerinde twitter adresinden atılmış bir twit ile CC adreslerinin kullanıldığını biliyoruz;

Örneğin, yukarıdaki Twitter adresi bir CC adresi, decode ediliği zaman aşağıdaki CC adresine erişmek mümkün;

http://erhgefhsdfsdg[.]com

Ortam kontrolü;

Anti-Analiz tekniği olarak kullanılmış.

Sensor Kontrolü;

Anti-Analiz tekniği olarak kullanılmış.

Dosya Şifreleme(Ransomware);

Sunucu iletişimi;

Ve CCs;

Uygulama yetenekleri;

Arama yönlendirme;

Bu fonksiyonda, saldırganlar kullanıcının telefonunu yönlendirerek, para transferi işlemlerinde bankanın kullanıcıya erişmesini engelliyor.

Uygulamanın etkilediği, telefon üzerinde hedef aldığı uygulama listesi paket içerisinde statik olarak eklenmiş .

Türkiye’den de birçok bankanın yer aldığı bu liste şu şekilde;

at.spardat.bcrmobile
at.spardat.netbanking
com.bankaustria.android.olb
com.bmo.mobile
com.cibc.android.mobi
com.rbc.mobile.android
com.scotiabank.mobile
com.td
cz.airbank.android
eu.inmite.prj.kb.mobilbank
com.bankinter.launcher
com.kutxabank.android
com.rsi
com.tecnocom.cajalaboral
es.bancopopular.nbmpopular
es.evobanco.bancamovil
es.lacaixa.mobile.android.newwapicon
com.dbs.hk.dbsmbanking
com.FubonMobileClient
com.hangseng.rbmobile
com.MobileTreeApp
com.mtel.androidbea
com.scb.breezebanking.hk
hk.com.hsbc.hsbchkmobilebanking
com.aff.otpdirekt
com.ideomobile.hapoalim
com.infrasofttech.indianBank
com.mobikwik_new
com.oxigen.oxigenwallet
jp.co.aeonbank.android.passbook
jp.co.netbk
jp.co.rakuten_bank.rakutenbank
jp.co.sevenbank.AppPassbook
jp.co.smbc.direct
jp.mufg.bk.applisp.app
com.barclays.ke.mobile.android.ui
nz.co.anz.android.mobilebanking
nz.co.asb.asbmobile
nz.co.bnz.droidbanking
nz.co.kiwibank.mobile
com.getingroup.mobilebanking
eu.eleader.mobilebanking.pekao.firm
eu.eleader.mobilebanking.pekao
eu.eleader.mobilebanking.raiffeisen
pl.bzwbk.bzwbk24
pl.ipko.mobile
pl.mbank
alior.bankingapp.android
com.comarch.mobile.banking.bgzbnpparibas.biznes
com.comarch.security.mobilebanking
com.empik.empikapp
com.empik.empikfoto
com.finanteq.finance.ca
com.orangefinansek
eu.eleader.mobilebanking.invest
pl.aliorbank.aib
pl.allegro
pl.bosbank.mobile
pl.bph
pl.bps.bankowoscmobilna
pl.bzwbk.ibiznes24
pl.bzwbk.mobile.tab.bzwbk24
pl.ceneo
pl.com.rossmann.centauros
pl.fmbank.smart
pl.ideabank.mobilebanking
pl.ing.mojeing
pl.millennium.corpApp
pl.orange.mojeorange
pl.pkobp.iko
pl.pkobp.ipkobiznes
com.kuveytturk.mobil
com.magiclick.odeabank
com.mobillium.papara
com.pozitron.albarakaturk
com.teb
ccom.tmob.denizbank
com.tmob.tabletdeniz
com.vakifbank.mobilel
tr.com.sekerbilisim.mbank
wit.android.bcpBankingApp.millenniumPL
com.advantage.RaiffeisenBank
hr.asseco.android.jimba.mUCI.ro
may.maybank.android
ro.btrl.mobile
com.amazon.mShop.android.shopping || com.amazon.windowshop
com.ebay.mobile
ru.sberbankmobile || ru.sberbank.spasibo || ru.sberbank_sbbol || ru.sberbank.mobileoffice || ru.sberbank.sberbankir
ru.alfabank.mobile.android || ru.alfabank.oavdo.amc || by.st.alfa || ru.alfabank.sense || ru.alfadirect.app
ru.mw
com.idamob.tinkoff.android || ru.tcsbank.c2c || ru.tinkoff.mgp || ru.tinkoff.sme || ru.tinkoff.goabroad
ru.vtb24.mobilebanking.android || ru.bm.mbm || com.vtb.mobilebank || com.bssys.VTBClient || com.bssys.vtb.mobileclient
com.akbank.android.apps.akbank_direkt || com.akbank.android.apps.akbank_direkt_tablet || com.akbank.softotp || com.akbank.android.apps.akbank_direkt_tablet_20 || com.fragment.akbank
com.ykb.android || com.ykb.android.mobilonay || com.ykb.avm || com.ykb.androidtablet || com.veripark.ykbaz
com.softtech.iscek || com.yurtdisi.iscep || com.softtech.isbankasi || com.monitise.isbankmoscow
com.finansbank.mobile.cepsube || finansbank.enpara || com.magiclick.FinansPOS || com.matriksdata.finansyatirim || finansbank.enpara.sirketim || com.vipera.ts.starter.QNB || com.redrockdigimark
com.garanti.cepsubesi || com.garanti.cepbank || com.garantibank.cepsubesiro || com.matriksdata.finansyatirim || biz.mobinex.android.apps.cep_sifrematik || com.garantiyatirim.fx
com.tmobtech.halkbank || com.SifrebazCep || eu.newfrontier.iBanking.mobile.Halk.Retail || tr.com.tradesoft.tradingsystem.gtpmobile.halk || com.DijitalSahne.EnYakinHalkbank
com.ziraat.ziraatmobil || com.ziraat.ziraattablet || com.matriksmobile.android.ziraatTrader || com.matriksdata.ziraatyatirim.pad
de.comdirect.android
de.commerzbanking.mobil
de.consorsbank
com.db.mm.deutschebank
de.dkb.portalapp || com.de.dkb.portalapp
com.ing.diba.mbbr2
de.postbank.finanzassistent
mobile.santander.de
de.fiducia.smartphone.android.banking.vr
fr.creditagricole.androidapp
fr.axa.monaxa
fr.banquepopulaire.cyberplus
net.bnpparibas.mescomptes
com.boursorama.android.clients
com.caisseepargne.android.mobilebanking
fr.lcl.android.customerarea
com.paypal.android.p2pmobile
com.wf.wellsfargomobile || com.wf.wellsfargomobile.tablet || com.wellsFargo.ceomobile
com.usbank.mobilebanking
com.usaa.mobile.android.usaa
com.suntrust.mobilebanking
com.moneybookers.skrillpayments.neteller
com.moneybookers.skrillpayments
com.clairmail.fth
com.konylabs.capitalone || com.yinzcam.facilities.verizon
com.chase.sig.android
com.infonow.bofa || com.bankofamerica.cashpromobile
uk.co.bankofscotland.businessbank || com.grppl.android.shell.BOS
com.rbs.mobile.android.natwestoffshore || com.rbs.mobile.android.natwest || com.rbs.mobile.android.natwestbandc
com.rbs.mobile.investisir || com.phyder.engage || com.rbs.mobile.android.rbs || com.rbs.mobile.android.rbsbandc
uk.co.santander.santanderUK || uk.co.santander.businessUK.bb || com.sovereign.santander
com.ifs.banking.fiid4202 || com.fi6122.godough
com.rbs.mobile.android.ubr
com.htsu.hsbcpersonalbanking
com.grppl.android.shell.halifax
com.grppl.android.shell.CMBlloydsTSB73
com.barclays.android.barclaysmobilebanking
com.unionbank.ecommerce.mobile.android || com.unionbank.ecommerce.mobile.commercial.legacy
com.snapwork.IDBI || com.idbibank.abhay_card || src.com.idbi || com.idbi.mpassbook
com.ing.mobile
com.snapwork.hdfc
com.sbi.SBIFreedomPlus
hdfcbank.hdfcquickbank
com.csam.icici.bank.imobile
in.co.bankofbaroda.mpassbook
com.axis.mobile
cz.csob.smartbanking
cz.sberbankcz
sk.sporoapps.accounts || sk.sporoapps.skener
com.cleverlance.csas.servis24
org.westpac.bank || nz.co.westpac
au.com.suncorp.SuncorpBank
org.stgeorge.bank
org.banksa.bank
au.com.newcastlepermanent
au.com.nab.mobile
au.com.mebank.banking
au.com.ingdirect.android || MyING.be
com.imb.banking2
com.fusion.ATMLocator
au.com.cua.mb
com.commbank.netbank || com.cba.android.netbank
com.citibank.mobile.au || com.citibank.mobile.uk || com.citi.citimobile
org.bom.bank
com.bendigobank.mobile || me.doubledutch.hvdnz.cbnationalconference2016
au.com.bankwest.mobile
com.bankofqueensland.boq
com.anz.android.gomoney || com.anz.android || com.anz.SingaporeDigitalBanking || com.anzspot.mobile || com.crowdcompass.appSQ0QACAcYJ || com.arubanetworks.atmanz || com.quickmobile.anzirevents15
at.volksbank.volksbankmobile || de.fiducia.smartphone.android.banking.vr || it.volksbank.android || it.secservizi.mobile.atime.bpaa || de.fiducia.smartphone.android.securego.vr || com.unionbank.ecommerce.mobile.commercial.legacy
com.isis_papyrus.raiffeisen_pay_eyewdg
at.easybank.mbanking || at.easybank.tablet || at.easybank.securityapp
at.bawag.mbanking || com.bawagpsk.securityapp || at.psa.app.bawag
com.pozitron.iscep
com.vakifbank.mobile || com.pozitron.vakifbank
com.starfinanz.smob.android.sfinanzstatus || com.starfinanz.mobile.android.pushtan || com.entersekt.authapp.sparkasse || com.starfinanz.smob.android.sfinanzstatus.tablet
com.starfinanz.smob.android.sbanking
com.palatine.android.mobilebanking.prod
fr.laposte.lapostemobile || fr.laposte.lapostetablet
com.cm_prod.bad || com.cm_prod.epasal || com.cm_prod_tablet.bad || com.cm_prod.nosactus
mobi.societegenerale.mobile.lappli
com.bbva.netcash
com.bbva.bbvacontigo || com.bbva.bbvawallet
es.bancosantander.apps || com.santander.app
es.cm.android || es.cm.android.tablet || com.bankia.wallet
com.jiffyondemand.user
com.latuabancaperandroid
com.latuabanca_tabperandroid
com.lynxspa.bancopopolare
com.unicredit
it.bnl.apps.banking
it.bnl.apps.enterprise.bnlpay
it.bpc.proconl.mbplus
it.copergmps.rt.pf.android.sp.bmps
it.gruppocariparma.nowbanking
it.ingdirect.app
it.nogood.container
it.popso.SCRIGNOapp
posteitaliane.posteapp.apppostepay
com.abnamro.nl.mobile.payments
com.triodos.bankingnl
nl.asnbank.asnbankieren
nl.snsbank.mobielbetalen
com.btcturk
com.finansbank.mobile.cepsube
com.ingbanktr.ingmobil
com.kuveytturk.mobil
com.magiclick.odeabank
com.mobillium.papara
com.pozitron.albarakaturk
com.teb
com.tmob.denizbank
com.ykb.android
finansbank.enpara
tr.com.hsbc.hsbcturkey
tr.com.sekerbilisim.mbank
com.att.myWireless
com.vzw.hss.myverizon
com.Plus500
eu.unicreditgroup.hvbapptan
com.targo_prod.bad
com.db.pwcc.dbmobile
com.db.mm.norisbank
com.bitmarket.trader
com.plunien.poloniex
com.bitmarket.trader
com.mycelium.wallet
com.bitfinex.bfxapp
com.binance.dev
com.btcturk
com.binance.odapplications
com.blockfolio.blockfolio
com.crypter.cryptocyrrency
io.getdelta.android
com.edsoftapps.mycoinsvalue
com.coin.profit
com.mal.saul.coinmarketcap
com.tnx.apps.coinportfolio
com.coinbase.android
com.portfolio.coinbase_tracker
de.schildbach.wallet
piuk.blockchain.android
info.blockchain.merchant
com.jackpf.blockchainsearch
com.unocoin.unocoinwallet
com.unocoin.unocoinmerchantPoS
com.thunkable.android.santoshmehta364.UNOCOIN_LIVE
wos.com.zebpay
com.localbitcoinsmbapp
com.thunkable.android.manirana54.LocalBitCoins
com.thunkable.android.manirana54.LocalBitCoins_unblock
com.localbitcoins.exchange
com.coins.bit.local
com.coins.ful.bit
com.jamalabbasii1998.localbitcoin
zebpay.Application
com.bitcoin.ss.zebpayindia
com.kryptokit.jaxx

IOCs;

Uygulamada geçen C2 adresleri de şu şekilde;

http://69[.]com/
https://twitter[.]com/ermando07225597
http://sositehuypidarasi[.]com
http://ktosdelaetskrintotpidor[.]com

Dosya Hash bilgileri;

SHA256: fd69bc7cf471b30e34e8cc09b8640518b4662bff54c7e5e166426ab95cf1f948
SHA256: 5a75a2160c54c6e80ba432a903e3d70bea9a8259d724f2df0d2874e0e4052f71

Sonuç ve Çözüm Önerileri;

Görüldüğü üzere, bu tür zararlı uygulamalar telefon üzerinde her hareketi yapabilmekte. Son kullanıcı veya uygulama sahiplerinin(banka vb.) alabileceği bazı çözüm önerilerim;

Son kullanıcı / Telefon sahipleri;

  • Telefonlarında güncel antivirüs programı yüklemek
    • Her virüs programı iyi değil tabi, ücretsiz olanlardan önerim Dr. Web
  • Google Play dışında harici bir market vb. yerden uygulama indirmemek
  • Crack’li uygulamaları kullanmamak
  • İndirme istatistiklerine bakarak, popüler olmayan uygulamalardan uzak durmak

Uygulama sahipleri;

 

Yararlı olması dileğiyle.

 

 

And, thanks for inspiring & helping Lukas 🙂

Advertisement

2 thoughts on “Android – Bankacılık Zararlı Yazılım Analizi [ANUBIS]

    ENVER KILIC said:
    17 January 2019 at 15:24

    teşekkürler

    Hakan Harbelioğlu said:
    22 February 2020 at 15:30

    Harika yararlı bir makale olmuş gerçekten

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s