一家中国广告公司,如何利用恶意软件感染全球8500万台手机

最近Check Point发布了一份非常详细的报告,谈到一款名为HummingBad的Android恶意程序。此恶意程序在行为方式上和先前一些相当霸道的Android恶意程序类似,不过它有几大亮点:

其一背后操纵者来自中国重庆(注意下面还有地址哦…);其二其感染范围极为广泛,Check Point研究人员表示,HummingBad估计已经感染了8500万台设备。

HummingBad的实例增长

HummingBad幕后团队大曝光

Check Point在报告中将这款Android恶意程序称作HummingBad。这款恶意程序的作者是国内的一家广告公司,名叫微赢互动(Yingmob!这下火了!)。Check Point在报告中毫不留情地揭露了这家公司的一些细节信息。

连工位都有啊!

据说微赢互动内部还是有好几个团队在开发合法追踪和广告平台的。而负责开发像HummingBad这样恶意产品的团队名为“海外平台开发团队”,这个团队内部有4个小组,共25名成员。

该团队有三个开发项目,分别是Eomobi(就是HummingBad恶意组件产品)、Hummer Offers(广告服务器分析平台)、Hummer启动器(这实际上是个广告服务Android应用开发包),共开发6条产品线:

1.Ebomi 2.Hummer启动器 3.Root软件开发套装(SDK) 4.Hummer Offers 5.MAT 6.Unitemobi

这家公司其实算不上恶意程序的新人。早在2015年的时候,Palo Alto曾经发布过一款iOS恶意程序YiSpecter的报告。当时Palo Alto就认为YiSpecter应该与微赢互动有关,因为这款恶意程序签名就是微赢企业证书。

Check Point这次的报告则提到HummingBad和YiSpecter相比,有着相同的C&C服务器地址,行为方式也很相似。另外HummingBad内部还包含QVOD快播文档(Check Point直接将之称作iOS色情播放器,泪奔…),这其实跟Yispecter也有关联。

HummingBad的目标当然是赚钱!

CheckPoint预计,HummingBad每天都会推2000万广告内容,其点击率大约为12.5%,也就是说每天的广告点击量约为250万次。此外,HummingBad每天还安装超过50000个欺诈应用。

预计微赢互动每天光从广告点击,就能获取超过3000美元的收益,而诈骗应用的安装则能获取7500美元/天。换算下来一个月就是30万美元,一年则为360万美元。

当前HummingBad已经感染了8500万台Android设备。不止于此,由于这款恶意程序会非法对Android设备进行Root操作,实现各类恶意程序的推送,这些设备几乎就是被彻底掌控的。这些设备上的数据风险自不必多说,将它们组成僵尸网络,发起攻击,或者将这些访问权限卖到黑市,都全然不在话下。

微赢互动用他们自家的Umeng服务来追踪HummingBad的感染情况(专业!)。从Umeng的控制面板来看,这家公司“注册”了近200款应用,预计其中25%都是恶意程序,用于分发HummingBad恶意程序。上面这张图也来自Umeng的统计,从去年8月份开始,其活跃性成长表现还是相当不错的。

从HummingBad当前影响的国家地区来看,这款恶意程序当前应该算是个跨国恶意程序,虽然主要感染地区还是在中国和印度,其他各国的感染数量也是相当可观的。

恶意行为分析

这次的报告中提到,HummingBad首次感染方法应该是隐藏下载攻击(drive-by download),部分成人内容站点也提供了相应的恶意payload。

而HummingBad本身包含了两个主要组成部分,其中一个组件负责对Android设备进行Root操作,Rootkit会考虑利用多种不同的漏洞。

Root成功后,攻击者就能完全获取设备的访问权限。如果Root失败,第二套组件就会生成一个欺骗性的系统升级通知,欺骗用户让HummingBad获取系统级权限(Root还是关键呀!)。无论Root是否成功,HummingBad都会尽可能下载大量欺诈应用。

模拟点击的代码

整套HummingBad包含好几个恶意组件。首要的组件名为SSP,其作用是显示非法广告、安装欺诈应用。该组件通过4个事件触发:设备启动、屏幕开启/关闭、设备连接任意变化、用户检测(听说过Android系统中的Receiver吗?这类行为其实是完全合法的)。

触发过后,SSP开启名为Se的服务,初始化恶意逻辑,并且开启广告网络。SSP还会开启计时器,每10秒钟计划一次LockTask,如果满足相应条件(比如互联网连接、从服务器获取到设置,时间延迟等),LockTask就会重启Se服务,并且启动MainActivity进程,激活恶意payload。

MainActivity进程开始之后,恶意程序会显示广告banner,广告上面会有个关闭按钮。实际上恶意程序会阻止用户回到Home页,或者是进行返回操作,这样用户就只能点击该广告了。用户点击所谓的“关闭”按钮,实际上也是点击一次广告操作。

在点击广告之后,SSP组件就会向服务器发出请求,给APK返回一个链接,SSP随后再从服务器下载该APK文件(就是Android安装文件嘛)。

那个“关闭”按钮相关代码

APK文件下载完成后,恶意应用会检查设备是否已经Root。如果已经Root,则默默地安装下载的APK文件;如果没有Root的话,SSP会弹出用户对话框,仍旧企图进行安装操作。

下载的APK文件安装完成后,SSP再启动该程序,并且广播INSTALL_BEFERRER,通过从服务器获取到的信息来伪造Google Play的安装,并从广告网络中获取广告收益(难道这不是仅针对国际用户的么?)。

作为一个合格的恶意程序,肯定还要获取更新、发回报告。SSP会从某JSON文件检索C&C域名。

除此之外,SSP还有一些行为,比如具体的Google Play进程注入(SSP能够向Google Play进程注入一个库,恶意程序也就能够伪装Google Play商店中安装、购买、接受点击操作。

这里用到的是比较知名的ptrace,SSP能够用ptrace来调用控制其他应用,读取、写入内存等操作);还有RightCore恶意组件,其实应该算是SSP的一个早期版本;CAP组件采用比较复杂的技术负责安装欺诈应用,实现欺骗IMEI码注入,执行Google Play的点击模拟操作等等。

在Check Point看来,微赢互动可能是首个曝光到大众面前、如此高度组织化推恶意程序的团队。或许这种趋势未来还会持续,引来其他团队的学习,实现复杂攻击的独立化运营。甚至将这样掌控僵尸网络的权限,提供给某些组织或政府机关,情况就更加复杂了。

* FreeBuf官方报道,本文原创作者:欧阳洋葱,转载请注明来自FreeBuf黑客与极客(FreeBuf.COM)

本文分享自微信公众号 - FreeBuf(freebuf)

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

原始发表时间:2016-07-06

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Zchannel

Z科技快讯

13030
来自专栏FreeBuf

加密钱包再爆严重漏洞,看我怎么“榨干”你的钱包

SaleemRashid 是一名来自英国的十五岁少年,而这位年少有为的同学成功地在Ledger公司所生产的加密货币硬件钱包Ledger Nano S中发现了一个...

14140
来自专栏金融民工小曾

【支付系统设计从0到1】支付系统账户体系设计(下)

在上一篇里我们主要讲了支付系统的账户体系的产品设计,在这一篇里重点介绍技术设计上需要考虑的一些问题。

19110
来自专栏FreeBuf

一台二手电脑引发的离奇“黑客”故事

下面就是我的亲身经历。 二手电脑 最近,我想买台新电脑,就是那种低端笔记本,可以应付一些轻量级的工作,HP Stream似乎是个不错的选择。而且让我惊喜的是,如...

33670
来自专栏FreeBuf

威胁远胜“心脏出血”?国外新爆Bash安全漏洞

这几天Linux用户们可能不能愉快地玩耍了,红帽(Redhat)安全团队昨天爆出一个危险的Bash Shell漏洞。其带来的威胁可能比早前披露的“心脏出血”漏洞...

21970
来自专栏花叔的专栏

小程序2017年最后一波更新?

小程序又在半夜更新.... 这次更新内容非常多,但大多是之前公开课就提及过的。 1 实时音视频录制及播放能力升级 重点要提提这个更新,实时录制音视频组件和...

28750
来自专栏FreeBuf

隐私泄露 | 查开房网站的背后

0×00前言 随着网络的发展,个人信息泄露情况不断升级,个人信息在“黑市”的贩卖日益猖獗。网络中早已公然兜售酒店开房等信息,而这些信息仅可在少数渠道才可获得,准...

2.5K90
来自专栏猿湿Xoong

怎么用TWRP刷LineageOS拯救我的Android手机?

1.3K40
来自专栏信安之路

APT攻防之关于后门那些事

这次继续围绕第一篇《第一季从攻击者角度来对抗》做整理与补充。在深入一步细化 demo notepad++。

22800
来自专栏儿童编程

【Scratch编程与艺术-1】简单与重复的艺术

利用Scratch的“图章”功能,能够实现非常美的效果。我们可以称之为简单的艺术。我们需要做的就是把下面的代码加在某一对象身上。点击开始按钮,就可以静静地欣赏亲...

19520

扫码关注云+社区

领取腾讯云代金券