对 ArabicRSS APK 应用木马样本的分析

水坑攻击(watering hole) 是近些年黑客攻击常用的方式之一,顾名思义,是在受害者必经之路设置了一个“水坑(陷阱)”。最常见的做法是,黑客分析攻击目标的上网活动规律,寻找攻击目标经常访问的网站的弱点,先将此网站“攻破”并植入攻击代码,一旦攻击目标访问该网站就会“中招”。 由于此种攻击借助了目标团体所信任的网站,攻击成功率很高,即便是那些对鱼叉攻击或其他形式的钓鱼攻击具有防护能力的团体。其针对的目标多为特定的团体(组织、行业、地区等)。攻击者首先通过猜测(或观察)确定这组目标经常访问的网站,并入侵其中一个或多个,植入恶意软件,最后,达到感染该组目标中部分成员的目的。

对 ArabicRSS APK 应用木马样本的分析

包含木马载荷的水坑应用程序

尽管受害者在使用其设备时会尽力注意并保持自己的安全,但他们的消息和电话会转到其他相关联的设备,这些设备可能不受保护,并以不安全的方式使用。

目前已知的攻击案例有2017年ExPetr攻击和2016年波兰银行攻击。

水坑攻击不需要利用宝贵的零日漏洞,不需要使用专业的一流黑客,也不需要与领先的情报机构合作,就能发起攻击。

攻击可以通过使用原始接入点、不安全的无线网络、不安全或易受攻击的网站、社会工程和其他不属于网络攻击的技术水平的方法进行。

在本文,研究人员会分析一组安装的Android应用程序,这些应用程序欺骗了访问目标Android应用程序、新闻网站和某个期刊的用户。

利用RSS发起水坑攻击

研究人员的案例研究的是ArabicRSS,奇热它与可以从市场上安全地下载并安装的合法应用程序相同但是带有恶意间谍软件代码有效载荷。

对 ArabicRSS APK 应用木马样本的分析

ArabicalRSS应用程序屏幕截图

《生活报》(Al-Hayat)是一份总部设在伦敦的泛阿拉伯报纸,是希望向广大公众表达自己的自由主义知识分子的首选场所。研究人员案例研究中的受害者是用Android设备用户访问该报纸的用户。

这些攻击是通过从《生活报》和其他有关网站的重定向,以及通过其他社会工程方法,到一个引诱用户下载和安装恶意木马的网站进行的。

对 ArabicRSS APK 应用木马样本的分析

从合法来源重定向到用户将在其上下载恶意软件的站点,此过程非常简单,例如中间人攻击(MITM),社会工程学和其他重定向手段。此外,攻击者可以利用网站中的漏洞,注入恶意JavaScript或HTML代码,将目标重定向到托管恶意软件的另一个站点。

对一个可以合法从app store下载的应用程序进行反编译“注入”恶意代码载荷,使其在被攻击的设备上秘密工作,并重新打包应用程序的APK(app文件)。

ArabicRSS.apk应用程序

让研究人员检查一下ArabRss.apk 3.4.1受木马感染的应用程序,原始的ArabicRSS.apk应用程序是一个合法的应用程序,用于读取几个主要阿拉伯语新闻站点的RSS feed。

该木马支持各种间谍软件数据流量驱动的发送和监控功能:联系人、短信、通话记录、设备位置、设备信息、账户细节和来自DCIM(数码相机图像)目录的图像,其他间谍软件功能包括:位置跟踪,通话记录。

在ArabicRSS案例中,木马有效载荷是基于对较早版本的商业间谍软件Spymaster Pro的反向工程。

不管有没有木马载荷,应用程序的外观和功能显然是相同的。

对 ArabicRSS APK 应用木马样本的分析

ArabicRss.apk 3.4.1启动图标

木马网络

木马代理网络通常由一个命令和控制(C&C)服务器架构来管理,C&C的职责包括从木马代理节点收集数据,并向它们发送命令,让它们能够执行不同的间谍活动。

ArabicRSS木马是一组至少由五种不同应用程序组成的木马,它们都有相同的木马载荷,研究人员将他们标记为G2组。

总的来说,至少存在三种不同的木马载荷,这些载荷至少可以在由两个不同的C&C服务器控制的13个不同的应用程序中找到。

对 ArabicRSS APK 应用木马样本的分析

木马程序、C&C服务器与中间服务器的关系

ArabicRSS木马从androidupdaters.com/img.jpg的文件中获取C&C服务器地址,“androidupdaters.com”域充当“中间服务器”,即木马客户端与其对应的C&C服务器之间的另一个网络节点。如图所示,这些域包含“img.jpg”和“google_logo.jpg”图像文件。

"image .jpg"和"google_logo.jpg"图像文件包含以下IP地址:5.61.27.154和5.61.27.157,在其上托管了C&C。

对 ArabicRSS APK 应用木马样本的分析

google_logo.jpg,内部隐藏了IP地址

"androidupdaters"域托管在以下IP地址:178.162.214.146和91.109.16.85,androidupdaters.com的中间服务器被一个不同的木马载荷访问,该载荷在三个不同的应用程序G3组中找到,它是网络中最先进的有效载荷。G3有效载荷包含其C&C服务器的基本URL www.rhubarb3.com, rhubarb-n域与另一种木马有效载荷类型G1木马组相同,在G1木马组中,URL充当其他5个不同应用程序的C&C服务器。G1组是其中最古老、最简单的一组。“rhubarb-3”域已托管在以下IP地址上:46.4.74.56和5.144.130.33。使用IP地址的服务器:178.162.214.146和91.109.16.85位于德国北莱茵-威斯特伐利亚的杜塞尔多夫,并托管几个伊朗域名。

技术分析

G2组

基于Spymaster Pro的间谍软件或后门,该代码位于apaspy.iqual.appspy的程序包下。

该木马提供各种间谍软件发送和监控的功能:联系人、短信、通话记录、设备位置、设备信息、账户详情、来自DCIM(数码相机图像)目录的图像。

木马应用程序:

com.alywa.arabic.name ——Arabic RSS应用程序;

alnaharegypt.news ——Egyptian ‘Al Nahar’ 应用程序

com.ann.newspaper——一个亚洲新闻网;

com.wallpaper ——另一个壁纸应用

iqual.apaspy ——另一个色情恶意软件应用

对 ArabicRSS APK 应用木马样本的分析

Al Nahar与亚洲新闻应用

 G3组

另外,研究人员还评估了更先进,功能更强大的间谍软件或后门有效载荷。它具有比第一个木马载荷更强大的功能。除了第一种木马类型的基本功能外,这些功能需要root权限,并且专门针对root用户的设备。该代码位于com.testunit的程序包名称下,有了root用户权限,攻击者将获得的恶意功能有:

键盘记录程序,捕捉所有的文本输入,包括密码和安全,机密和自毁的消息。

泄漏和监控第三方应用程序有:whatsapp,Telegram,Facebook Messenger,Snapchat等。

相关的木马应用程序:

free.vpn.proxy.unblock.android.easy.app ——VPN Easy (提供“免费” VPN服务)

com.del.tele.acc——删除帐户应用程序。

ltd.banehappy.drofirewall——DroFireWall是用于执行多个系统级操作的前端应用程序。未经root用户权限和/或设备管理支持,大多数操作都是不允许执行的:iptables Linux防火墙管理,显示被阻止的数据包,控制本地网络中的流量或通过VPN连接时的流量,管理系统应用程序等。

对 ArabicRSS APK 应用木马样本的分析

删除Telegram、DroFirewall和VPN的简易启动图标

G1组

G1组是G3组的父级。该恶意软件的目标包括:从通话记录、短信、联系人、位置、账户、相机静音拍摄和设备信息中提取数据。

值得注意的是,有几种类型的应用程序被选择作为恶意软件的伪装体

1.官方应用商店上提供的合法免费应用程序,这是木马程序最喜欢的伪装道具,因为乍一看该应用看起来很熟悉、很“安全”。从攻击者的角度来看,此方法的缺点是木马更容易被发现,原因是:

1.1原始应用程序可在Google Play商店中使用,由于侵犯了版权,这个木马化的假冒应用程序很可能一开始就被禁止发布在谷歌商店中。用户需要将应用程序加载到能够运行来自未知来源的应用程序的设备上。

1.2扩展权限集,以ArabicRSS为例,木马应用程序请求64个不同的权限,而原始应用程序仅要求三个。

1.3危险的权限集,尤其是BIND_DEVICE_ADMIN。

1.4触发的行为过多,以ArabicRSS为例,木马应用可以触发29个操作,而原始程序仅触发4个操作。

2.“成人”应用程序是恶意载荷的最常见工具,但通常用作广告软件或勒索软件,感染率更高,因为原始应用看起来更像木马。

3.安全工具,因为安全工具应用程序可能需要root权限才能正常运行。

4.root权限申请工具,在许多情况下,需要root权限的应用程序都禁止在官方应用程序商店上发布。结果,这些应用程序通常被安装为侧载应用程序。

木马代码分析

该应用程序包含两个功能齐全的代码部分:

1.原始的ArabicRSS 3.4.1应用程序代码全部放在com.alywa.arabic软件包下

2.该间谍软件代码基于放置在apaspy.iqual.appspy程序包下的较早的商业间谍软件Spymaster Pro的反向工程。该iqual在这两个超级间谍和木马封装的通用名称。

对 ArabicRSS APK 应用木马样本的分析

原始应用程序和木马代码

隐蔽运行

该应用程序需要在后台运行,执行间谍任务而不暴露其存在的任何证据。

虽然可以通过将广播接收器注册到Intent广播来触发某些监控任务(例如监控SMS和调用日志),而其他任务,如位置跟踪和web浏览监视,则不需要任何唤醒事件。

其他消耗更多资源的任务,如CPU时间和内存,例如与C&C服务器的通信,需要在后台运行,而不需要任何通知。

木马的主要工作是在“AppService”和“Mal”主服务类上执行,实现唤醒的IntentService。大多数消耗资源的任务将在这些服务之上执行。为简化起见,研究人员将这两种服务都称为一个服务。

让我们回顾一下木马的工作流程: 

1.大多数产生运行意图的主要设备动作都被“MyReceiver”广播接收器类捕获

2.如果主AppService尚未运行,则将启动它;

3.其中一些操作的数据,如电话和短信流量,实时存储在本地数据库中。大部分数据是由单个活动接收器收集的。例如,PhoneStateListener实现监控调用日志并管理记录服务,如下面的“数据收集”部分所示。

AppService执行几个消耗资源的操作:

1.检查当前的数据收集状态,并与C&C检查这些数据是否在C&C端是最新的;

2.收集没有操作意图的数据,如位置监控、web浏览和联系人存储修改;

3.如果设备上有网络连接,服务将发送之前没有发送的所有收集到的数据

4. 任何在C&C没有被发送和接受的数据将被发送;

如果设备处于空闲状态,木马会通过AlarmManager重复唤醒设备,并在设备重新启动时启动AppService。

如前所述,C&C服务器是管理木马的服务器。在这个案例研究中,木马程序是合法Android应用程序中的有效载荷,但C&C通常可以管理其他平台的有效载荷,如iPhone、PC、Mac、智能电视等。C&C地址可能会改变,以避免检测活动或由于技术维护原因。设置C&C地址的技术之一是通过中间服务器,'androidupdaters.com/img.jpg'图像文件包含在5.61.27.157中,即C&C服务器的IP地址。一旦收到C&C地址,就会使用IMEI作为标识符从服务器提取特定的监控配置。

数据采集管理

让我们以调用日志监控器和调用记录为例来说明,PhoneStateListener实现将调用日志记录保存到本地数据库并管理后台记录服务,主要的收集行为有:

1.接收到“电话状态更改”事件

2.如果手机响了或“CALL_STATE_OFFHOOK”,就会启动“记录服务”,这是一个利用MediaRecorder的Android服务。

3.记录大小限制在总可用空间的30%;

4.如果手机处于空闲状态,则呼叫持续时间、号码、方向和日期被保存到本地数据库。如果没有通过其他方法(如失败或超过大小限制)停止呼叫记录,则将停止呼叫记录。

5.通话记录文件被分割成更小的部分;

6.如果有网络连接,则调用日志和音频记录文件将发送到服务器;

7.如果数据在C&C成功发送并被接受,数据将从本地存储中删除;

8.如果保存时没有互联网连接,则AppService将执行另一个发送收集数据的过程。

9.当AppService向C&C查询调用日志命令的状态时,它可能会得到一条命令来发送设备上的所有调用日志。通常在首次执行木马程序时发送“全部发送”命令。但是,在西方国家的法律体系中,可能会获得法律许可,可以监控目标对象的数据,而不是获取所有过去的数据。由于该木马基于商业间谍软件,因此可能是从那里继承了可选的“全部发送”。

10.尽管仅在连接WiFi时发送大容量录音是明智的做法,但研究人员并未发现这种现象。

总结

水坑攻击方法的攻击效率非常高,由于以下原因,它的攻击人群很广泛:

1.人们的网络安全观念和使用习惯会使得攻击异常容易;

2.攻击者利用获取的数据,可用于链接分析和其他数据分析,这可能会导致其他有针对性的监控。尽管感染率可能不高,但攻击人员足够多时,攻击情报也就比较全了。

3.与零日攻击相比,购买,开发和维护成本便宜;

4.将应用程序安装到设备上后,即可开始执行攻击。

发布了149 篇原创文章 · 获赞 73 · 访问量 15万+

猜你喜欢

转载自blog.csdn.net/systemino/article/details/103083619
apk
今日推荐