相关链接:From HummingBad to Worse 1024 最近 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 域名。这里的 JSON 文件是从 d1qxrv0ap6yf2e.cloudfront[.]net/domain/xxx.json 下载的,值大概是这样的: • {"id":3,"name":"CAP","master":"032o[.]com","slave":"032n[.]com"}• {"id":4,"name":"SSP&CCSDK","master":"guangbom[.]com","slave":"ssppsspp[.]com"}• {"id":5,"name":"asdf","master":"asdf","slave":"asdf"} //I think• {"id":6,"name":"efwe","master":"gwsgs","slave":"dgss"}//it's unused• {"id":7,"name":"1","master":"1","slave":"1"} //and this• {"id":8,"name":"CAP-DW","master":"ccaa100[.]com","slave":"ccaa200[.]com"}• {"id":9,"name":"SSP-DW","master":"cscs100[.]com","slave":"cscs200[.]com"}• {"id":11,"name":"HM-JK","master":"hmapi[.]com","slave":"eoapi[.]com"}• {"id":12,"name":"易盟 - 易窗","master":"ma2.heshan88[.]com","slave":"sl2.heshan88[.]com"}• {"id":13,"name":"易盟 - 易推","master":"ma2.heshan88[.]com","slave":"sl2.heshan88[.]com"}• {"id":14,"name":"易盟 - 启弹","master":"ma2.heshan88[.]com","slave":"sl2.heshan88[.]com"}• {"id":15,"name":"iadpush","master":"ma2.lb0408[.]com","slave":"sl2.lb0408[.]com"}• {"id":16,"name":"1mob-fudian","master":"ma2.heshan88[.]com","slave":"sl2.heshan88[.]com"}• {"id":17,"name":"QS","master":"aa0ad[.]com","slave":"aa0ab[.]com"}• {"id":18,"name":"1mob-xin(点滴 /BDSDK ","master":"ma2.heshan88[.]com","slave":"sl2.heshan88[.]com"} 除此之外,SSP 还有一些行为,比如具体的 Google Play 进程注入(SSP 能够向 Google Play 进程注入一个库,恶意程序也就能够伪装 Google Play 商店中安装、购买、接受点击操作;这里用到的是比较知名的 ptrace,SSP 能够用 ptrace 来调用控制其他应用,读取、写入内存等操作);还有 RightCore 恶意组件,其实应该算是 SSP 的一个早期版本;CAP 组件采用比较复杂的技术负责安装欺诈应用,实现欺骗 IMEI 码注入,执行 Google Play 的点击模拟操作等等。 对这些感兴趣的同学可以 点击这里,查看 Check Point 提供的详情。 在 Check Point 看来,微赢互动可能是首个曝光到大众面前、如此高度组织化推恶意程序的团队。或许这种趋势未来还会持续,引来其他团队的学习,实现复杂攻击的独立化运营。甚至将这样掌控僵尸网络的权限,提供给某些组织或政府机关,情况就更加复杂了。 * FreeBuf 官方报道,本文原创作者:欧阳洋葱,转载请注明来自 FreeBuf 黑客与极客(http://FreeBuf.COM) 阅读原文