针对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
本文来自云栖社区合作伙伴嘶吼,了解相关信息可以关注嘶吼网站。
目录
相关文章
|
11天前
|
开发工具 Android开发 Swift
安卓与iOS开发环境对比分析
在移动应用开发的广阔舞台上,安卓和iOS这两大操作系统无疑是主角。它们各自拥有独特的特点和优势,为开发者提供了不同的开发环境和工具。本文将深入浅出地探讨安卓和iOS开发环境的主要差异,包括开发工具、编程语言、用户界面设计、性能优化以及市场覆盖等方面,旨在帮助初学者更好地理解两大平台的开发特点,并为他们选择合适的开发路径提供参考。通过比较分析,我们将揭示不同环境下的开发实践,以及如何根据项目需求和目标受众来选择最合适的开发平台。
25 2
|
30天前
|
Shell Linux 开发工具
"开发者的救星:揭秘如何用adb神器征服Android设备,开启高效调试之旅!"
【8月更文挑战第20天】Android Debug Bridge (adb) 是 Android 开发者必备工具,用于实现计算机与 Android 设备间通讯,执行调试及命令操作。adb 提供了丰富的命令行接口,覆盖从基础设备管理到复杂系统操作的需求。本文详细介绍 adb 的安装配置流程,并列举实用命令示例,包括设备连接管理、应用安装调试、文件系统访问等基础功能,以及端口转发、日志查看等高级技巧。此外,还提供了常见问题的故障排除指南,帮助开发者快速解决问题。掌握 adb 将极大提升 Android 开发效率,助力项目顺利推进。
48 0
|
16天前
|
IDE 开发工具 Android开发
安卓与iOS开发环境对比分析
本文将探讨安卓和iOS这两大移动操作系统在开发环境上的差异,从工具、语言、框架到生态系统等多个角度进行比较。我们将深入了解各自的优势和劣势,并尝试为开发者提供一些实用的建议,以帮助他们根据自己的需求选择最适合的开发平台。
22 1
|
30天前
|
Java 开发工具 Android开发
安卓与iOS开发环境对比分析
【8月更文挑战第20天】在移动应用开发的广阔天地中,Android和iOS两大平台各自占据着重要的位置。本文将深入探讨这两种操作系统的开发环境,从编程语言到开发工具,从用户界面设计到性能优化,以及市场趋势对开发者选择的影响。我们旨在为读者提供一个全面的比较视角,帮助理解不同平台的优势与挑战,并为那些站在选择十字路口的开发者提供有价值的参考信息。
|
20天前
|
监控 Java API
Android经典实战之OkDownload:一个经典强大的文件下载开源库,支持断点续传
本文介绍的 OkDownload 是一个专为 Android 设计的开源下载框架,支持多线程下载、断点续传和任务队列管理等功能,具备可靠性、灵活性和高性能特点。它提供了多种配置选项和监听器,便于开发者集成和扩展。尽管已多年未更新,但依然适用于大多数文件下载需求。
72 1
|
22天前
|
Android开发
基于Amlogic 安卓9.0, 驱动简说(四):Platform平台驱动,驱动与设备的分离
本文介绍了如何在基于Amlogic T972的Android 9.0系统上使用Platform平台驱动框架和设备树(DTS),实现设备与驱动的分离,并通过静态枚举在设备树中描述设备,自动触发驱动程序的加载和设备创建。
10 0
基于Amlogic 安卓9.0, 驱动简说(四):Platform平台驱动,驱动与设备的分离
|
22天前
|
Android开发 C语言
基于Amlogic 安卓9.0, 驱动简说(二):字符设备驱动,自动创建设备
这篇文章是关于如何在基于Amlogic T972的Android 9.0系统上,通过自动分配设备号和自动创建设备节点文件的方式,开发字符设备驱动程序的教程。
23 0
基于Amlogic 安卓9.0, 驱动简说(二):字符设备驱动,自动创建设备
|
22天前
|
自然语言处理 Shell Linux
基于Amlogic 安卓9.0, 驱动简说(一):字符设备驱动,手动创建设备
本文是关于在Amlogic安卓9.0平台上创建字符设备驱动的教程,详细介绍了驱动程序的编写、编译、部署和测试过程,并提供了完整的源码和应用层调用示例。
33 0
基于Amlogic 安卓9.0, 驱动简说(一):字符设备驱动,手动创建设备
|
22天前
|
传感器 Android开发 芯片
不写一行代码(三):实现安卓基于i2c bus的Slaver设备驱动
本文是系列文章的第三篇,展示了如何在Android系统中利用现有的i2c bus驱动,通过编写设备树节点和应用层的控制代码,实现对基于i2c bus的Slaver设备(如六轴陀螺仪模块QMI8658C)的控制,而无需编写设备驱动代码。
26 0
不写一行代码(三):实现安卓基于i2c bus的Slaver设备驱动
|
22天前
|
Android开发
不写一行代码(二):实现安卓基于PWM的LED设备驱动
本文介绍了在Android系统中不编写任何代码,通过设备树配置和内核支持的通用PWM LED驱动来实现基于PWM的LED设备驱动,并通过测试命令调整LED亮度级别。
25 0
不写一行代码(二):实现安卓基于PWM的LED设备驱动