专栏首页FreeBuf追踪影响数百万用户的Android广告软件开发人员

追踪影响数百万用户的Android广告软件开发人员

ESET研究人员在Google Play上发现了活跃一年的广告软件运营商。所涉及的应用程序已安装了800万次,背后的运营商使用了一些技巧来隐藏。

研究人员已经确定42个Google Play上的应用程序涉及了广告软件活动,并且这些应用自2018年7月以来,至今还在运行。其中21个在发现时依然可用。研究人员已将这些应用报告给Google安全团队,并迅速将其删除。但是,这些应用程序仍可在第三方应用程序商店中使用。ESET将这些广告软件统称为Android / AdDisplay.Ashas。

Ashas的功能

Ashas除了充当广告软件外,其他原本该有的功能也都具备。在研究人员分析的所有应用程序中,广告软件功能均相同。以下仅描述一个应用程序的功能,但适用于Android / AdDisplay.Ashas系列的所有应用程序。

启动后,这类应用程序开始与其C&C服务器连接(其IP地址在应用程序中为base64编码)。它发送用户设备的“主页”关键数据,比如设备类型、操作系统版本、语言、已安装的应用程序数量、可用存储空间、电池状态,以及设备是否具备root权限和启用开发者模式、是否安装了Facebook和FB Messenger。

该应用程序从C&C服务器接收配置数据,来帮助显示广告、隐身和下次显示。

至于如何隐藏和反复显示,攻击者使用了许多技巧。

技巧一

恶意应用会确定能否通过Google Play安全机制测试。为此,应用程序从C&C服务器接收isGoogleIp标志,该标志显示用户设备的IP地址是否在Google服务器的已知IP地址范围内。如果从服务器返回的提示是在已知IP地址范围内,那么该应用将不会触发广告软件有效负载。

技巧二

该应用可以设置广告展示之间的自定义延迟。比如将其配置数据设置为在设备解锁后延迟24分钟显示第一则广告。延迟意味着普遍的测试过程(不到10分钟)将不会检测到任何异常行为。另外,延迟时间越长,用户将讨厌的广告与特定应用相关联的风险就越低。

技巧三

该应用程序基于服务器的响应,还可以隐藏其图标并创建快捷方式。如果用户试图卸载恶意应用程序,那么也只有快捷方式最终会被删除。然后,该应用程序会在用户不知情的情况下继续在后台运行。在Google Play传播的与广告软件相关的恶意程序中,这种隐身技术已变得越来越流行。

一旦恶意应用收到其配置数据,感染设备就会根据攻击者的选择来显示广告。每个广告都会全屏显示。如果用户想要通过单击“最近使用的应用程序”按钮来检查哪个应用程序负责显示广告,这时候另一个隐身技巧又出现了:该应用程序会显示一个Facebook或Google图标。该广告软件模仿了这两个应用,看起来合法并躲避怀疑,从而尽可能长时间地在感染设备上停留。

技巧四

这类Ashas广告软件的代码隐藏在com.google.xxx软件包名称下。这就构成了合法Google服务的一部分,这个技巧有助于避免受到审查。因为某些检测机制和沙箱可能会将此类软件包名称列入白名单。

追踪开发商

ESET研究人员使用开源信息,跟踪了广告软件的开发人员,还确定广告活动的运营商和C&C服务器的所有者。

首先,根据已注册的C&C域的相关信息,研究人员确定了注册人的姓名、国家和电子邮件地址等数据。提供给域名注册商的信息可能是虚假的,因此继续进行搜索。电子邮件地址和国家/地区信息指向了在越南大学上课的学生名单,这证实了域名注册人确实存在。

由于域名注册人所在大学没有很强的隐私保护系统,可以进一步了解到注册人的出生日期(也可能是注册人以出生年月作为其Gmail地址的一部分,有待进一步确认)。由此可以知道他是一名学生,并且他上过什么大学,还可以确认他提供给域名注册商的电话号码是真实的。此外,研究人员检索了他的大学ID,快速搜索可以显示他的一些考试成绩。但是,他的研究结果超出了研究人员的研究范围。

根据注册人的电子邮件地址,能够找到他的GitHub存储库。他的存储库证明他确实是一名Android开发人员,但在撰写此博文时,它不包含Ashas广告软件的公开可用代码。

但是,通过简单的Google搜索广告软件包名称弹出了一个“ TestDelete”项目,某段时间该项目在他的存储库是可用的

恶意程序开发者还在Apple的App Store中拥有应用程序。其中一些是从Google Play删除的iOS版本,但没有一个包含广告软件功能。

在进一步搜索恶意程序开发人员的活动时,研究人员还发现了他的YouTube频道,传播Ashas广告软件和他的其他项目。至于Ashas这类软件,相关的宣传视频之一“ Head Head World World Champion 2018 – Android,iOS”被观看了近300万次,另外两个获得了数十万次观看。

他的YouTube频道为研究人员提供了另一条有价值的信息——他本人在他的其他项目之一的视频教程中。通过该项目,研究人员提取了他的Facebook个人资料,列出了他在上述大学的学习情况。

通过链接到他的Facebook个人资料,研究人员发现了一个Facebook页面Minigameshouse和一个相关域minigameshouse [.]net。该域和广告软件C&C服务器开发人员的minigameshouse [.]us域十分相似。

进一步检查此Minigameshouse页面,表明此人确实是minigameshouse [.] us域的所有者:在此域中注册的电话号码与Facebook页面上显示的电话号码相同。

有趣的是,他在Minigameshouse的 Facebook页面上,推广了Ashas软件以外的一系列游戏,可在Google Play和App Store中下载。尽管其中一些不包含任何广告软件功能,但所有这些都已从Google Play中删除。

最重要的是,他的YouTube视频之一(有关为Facebook开发“小游戏”的教程)是完全被忽略的运营安全隐患。能够看到他最近访问的网站是包含Ashas广告软件的Google Play页面。他还使用他的电子邮件帐户登录了视频中的各种服务,毫无疑问,他确实是广告软件域的所有者。

借助该视频,我们甚至能够确定另外三个包含广告软件功能且可在Google Play上使用的应用。

ESET遥测

ESET检测到Android设备上的Android / AdDisplay.Ashas(按国家/地区)

广告软件是否有害

包含广告软件的应用程序通常会对用户隐藏,因此这些应用程序及其开发人员不可信任。当包含广告软件的应用程序安装在设备上时,可能会:

因为侵入性广告(包括骗局广告)惹恼用户 浪费设备的电池资源 产生更多的网络流量 收集用户的个人信息 自我隐藏以实现持久性 无需任何用户交互即可为其运营商创造收入

结论

研究人员仅基于开源情报,就可以跟踪Ashas广告软件的开发人员并确定其身份,并发现其他受广告软件感染的相关应用程序。开发人员没有采取任何措施来保护自己的身份,乍看起来他没有什么其他的意图。确实,他发布的应用程序并非所有都包含讨厌的广告。

显而易见,开发人员通过在应用代码中实现广告软件功能来增加收入。广告软件中实现的各种隐身和恢复技术意味着他意识到了所添加功能的恶意性质,并试图将其隐藏。

在“恶意”开发人员中,常见的做法是将恶意功能混入流行的正常应用程序中,研究人员致力于跟踪此类应用程序,并将其报告给Google,采取措施制止这类恶意软件。研究人员发布了调查结果,帮助Android用户保护自己的设备。

IoCs

Package name

Hash

Installs

com.ngocph.masterfree

c1c958afa12a4fceb595539c6d208e6b103415d7

5,000,000+

com.mghstudio.ringtonemaker

7a8640d4a766c3e4c4707f038c12f30ad7e21876

500,000+

com.hunghh.instadownloader

8421f9f25dd30766f864490c26766d381b89dbee

500,000+

com.chungit.tank1990

237f9bfe204e857abb51db15d6092d350ad3eb01

500,000+

com.video.downloadmasterfree

43fea80444befe79b55e1f05d980261318472dff

100,000+

com.massapp.instadownloader

1382c2990bdce7d0aa081336214b78a06fceef62

100,000+

com.chungit.tankbattle

1630b926c1732ca0bb2f1150ad491e19030bcbf2

100,000+

com.chungit.basketball

188ca2d47e1fe777c6e9223e6f0f487cb5e98f2d

100,000+

com.applecat.worldchampion2018

502a1d6ab73d0aaa4d7821d6568833028b6595ec

100,000+

org.minigamehouse.photoalbum

a8e02fbd37d0787ee28d444272d72b894041003a

100,000+

com.mngh.tuanvn.fbvideodownloader

035624f9ac5f76cc38707f796457a34ec2a97946

100,000+

com.v2social.socialdownloader

2b84fb67519487d676844e5744d8d3d1c935c4b7

100,000+

com.hikeforig.hashtag

8ed42a6bcb14396563bb2475528d708c368da316

100,000+

com.chungit.heroesjump

c72e92e675afceca23bbe77008d921195114700c

100,000+

com.mp4.video.downloader

61E2C86199B2D94ABF2F7508300E3DB44AE1C6F1

100,000+

com.videotomp4.downloader

1f54e35729a5409628511b9bf6503863e9353ec9

50,000+

boxs.puzzles.Puzzlebox

b084a07fdfd1db25354ad3afea6fa7af497fb7dc

50,000+

com.intatwitfb.download.videodownloader

8d5ef663c32c1dbcdd5cd7af14674a02fed30467

50,000+

com.doscreenrecorder.screenrecorder

e7da1b95e5ddfd2ac71587ad3f95b2bb5c0f365d

50,000+

com.toptools.allvideodownloader

32E476EA431C6F0995C75ACC5980BDBEF07C8F7F

50,000+

com.top1.videodownloader

a24529933f57aa46ee5a9fd3c3f7234a1642fe17

10,000+

com.santastudio.headsoccer2

86d48c25d24842bac634c2bd75dbf721bcf4e2ea

10,000+

com.ringtonemakerpro.ringtonemakerapp2019

5ce9f25dc32ac8b00b9abc3754202e96ef7d66d9

10,000+

com.hugofq.solucionariodebaldor

3bb546880d93e9743ac99ad4295ccaf982920260

10,000+

com.anit.bouncingball

6e93a24fb64d2f6db2095bb17afa12c34b2c8452

10,000+

com.dktools.liteforfb

7bc079b1d01686d974888aa5398d6de54fd9d116

10,000+

net.radiogroup.tvnradio

ba29f0b4ad14b3d77956ae70d812eae6ac761bee

10,000+

com.anit.bouncingball

6E93A24FB64D2F6DB2095BB17AFA12C34B2C8452

10,000+

com.floating.tube.bymuicv

6A57D380CDDCD4726ED2CF0E98156BA404112A53

10,000+

org.cocos2dx.SpiderSolitaireGames

adbb603195c1cc33f8317ba9f05ae9b74759e75b

5,000+

games.puzzle.crosssum

31088dc35a864158205e89403e1fb46ef6c2c3cd

5,000+

dots.yellow.craft

413ce03236d3604c6c15fc8d1ec3c9887633396c

5,000+

com.tvngroup.ankina.reminderWater

5205a5d78b58a178c389cd1a7b6651fe5eb7eb09

5,000+

com.hdevs.ringtonemaker2019

ba5a4220d30579195a83ddc4c0897eec9df59cb7

5,000+

com.carlosapps.solucionariodebaldor

741a95c34d3ad817582d27783551b5c85c4c605b

5,000+

com.mngh1.flatmusic

32353fae3082eaeedd6c56bb90836c89893dc42c

5,000+

com.tvn.app.smartnote

ddf1f864325b76bc7c0a7cfa452562fe0fd41351

1,000+

com.thrtop.alldownloader

f46ef932a5f8e946a274961d5bdd789194bd2a7d

1,000+

com.anthu91.soccercard

0913a34436d1a7fcd9b6599fba64102352ef2a4a

1,000+

com.hugofq.wismichudosmildiecisiete

4715bd777d0e76ca954685eb32dc4d16e609824f

1,000+

com.gamebasketball.basketballperfectshot

e97133aaf7d4bf90f93fefb405cb71a287790839

1,000+

com.nteam.solitairefree

3095f0f99300c04f5ba877f87ab86636129769b1

100+

com.instafollowers.hiketop

3a14407c3a8ef54f9cba8f61a271ab94013340f8

1+

C&C服务器

http://35.198.197[.]119:8080

MITRE ATT&CK技巧

Tactic

ID

Name

Description

Initial Access

T1475

Deliver Malicious App via Authorized App Store

The malware impersonates legitimate services on Google Play

Persistence

T1402

App Auto-Start at Device Boot

An Android application can listen for the BOOT_COMPLETED broadcast, ensuring that the app’s functionality will be activated every time the device starts

Impact

T1472

Generate Fraudulent Advertising Revenue

Generates revenue by automatically displaying ads

*参考来源:welivesecurity,Sandra1432编译,转载请注明来自FreeBuf.COM

本文分享自微信公众号 - FreeBuf(freebuf),作者:Sandra1432

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-11-16

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 移动APP上的广告劫持每天造成PB级的数据浪费

    随着移动平台上恶意软件数量的不断增长,黑色产业开始利用广告劫持的方式——即将移动用户重定向到广告页面牟利。然而这一行为造成了严重的资源浪费,据估计移动平台广告劫...

    FB客服
  • Sudomy:子域名枚举与分析工具

    Sudomy是一个使用bash脚本创建的子域枚举工具,用于快速全面地分析域和收集子域。

    FB客服
  • 在苹果应用商店的17个应用程序中发现iOS Clicker Trojan

    Wandera Threat Labs研究人员发现有十多个iOS应用程序感染了Clicker Trojan(点击木马)恶意代码并在苹果的应用商店传播。其使用和安...

    FB客服
  • 腾讯云elasticsearch产品优化指南

    另:es最佳实践文档:https://cloud.tencent.com/document/product/845/19551 es监控指标介绍文档:http...

    3452127307
  • Appium+python自动化(四十一)-Appium自动化测试框架综合实践 - 即将落下帷幕

      今天我们紧接着上一篇继续分享Appium自动化测试框架综合实践 - 代码实现。到今天为止,大功即将告成;框架所需要的代码实现都基本完成。

    北京-宏哥
  • 计算图演算:反向传播

    除了深度学习,反向传播算法在许多其他领域也是一个强大的计算工具,从天气预报到分析数值稳定性——区别只在于名称差异。事实上,这种算法在几十个不同的领域都有成熟应用...

    崔庆才
  • 垂直属性

    元素的盒模型有几个较为重要的属性,本篇文章主要将脚垫聚集在与height相关的属性上。 对于一个并未显式设置高度块框来说,其height的高度不仅仅取决去内容的...

    欲休
  • python3 csv文件基本操作

    csv(Comma-Separated Values),也叫逗号分割值,如果你安装了excel,默认会用excel打开csv文件。

    用户2398817
  • 浅谈Go类型转换之间的那些事

    Go语言是一门静态编译型语言,是一门强类型语言,Go语言中类型分为两种:命名类型(已定义类型)和未命名类型(组合类型),我举例说一下

    阿伟
  • WordPress的内置函数get_posts函数详解-提取多篇指定或随机文章

    WordPress的内置函数get_posts函数详解-提取多篇指定或随机文章,这个函数属于 WordPress 的内置函数,网上很多给出的代码有问题,无法正常...

    wordpress建站吧

扫码关注云+社区

领取腾讯云代金券