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

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

Figure-1-1.jpg

Figure-2.png

Ashas的功能

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

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

图片1.png

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

图片2.png

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

技巧一

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

技巧二

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

技巧三

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

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

技巧四

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

Figure-7.png

追踪开发商

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

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

Figure-8.png

由于域名注册人所在大学没有很强的隐私保护系统,可以进一步了解到注册人的出生日期(也可能是注册人以出生年月作为其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遥测

Figure-15.png

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