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

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

以下是一些例子:

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

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

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

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

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

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

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

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

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

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

我们可以看到,几乎所有的C&C服务器都是由域名.gdn TLD https://en.wikipedia.org/wiki/.gdn提供服务的,其中一些服务器在域名上是由.pw TLD 提供服务的。 针对Android设备的开源手机银行木马BankBot / Mazain分析

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

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 针对Android设备的开源手机银行木马BankBot / Mazain分析

以前是这样子的: 针对Android设备的开源手机银行木马BankBot / Mazain分析

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

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

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

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

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

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

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

提供URL缩短服务的hxxp://dogrulama.link网站正在托管虚拟Flash播放器应用程序。 针对Android设备的开源手机银行木马BankBot / Mazain分析

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

62ca7b73563f946df01d65447694874c45d432583f265fad11b8645903b6b099
3bf02ae481375452b34a6bd1cdc9777cabe28a5e7979e3c0bdaab5026dd8231d
6b93f837286da072f1ec7d5f5e049491d76d4d6ecc1784e1fadc1b29f4853a13
d8b28dbcc9b0856c1b7aa79efae7ad292071c4f459c591de38d695e5788264d1
bd194432a12c35ae6ae8a82fa18f9ecac3eb6e90c5ff8330d20d19e85a782958
e0da58da1884d22cc4f6dfdc2e1da6c6bfe2b90194b86f57f9fc01b411abe8de

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

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

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

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

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

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

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

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

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

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

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

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

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

木马可以从C&C接收以下命令: 针对Android设备的开源手机银行木马BankBot / Mazain分析

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

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

请求管理员/root权限

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

发短信 

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

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

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

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

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

据我们了解,几乎所有的土耳其手机银行和金融应用程序都受到了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”);

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

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

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

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

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

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

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




原文发布时间为:2017年5月17日
本文作者:Change
本文来自云栖社区合作伙伴嘶吼,了解相关信息可以关注嘶吼网站。
上一篇:智慧园区-楼层搭建之复杂CAD处理


下一篇:斯诺登致力研发智能手机反侦察设备