沉睡一年的“脏牛”又被攻击者利用,Android用户你们还好吗?

发表于:2017-10-03 10:42:12 来源:  FreeBuf.COM 阅读数(0人)

还记得 2016 年那个著名的 Linux 内核级漏洞 Dirty Cow(脏牛)吗?2016 年 10 月,研究人员发现 Linux 内核的内存子系统在处理写时拷贝(Copy-on-Write)时存在条件竞争漏洞,导致可以破坏私有只读内存映射。一个低权限的本地用户能够利用此漏洞获取其他只读内存映射的写权限,有可能进一步导致提权漏洞,因此将这个漏洞命名为“脏牛”。



“脏牛”漏洞自 2007 年开始就存在于 Linux 的内核中,直到 2016 年才被发现,漏洞爆出后很快就有了修复补丁。后来,研究人员还发现这个漏洞可以用于获取 Android 设备的 root 权限,因为 Android 系统是基于早期的 Linux 内核,所以也可能遭到“脏牛”的攻击。由于修复迅速且利用难度较大,当时并没有太多利用“脏牛”进行攻击的案例。然而,时隔近一年,来自趋势科技的研究人员又发现了“脏牛”的踪迹:一个名为 ZNIU 的恶意程序使用“脏牛”漏洞获取 Android 设备的 root 权限并植入后门,攻击者可以利用植入的后门收集设备中的信息。


看不到视频,点这里


此外,如果受害者订阅了中国通信运营商的服务,攻击者就会展开第二阶段的攻击:利用后门赋予的设备 root 权限,通过运营商的短信支付服务敛财。而且为了避免被注意到,每次短信支付都设置了很小的金额(20 人民币或者仅仅 3 美元)。在安卓系统上,如果有 APP 要获取短信支付,需要经过人机交互,手动授予权限,而由于 ZNIU 有 root 权限,所以可以直接设置,无需通过交互就可完成短信支付。支付完成后,ZNIU 还会删除短信提醒,藏匿行迹。




ZNIU  的实现机制


从技术层面来看,ZNIU 实际使用的“脏牛” exploit 其实与去年研究人员公布的 POC 代码并不相同。目前 ZNIU 使用“脏牛” exploit 只在 64位 ARM/X86 架构的 Android 版本上生效。如果 ZNIU 感染的是 32 位 ARM CPU 架构的安卓手机,则会利用 KingoRoot APP 和Iovyroot exploit(CVE-2015-1805)获取 root 权限。




ZNIU 的 rootkit 实际上是通过独立的广播接收器整合入恶意 APP 中的。其代码如下:




恶意软件无需更改其他组件,可以轻易将 rootkit 注入第三方应用程序,这有助于其大规模分发。


攻击者可以加密并打包 ZNIU 的恶意 DEX 代码进行自我保护,防范静态逆向。 经过进一步调查,研究人员发现,一旦用户将设备接入网络或只是简单地接入电源,ZNIU 就会使用广播接收器激活 exploit 代码,随后直接传输并执行恶意的本机代码。




ZNIU的本机代码的主要逻辑如下:


1. 收集设备的型号信息;

2. 从远程服务器获取相应的 rootkit;

3. 解密 exploit;

4. 逐个触发 exploit,检查结果,并删除 exploit 文件;

5 .报告 exploit 的结果



此外,远程攻击服务器的 URL 以及客户端和服务器之间的通信都被攻击者加密了。研究人员使用字符串解密,并进一步研究恶意 exploit 服务器,发现其域名和服务器主机都位于中国。 恶意攻击服务器的链接为:hxxp://reg[.]oozclimb[.]com:5101




下载之后,‘exp*.ziu’ rootkit 会解压为 ‘exp*.inf’ :




rootkit 所需的全部文件都打包存储在同一个 .inf 文件中,该文件以 ‘ulnz’ 开头,包含 ELF 和 script 文件。




ZNIU rootkit可以任意写入 vDSO(虚拟动态链接共享对象),该对象将一组内核空间函数导出到用户空间,便于应用程序更好地执行。 vDSO 代码可在以没有 SELinux 限制的内核环境中运行。


ZNIU 使用公开的 exploit 代码将 shellcode 写入 vDSO 并创建反向 shell。 随后修补 SELinux 策略以解除限制,并植入后门 root shell。




1200 多个安卓 APP 受感染


目前,研究人员已经在各个网站中检测到 1200 多个携带 ZNIU 的恶意 APP 或,大多是游戏和色情应用。此外,趋势科技以公司客户为对象进行检测,发现 5000 名感染了 ZNIU 恶意程序的用户,而全球范围的实际感染数量可能更大。ZNIU 感染的用户遍布 40 个国家,其中大多数人位于中国和印度,还有一部分位于美国、日本、加拿大、德国和印度尼西亚等。


谷歌目前已经发布了修复补丁,并在官方 Play Store 中进行了检测。可以确认的是,感染了 ZNIU 的 APP 不会出现在谷歌 Play Store中.


因此,为了避免感染,用户只能从Google Play Store 或受信任的第三方应用商店下载应用程序,并使用合适的安全解决方案。用户还可以与设备制造商和/或电话运营商联系,获取漏洞的补丁。


以下是检测到的包含哈希值、包名和 APP 标签的入侵指标列表,可以查看到所有受感染的 APP 类型:






相关新闻

大家都在学

课程详情

Linux全版本通杀提权漏洞的复现与分析

课程详情

Android安全基础

课程详情

信息安全基础