首页 >> 网络安全 >>病毒分析 >> HiddenAds恶意软件分析
详细内容

HiddenAds恶意软件分析

时间:2020-07-05     作者:陈泽鹏【转载】   阅读

数以千计的HiddenAds Trojan应用程序伪装成Google Play应用程序

McAfee移动研究团队最近发现了HiddenAds Trojan的新变种。HiddenAds Trojan是一个广告软件应用程序,用于显示广告和收集用户数据以进行营销。此类应用程序的目标是通过将用户重定向到广告来产生收入。广告软件通常有两种赚钱的方法:在用户计算机上展示广告以及用户点击广告后的每次点击付款。


尽管它可以用于在联盟营销程序中传播和显示广告,但广告软件也可以用于在联盟欺诈程序中传播恶意软件。大多数广告软件程序都会滥用合法应用程序来欺骗用户并增加安装数量。在我们的分析中,我们重点研究两个流行的Android应用程序的虚假版本:

  • FaceApp:用于通过机器学习修改照片的应用程序。

  • Call of Duty:一款适用于Android的著名游戏。


我们注意到这些应用程序非常受欢迎,通常由年轻人下载。此外,两个应用程序都使用应用程序内购买业务模型。这两个元素很有趣,因为它们增加了人们搜索免费版本的机会,并且对安全性的关注程度较低。我们还注意到,其他一些HiddenAds变种都伪装成真正的应用程序,例如Spotify或其他知名游戏。


在全球范围内,我们观察到了30,000多个与此HiddenAds广告活动相关的样本。

1.jpg

图1.多重技巧HiddenAds广告活动

分析的样本在Google Play商店中不可用;最新版本的交付主要来自互联网上不可靠的部分,这些部分建议下载APK文件。YouTube频道中也发现了恶意链接,用于下载假冒应用程序。


这些HiddenAds变体使用其他一些有趣的技术来欺骗用户并阻止对恶意软件研究人员的分析。在本博文中,我们将深入分析假的FaceApp应用程序。


分销渠道

这些恶意软件样本伪装成流行的应用程序,因此,当用户想要从未知来源查找应用程序时,它们可能会被恶意软件感染。例如,“使命召唤”是一种流行的游戏,许多人在线搜索移动版本。如果很不幸,他们可能会发现以下结果:

2.jpg

图2.分销渠道

在视频中,作者提供了下载链接。如果单击链接下载文件,则会收到“ Call of Duty_1.0.4.apk”(如表1所示)。如果我们在设备上安装此示例,我们将被该恶意软件感染。此外,我们在其他不受信任的来源上发现了该恶意软件。


特技技巧

  1. 应用程序名称技巧。

作为用户,我们通过应用程序的名称和图标来识别它。作为研究人员,软件包名称是应用程序的标识。此变体使用Google Play商店上流行的应用程序名称,图标和程序包名称,诱使用户认为它们是正版应用程序。

3.jpg

表1:一些威胁样本的基本信息。

我们在Google Play上搜索应用程序名称,然后单击搜索结果以查看其详细信息。

4.jpg

图3. Google Play上的FaceApp信息。

这是一个非常受欢迎的应用程序内购买应用程序。如果受害者想从其他来源找到免费的破解版本,他们可能会得到我们的分析样本。Google Play应用程序和假冒应用程序的应用程序名称,图标和版本号非常相似。但是,文件大小有很大不同,因此我们应该牢记这一点。


2.图标把戏

通常,用户希望安装前后看到的图标相同。在此示例中,它们是不同的。该示例在AndroidManifest.xml文件中定义了两个图标。活动的标签是“设置”。

5.jpg

图4.1 AndroidManifest.xml中定义了两个图标

在安装示例之前,我们将在文件资源管理器中看到该示例,并显示第一个图标(tv_icon.png)。在系统安装视图中,我们也看到第一个图标。单击“完成”按钮后,该示例将安装到设备上,并且系统显示第二个图标(but_invertc.png)。

6.jpg

        图4.2 安装之前/期间/之后的图标

这是图标技巧。用户在安装示例后会感到惊讶,因为他们无法在设备上找到所需的图标。他们可能认为安装过程中出现了问题,并且应用程序无法安装。实际上,该应用程序已经安装;它在系统“设置”应用程序图标旁边。当用户启动系统“设置”应用程序时,他们可以单击伪造的图标来启动恶意应用程序。


3.启动器技巧

一旦受害者单击伪造的“设置”图标,恶意应用就会启动,而欺骗的下一个阶段也将启动。

7.jpg

图5.单击“确定”按钮后的隐藏图标

该示例立即显示此警报对话框。它不执行国家/地区可用的检查。这是一种欺骗性消息,旨在使受害者认为该图标是隐藏的,因为“您所在的国家/地区不提供该应用程序”。实际上,该应用程序仍在后台运行。它在特定国家/地区不可用,而对受害者而言则不可用。


混淆技术

以上是该应用程序欺诈受害者的方式。现在,我们看一下该样本的抗分析技术。在应用程序启动时,它将调用功能MultiDex.install。MultiDex是一个流行且有效的Android模块,用于支持多个DEX文件。当我们研究此功能时,我们很好奇为什么流行的Android模块会在特定的应用程序模块中调用该功能。

8.jpg

图6.“ MultiDex.install”功能中的恶意代码


这个问题促使我们做更多的分析。最后,我们发现这是恶意代码入口。它主要在这里做两件事:

  • 如此解密库

        解密后的函数非常模糊,不仅使变量名变得毫无意义,而且将一个简单的函数拆分为许多子函数,每个子函数都插入了许多废话代码,这些代码旨在阻止分析。

  • 幸运的是,我们可以理解代码并获得解密过程。

9.jpg

图7.1  分成许多子功能

10.jpg

图7.2  一个子功能,很多代码都是废话

根据CPU类型从resource / string.xml文件读取数据(图8.2):

  • 如果CPU是arm64,则读取x1值。

  • 如果CPU是armeabi,则读取x0值。

  • 不支持其他CPU。

11.jpg

图8.1 从资源string.xml文件中读取数据

数据有2部分,第一部分是ELF文件的标题,第二部分是数组的索引。

  • 在最后一步的索引(“ a58ax”)中,我们从arrays.xml文件中找到base64编码数据。

  • 使用base64和XOR操作解码数组并生成本机代码库。

12.jpg

图8.2  文件资源中的Base64编码数据.arsc / res / values / arrays.xml

 3)加载so库以提取DEX有效负载,最后,恶意代码调用system.load加载so库并调用本机函数。

13.jpg

图9.加载so库并调用本机函数

在本机功能中,它将提取并解密文件asset / geocalc_lite.dat并将DEX有效负载恢复到路径/data/data/de.fastnc.android.geocalc_lite/app_app_apk/geocalc_lite.dat.jar。


DEX有效负载分析

DEX有效负载用于显示广告。广告数据来自服务器。有效负载获取数据后,它将在设备上显示。通过代码分析,我们看到有很多广告类型(图12.2)。有效载荷非常复杂,将针对每种类型以不同的方式加载和显示数据。


  • 默认设置参数

DEX有效负载在代码中定义了base64编码字符串。解码后会得到很多默认设置参数:

14.jpg

图10.1  默认设置参数(编码)

15.jpg

图10.2 默认设置参数(解码)

这是一个json对象;它非常复杂,下面是一些参数的用法:

  • metricsApiKey:Yandex Metrica SDK的API密钥。

  • installFrequencySeconds:这用于控制“安装”请求的频率。该值决定了发送“安装”请求的最小时间间隔(请参阅“请求和响应”部分),在这种情况下为1000秒(16分40秒)。安装请求只能由应用程序启动器触发。无论如何,我们多次重启应用程序,它仅在1000秒内发送一个请求。

  • overappStartDelaySeconds:这用于控制http请求的延迟。它旨在在首次启动后30000秒(5小时20分钟)后执行恶意有效负载。但是在当前版本中,此值与“ installFrequencySeconds”相同,用于控制安装频率。“ overappStartDelaySeconds”和“ installFrequencySeconds”中较小的值用作发送安装请求的最小时间间隔。

  • bundles _ *(b,c,l,n):看起来这些用于确定是否在这些包装中显示广告。

参数“域”是重要的参数;它定义了远程服务器候选列表。有效负载会随机选择一个作为远程服务器;如果所选的一个不可用,它将切换到下一个。


要求与回应

有效负载中有3种类型的请求,不同的请求具有不同的触发条件。我们只能捕获两种类型的请求:

16.jpg

图11.1。请求和响应捕获

1.“安装”请求

在应用程序启动期间,如果满足触发条件,则有效负载将向远程服务器发送“安装”请求。该请求有一个名为“ type”的文件,其值为“ install”。

17.jpg

图11.2  安装要求

客户端提交的也是json对象;它包含versionName和sdkEdition信息,这两个信息都表明此有效负载是非常新的。

18.jpg

图11.3 VersionName和sdkEdition定义

来自远程服务器的响应通常是一个空json,这增加了我们分析的难度。我们继续测试了几天,并获得了一个非空的响应。

19.jpg

图11.4  响应数据

远程服务器设置涵盖默认设置:

启用:广告启用标记,包括“ b / request”请求下方。默认值为False,并且从远程服务器响应中设置为True。

响应中的7个新域:“ http://hurgadont.com”,“ http://asfintom.com”,“ http://eklampa.com”,“ http://glanmoran.com”,“ http:/ /cantomus.com”、“http://fumirol.com”和“ http://bartingor.com”

7个默认域:“ http://minasorp.com”,“ http://omatist.com”,“ http://retinba.com”,“ http://baradont.com”,“ http:// lindostan .com”,“ http://avgon.net”和“ http://dorontalka.com”

有7台新服务器和7台默认服务器,总共14台服务器,我们可以ping通它们。他们还活着。


2.“ b / request”请求

这是一个核心要求。该请求中有一个名为“ type”的字段,其值为“ b / request”。

20.jpg

图12.1 b /请求请求

该库注册了许多事件过滤器/观察器,并且当这些事件发生时,满足了触发条件,导致该库向远程服务器发送了适当的请求。

21.png

表2:事件监视

标语类型用于标识标语,竞价用于标识事件的标点。

22.jpg

图12.2  横幅类型和现货类型


 响应数据如下。它具有3个主要功能:

  • “ sdkUpdate”数据:用于加载SDK文件的更新版本。

  • “横幅”数据:用于显示横幅广告。

  • “ mediatorSDK”数据:用于在受害者的设备上发布mediatorSDK的请求。

23.jpg

图12.3 “ b / request”响应

标语数据

我们提到在图11.1中捕获了“ b / request”响应。响应包含一个标语数据,解码后标语数据的字段如下。

24.jpg

图12.4  标语数据和“ html”字段内容

                “ html”是最重要的字段–有效内容通过调用loadDataWithBaseURL API加载到WebView中。根据html,WebView将从第一个URL hxxp://bestadbid.com/afu.php?zoneid = 1558701加载页面。这是一个重定向URL,每次我们打开它时都会重定向到不同的URL。在我们的测试中,它重定向到赌博网站。

25.jpg

图12.5   重定向到赌博网站

  • mediatorSdks数据:mediatorSdks数据是一个json数组。每个项目的定义如下。由于我们不知道每个字段的实际值,因此无法从远程服务器捕获此类数据。根据我们的分析,“跟踪”是一个URL列表。每个URL将在设备上执行,并将执行结果发送到远程服务器。

26.jpg

图12.6  mediatorSdks项目定义

3)Mediator Stat请求:执行跟踪URL后,它将向远程服务器执行/ sdk / stat / mediator_ *请求,远程服务器仅报告执行结果。调解器请求有4种类型,一种是报告失败状态,其他3种是报告成功状态。有3种成功状态:我们猜测mediatorSdks数据中有3种跟踪URL(图12.6)。每种类型的跟踪URL都使用每个中介者统计信息请求来报告状态。

27.jpg

图12.7  4种调解器状态请求


结论

这是传统的“隐藏图标广告”恶意软件;它首先隐藏应用程序的图标,然后显示来自DEX有效负载的广告。但是它应用了许多技术来实现其目的,诱使用户相信它是正常的应用,阻碍了安全工具的检测。DEX有效负载是一个非常复杂的SDK –找到了14个以上的远程服务器候选对象,大量的事件监视和远程触发器控制,所有这些都意味着这是一个设计良好的恶意软件。一旦受害者感染了这种恶意软件,他们就不太可能意识到它,即使这样做,他们也可能无法找到并删除它。


McAfee Mobile Security将这种威胁检测为Android / HiddenAds。为了保护自己免受此类威胁和类似威胁的侵害,请在移动设备上使用McAfee Mobile Security应用程序,并且不要安装未知来源的应用程序。




.
更多

1589982338979126.png


ots网络社区

www.ots-sec.cn

猜你喜欢
更多
联系方式
更多

投稿邮箱:1481840992@qq.com

交流群2群:622534175

ots网络社区3群:1078548359

关注我们
更多
技术支持: 建站ABC | 管理登录