首页
社区
课程
招聘
[翻译]CoreStorage中的OS X内核UAF漏洞分析
发表于: 2016-12-17 19:28 3945

[翻译]CoreStorage中的OS X内核UAF漏洞分析

2016-12-17 19:28
3945

在没有获得引用的情况下,CoreStorageUserClient在+0xE0区域通过IOServiceOpen存储了一个任务结构指针。

通过kill这个任务,我们可以释放掉这个指针,从而为用户端留下一个挂起指针。

有趣的地方在于,CoreStorageUserClient将会使用这个悬挂指针来调用IOUserClient::clientHasPrivilege进行权限检查。所以如果我们可以得到这个原本由root权限的进程创建而后被释放掉的task struct,我们就可以骗过这个检查,使其相信我们就是root。想必他们要做的很多有趣的东西都被限制为root用户,比如混淆卷信息。

你也可以利用这个bug引发内核内存崩溃。

build: clang -o corestorage_task_uaf  corestorage_task_uaf.c -framework IOKit

你应该设置gzalloc_min=1024,gzalloc_max=2048 或者类似于UAF的实际错误,否则可能会得到一些奇怪的崩溃。
已在 MacBookAir5,2 ,OS X 10.11.5(15F34)上测试。

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

上传的附件:
收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//