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

本文涉及的产品
.cn 域名,1个 12个月
简介: 本文讲的是针对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
本文来自云栖社区合作伙伴嘶吼,了解相关信息可以关注嘶吼网站。
目录
相关文章
|
6天前
|
安全 Android开发 数据安全/隐私保护
深入探讨iOS与Android系统安全性对比分析
在移动操作系统领域,iOS和Android无疑是两大巨头。本文从技术角度出发,对这两个系统的架构、安全机制以及用户隐私保护等方面进行了详细的比较分析。通过深入探讨,我们旨在揭示两个系统在安全性方面的差异,并为用户提供一些实用的安全建议。
|
15天前
|
缓存 Java Shell
Android 系统缓存扫描与清理方法分析
Android 系统缓存从原理探索到实现。
40 15
Android 系统缓存扫描与清理方法分析
|
22天前
|
存储 Android开发 网络架构
点心云-N1盒子、机顶盒、手机等设备-小白保姆式刷机教程
本文介绍了N1盒子的刷机教程,包括未刷机和已刷其他系统的N1。教程详细列出了所需工具和具体步骤,如下载工具包、制作安装盘、打开ADB模式、降级、刷入新系统等,确保用户能够顺利完成刷机操作。对于已刷第三方系统的N1,还提供了解决USB线不被识别、驱动问题及供电不足等常见问题的方法。
65 1
点心云-N1盒子、机顶盒、手机等设备-小白保姆式刷机教程
|
9天前
|
Web App开发 定位技术 iOS开发
Playwright 是一个强大的工具,用于在各种浏览器上测试应用,并模拟真实设备如手机和平板。通过配置 `playwright.devices`,可以轻松模拟不同设备的用户代理、屏幕尺寸、视口等特性。此外,Playwright 还支持模拟地理位置、区域设置、时区、权限(如通知)和配色方案,使测试更加全面和真实。例如,可以在配置文件中设置全局的区域设置和时区,然后在特定测试中进行覆盖。同时,还可以动态更改地理位置和媒体类型,以适应不同的测试需求。
Playwright 是一个强大的工具,用于在各种浏览器上测试应用,并模拟真实设备如手机和平板。通过配置 `playwright.devices`,可以轻松模拟不同设备的用户代理、屏幕尺寸、视口等特性。此外,Playwright 还支持模拟地理位置、区域设置、时区、权限(如通知)和配色方案,使测试更加全面和真实。例如,可以在配置文件中设置全局的区域设置和时区,然后在特定测试中进行覆盖。同时,还可以动态更改地理位置和媒体类型,以适应不同的测试需求。
16 1
|
29天前
|
存储 Linux Android开发
Android底层:通熟易懂分析binder:1.binder准备工作
本文详细介绍了Android Binder机制的准备工作,包括打开Binder驱动、内存映射(mmap)、启动Binder主线程等内容。通过分析系统调用和进程与驱动层的通信,解释了Binder如何实现进程间通信。文章还探讨了Binder主线程的启动流程及其在进程通信中的作用,最后总结了Binder准备工作的调用时机和重要性。
Android底层:通熟易懂分析binder:1.binder准备工作
|
28天前
|
开发工具 Android开发 Swift
安卓与iOS开发环境的差异性分析
【10月更文挑战第8天】 本文旨在探讨Android和iOS两大移动操作系统在开发环境上的不同,包括开发语言、工具、平台特性等方面。通过对这些差异性的分析,帮助开发者更好地理解两大平台,以便在项目开发中做出更合适的技术选择。
|
3月前
|
传感器 Android开发 芯片
不写一行代码(三):实现安卓基于i2c bus的Slaver设备驱动
本文是系列文章的第三篇,展示了如何在Android系统中利用现有的i2c bus驱动,通过编写设备树节点和应用层的控制代码,实现对基于i2c bus的Slaver设备(如六轴陀螺仪模块QMI8658C)的控制,而无需编写设备驱动代码。
44 0
不写一行代码(三):实现安卓基于i2c bus的Slaver设备驱动
|
3月前
|
Android开发
不写一行代码(二):实现安卓基于PWM的LED设备驱动
本文介绍了在Android系统中不编写任何代码,通过设备树配置和内核支持的通用PWM LED驱动来实现基于PWM的LED设备驱动,并通过测试命令调整LED亮度级别。
42 0
不写一行代码(二):实现安卓基于PWM的LED设备驱动
|
3月前
|
Linux Android开发 C语言
不写一行代码(一):实现安卓基于GPIO的LED设备驱动
本文通过实践操作,展示了在Android系统中不编写任何代码,利用设备树(DTS)配置和内核支持的通用GPIO LED驱动来控制LED设备,并进一步通过C语言编写NDK测试APP来实现LED的闪烁效果。
135 0
不写一行代码(一):实现安卓基于GPIO的LED设备驱动
下一篇
无影云桌面