针对Android设备的开源手机银行木马BankBot / Mazain分析

Change 新闻 2017年5月17日发布

导语:在最近几年,我们开始对那些针对土耳其银行以及其他各种类型的金融机构应用的恶意软件产生了兴趣。

在最近几年,我们开始对那些针对土耳其银行以及其他各种类型的金融机构应用的恶意软件产生了兴趣。据我们观察,在过去两年这种针对银行业务的恶意软件行为愈演愈烈,特别是在手机银行方面,许多的新型恶意软件已经开始通过网络钓鱼以及打印等方式来进行传播了。

以下是一些例子:

hxxp://nora.biz/index.php?threads/Пишем-android-бота-с-нуля.1425/

1.jpg

hxxps://forum.exploit.in/index.php?s=52f9e19ea5173f0ea43855edabafff41&showtopic=113555 

2.jpg

hxxp://a0007517.xsph.ru/threads/pishem-svoj-android-botnet-s-nulja.6/ 

3.jpg

C&C服务器中使用了这些软件含有一小部分的PHP代码,C&C入口通过命令管理Android木马,而它正在窃取短信以获取OTP。

 1494923488414059.png

这种C&C服务器基本上都被加入了木马程序,来使其能够从android手机中捕捉短信,而在未知的角落里有很多这样的C&C服务器在活跃着。

 5.jpg

我们可以看到,几乎所有的C&C服务器都是由域名.gdn TLD https://en.wikipedia.org/wiki/.gdn提供服务的,其中一些服务器在域名上是由.pw TLD 提供服务的。 6.png

观察后发现这些域名包括:

ifc3yb3rs3cur1tych0.pw
1nj3ct10n.gdn
r0n4ld4.gdn
t4l1sc4.gdn
trolitrader.pw
bigbustown.pw
ch4pr6.gdn
n0309.gdn
tr4f0.pw
t1lk1.gdn
b46.gdn

该列表今后还会继续更新。

很明显拥有这些域名的人以前曾使用了这些不同的域名来作为网络钓鱼站点以及C&C服务器。

hxxp://e-trafikcezasiodemesi.net

hxxp://guvenliktrafikcezasiodemeyeri.com

hxxp://jethgsyukle.com 7.png

以前是这样子的: 9.png

10.png

11.png

而当你使用移动设备访问以下土耳其网站时,这些网站就会帮助传播前文所提到的Android木马。 

hxxp://ircforumlari.net
hxxp://filmindirsene.net

 QQ截图20170516165610.jpg

QQ截图20170516165634.jpg

而如果你使用移动设备或浏览器访问了上述网站,并且将用户代理字符串设置为Android浏览器之一,则网站会提供通过缩短链接来安装Android应用程序。

提供URL缩短服务的hxxp://dogrulama.link网站正在托管虚拟Flash播放器应用程序。 14.png

FlashPlayer.apk及其变体的SHA256散列如下:

62ca7b73563f946df01d65447694874c45d432583f265fad11b8645903b6b099
3bf02ae481375452b34a6bd1cdc9777cabe28a5e7979e3c0bdaab5026dd8231d
6b93f837286da072f1ec7d5f5e049491d76d4d6ecc1784e1fadc1b29f4853a13
d8b28dbcc9b0856c1b7aa79efae7ad292071c4f459c591de38d695e5788264d1
bd194432a12c35ae6ae8a82fa18f9ecac3eb6e90c5ff8330d20d19e85a782958
e0da58da1884d22cc4f6dfdc2e1da6c6bfe2b90194b86f57f9fc01b411abe8de

我们还发现有些类的名字似乎是用土耳其语写的。

 15.png

16.png

还有一些俄罗斯语写的(俄罗斯论坛上已经找到原文)。

QQ截图20170516171823.jpg

 安装flashplayer.apk到手机上后,该恶意软件就请求用户首次提供设备管理员权限:

17.png

18.png

18.png

该恶意软件要使用的其他权限还有:

 20.png

QQ截图20170516171019.jpg

除此之外,该恶意软件还会有一些服务要运行。

木马可以从C&C接收以下命令: 21.png

非结构化补充服务数据请求 

22.png 

请求管理员/root权限

 23.png

发短信 

1494926451195211.png

恶意软件会扫描statham类中定义的所有运行进程。

 1494926494930750.png

在收到所有正在运行的进程列表后,我们和自己的手机银行应用程序进程列表对比了一下:

1494926586604000.png 

据我们了解,几乎所有的土耳其手机银行和金融应用程序都受到了BankBot恶意软件的影响:

com.ziraat.ziraatmobil
com.ziraat.ziraattablet
com.tmobtech.halkbank
com.vakifbank.mobile
com.pozitron.vakifbank
com.akbank.android.apps.akbank_direkt
com.akbank.softotp
com.akbank.android.apps.akbank_direkt_tablet
tr.com.sekerbilisim.mbank
com.teb
com.pozitron.iscep
com.softtech.isbankasi
com.ykb.android
com.ykb.androidtablet
com.tmob.denizbank
com.tmob.tabletdeniz
com.garanti.cepsubesi
biz.mobinex.android.apps.cep_sifrematik
com.htsu.hsbcpersonalbanking
com.ingbanktr.ingmobil
com.magiclick.odeabank
com.finansbank.mobile.cepsube
finansbank.enpara
com.pozitron.albarakaturk
com.kuveytturk.mobil

而且源代码中的电话号码也会被Bankbot阻止:

Toast.makeText((Context)context, (CharSequence)"Giden Aramalar Engellendi.", (int)0).show();

这些电话号码都是用于访问相关银行的电话银行系统的。

this.b = arrayList.getStringExtra("incoming_number");
arrayList = new ArrayList();
arrayList.add( “+ 9008502200000”);
arrayList.add( “+ 908502200000”);
arrayList.add( “+ 904440000”);
arrayList.add( “+ 9008502220400”);
arrayList.add( “+ 908502220400”);
arrayList.add( “+ 904440400”);
arrayList.add( “+ 9008502220724”);
arrayList.add( “+ 908502220724”);
arrayList.add( “+ 904440724”);
arrayList.add( “+ 9008502222525”);
arrayList.add( “+ 908502222525”);
arrayList.add( “+ 904442525”);
arrayList.add( “+ 9008502227878”);
arrayList.add( “+ 908502227878”);
arrayList.add( “+ 904447878”);
arrayList.add( “+ 9008502000666”);
arrayList.add( “+ 908502000666”);
arrayList.add( “+ 904440832”);
arrayList.add( “+ 9002166353535”);
arrayList.add( “+ 902166353535”);
arrayList.add( “+ 9008507240724”);
arrayList.add( “+ 908507240724”);
arrayList.add( “+ 904440202”);
arrayList.add( “+ 9008502220444”);
arrayList.add( “+ 908502220444”);
arrayList.add( “+ 904440444”);
arrayList.add( “+ 9008502220800”);
arrayList.add( “+ 908502220800”);
arrayList.add( “+ 904440800”);
arrayList.add( “+ 9008502220333”);
arrayList.add( “+ 908502220333”);
arrayList.add( “+ 904440333”);
arrayList.add( “+ 9008502110111”);
arrayList.add( “+ 908502110111”);
arrayList.add( “+ 9008502220600”);
arrayList.add( “+ 908502220600”);
arrayList.add( “+ 904448444”);
arrayList.add( “+ 9002123048444”);
arrayList.add( “+ 902123048444”);
arrayList.add( “+ 9008502220900”);
arrayList.add( “+ 908502220900”);
arrayList.add( “+ 904440900”);
arrayList.add( “+ 9008502223663”);
arrayList.add( “+ 908502223663”);
arrayList.add( “+ 9008502225666”);
arrayList.add( “+ 908502225666”);
arrayList.add( “+ 904445666”);
arrayList.add( “+ 9002166660101”);
arrayList.add( “+ 902166660101”);
arrayList.add( “+ 9008502510123”);
arrayList.add( “+ 908502510123”);
arrayList.add( “+ 9002123541111”);
arrayList.add( “+ 902123541111”);
arrayList.add( “08502200000”);
arrayList.add( “8502200000”);
arrayList.add( “4440000”);
arrayList.add( “08502220400”);
arrayList.add( “8502220400”);
arrayList.add( “4440400”);
arrayList.add( “08502220724”);
arrayList.add( “8502220724”);
arrayList.add( “4440724”);
arrayList.add( “08502222525”);
arrayList.add( “8502222525”);
arrayList.add( “4442525”);
arrayList.add( “08502227878”);
arrayList.add( “8502227878”);
arrayList.add( “4447878”);
arrayList.add( “08502000666”);
arrayList.add( “8502000666”);
arrayList.add( “4440832”);
arrayList.add( “02166353535”);
arrayList.add( “2166353535”);
arrayList.add( “08507240724”);
arrayList.add( “8507240724”);
arrayList.add( “4440202”);
arrayList.add( “08502220444”);
arrayList.add( “8502220444”);
arrayList.add( “4440444”);
arrayList.add( “08502220800”);
arrayList.add( “8502220800”);
arrayList.add( “4440800”);
arrayList.add( “08502220333”);
arrayList.add( “8502220333”);
arrayList.add( “4440333”);
arrayList.add( “08502110111”);
arrayList.add( “8502110111”);
arrayList.add( “08502220600”);
arrayList.add( “8502220600”);
arrayList.add( “4448444”);
arrayList.add( “02123048444”);
arrayList.add( “2123048444”);
arrayList.add( “08502220900”);
arrayList.add( “8502220900”);
arrayList.add( “4440900”);
arrayList.add( “08502223663”);
arrayList.add( “8502223663”);
arrayList.add( “08502225666”);
arrayList.add( “8502225666”);
arrayList.add( “4445666”);
arrayList.add( “02166660101”);
arrayList.add( “2166660101”);
arrayList.add( “08502510123”);
arrayList.add( “8502510123”);
arrayList.add( “02123541111”);
arrayList.add( “2123541111”);

不过我们也发现开发恶意软件的人可能会有点懒惰或在编程方面没有什么经验,显示用于拦截/阻止传出呼叫的字符串和网上搜到的一模一样。

 1494926654131746.png

C&C服务器还有用于从用户获取凭据的特殊登录页面:

 29.png

显示钓鱼窗口WebView,并从命令中指定的链接下载内容。 

 1494926815412992.png

以上就是我们对他们的分析,我们有理由相信随着手机银行业务的普及,今年可能会面临更多类似的情况。

本文翻译自:https://github.com/bemre/bankbot-mazain ,如若转载,请注明来源于嘶吼: http://www.4hou.com/info/news/4788.html
点赞 0
  • 分享至
取消

感谢您的支持,我会继续努力的!

扫码支持

打开微信扫一扫后点击右上角即可分享哟

发表评论

    天海 春香 2017-05-17 14:40

    这个挺厉害的