2016年8月26日

Pegasus – 针对iOS设备的APT攻击分析

苹果在今天凌晨突然推送了iOS9.3.5更新,并且更新日志中提到修补了三个安全漏洞。随后Citizen Lab发布文章指出这三个0day被用于针对特殊目标远程植入后门,而Lookout则给出了对Pegasus的具体技术报告

远程植入的流程是首先引导用户访问指定页面,此时会触发webkit漏洞(CVE-2016-4657)获取代码执行权限,随后利用漏洞(CVE-2016-4655)泄露内核的加载基地址,最后触发漏洞(CVE-2016-4656)获取内核态的代码执行权限。在获取最高权限后,Pegasus还会进一步针对persistence处理,保证系统重启后后门仍然工作。

内核漏洞

通过攻击流程可以知道两个内核漏洞均是在浏览器内被触发的,同样在APP沙盒规则内也能利用该漏洞。盘古发布的9.3.3越狱同样也是利用了沙盒内的漏洞,苹果非常迅速的推送了9.3.4的更新。正如我们在今年Blackhat上讨论的,沙盒内直接攻击内核的漏洞将是苹果用户面临的重要风险,苹果的安全响应也在提速。

其中CVE-2016-4655漏洞是由于读取栈数据时缺乏边界检查,导致能够获取栈上额外的数据,而函数的返回地址一般会被保存在栈上,因此达到泄露内核地址的目的。

而CVE-2016-4656漏洞则是一个典型的UAF漏洞,通过精心构造数据可以在Free之后先分配对象来重新占用之后再触发Use,也可以进一步转换成double free。

Persistence

(更多…)