您的位置: 首页 >科技 >

谷歌Project Zero的Tavis Ormandy发布了一个名为的漏洞利用工具包ctftool

2019-09-04 12:52:39 编辑: 来源:
导读 谷歌Project Zero的Tavis Ormandy发布了一个名为的漏洞利用工具包ctftool,该工具包使用和滥用微软的文本服务框架 ,可以有效地获取任何

谷歌Project Zero的Tavis Ormandy发布了一个名为的漏洞利用工具包ctftool,该工具包使用和滥用微软的文本服务框架 ,可以有效地获取任何人root,system即在任何未修补的Windows 10系统上,他们能够登录到。这个漏洞的补丁- 与其他几个严重的问题一起 - 在本周的补丁星期二更新中消失了 。

我们独立地验证了Ormandy的概念验证,它正是它在锡上所说的:遵循指示,nt authority\system几秒钟后你就会得到一个特权命令提示符。我们还独立验证应用KB4512508已关闭此漏洞。应用8月安全更新后,漏洞利用不再有效。

该全书面记录奥曼迪的调查结果是迷人的,令人难以置信的技术细节。TL; DR版本是微软的文本服务框架,用于提供多语言支持,并且自Windows XP以来一直存在,包括一个名为的库MSCTF.DLL。(没有明确的文档证明了Microsoft希望CTF代表什么,但随着这个工具的发布,它可能代表Capture The Flag。)

文本服务框架需要监视和更改用户对应用程序窗口的输入,以便提供简体中文(拼音)等语言服务。如果您为拼音安装语言支持,您可以看到这一点。将语言设置为拼音,您可以输入任何窗口,并且可以在子菜单中显示与您的拼音输入(或您用英语输入的整个单词)匹配的汉字建议。

可以使用键盘快捷键快速选择此子菜单中的字符,然后使用键盘快捷键替换您键入的内容。

Ormandy并没有开始在文本服务框架中寻找问题 - 所有他真正想要的是确认他无法将来自非特权进程的进程间消息发送到特权进程。但当他编写一个测试用例将所有可能的消息发送到以管理员身份运行的Notepad.exe实例时,他发现事实并非如此:他的一些进程间消息意外地通过了。

一旦Ormandy确定了罪魁祸首 MSCTF.DLL,下一步就是弄清楚可以用它做些什么。正如他所发现的,答案是“几乎你想要的任何东西。” CTF协议是一个可追溯到2001年的Office XP的遗留系统,甚至包括对Windows 98的支持; 从Windows XP本身开始,基本系统就可以使用它。协议中没有实现任何访问​​控制 - 即使沙箱进程也可以连接到沙箱外的CTF会话。客户端报告他们的线程ID,进程ID和窗口句柄 - 但没有任何验证,也没有任何东西阻止这样的客户端通过它的牙齿来获得它想要的东西。

更糟糕的是,CTF协议允许客户端调用它引用的程序中的任何函数指针......并且CTF协议 捕获异常。因此,客户端可以有效地继续攻击它不了解的目标,而不会导致崩溃。您可能认为地址空间布局随机化 - 一种现代安全技术,可以预测应用程序的易受攻击部分在内存中的位置更具挑战性 - 会使事情变得更加困难。不幸的是,你错了,因为事实证明,CTF编组协议告诉你监视器堆栈的位置。

这会让你进入监视器但是还没有让你进入你想要拥有的客户端应用程序。该过程确实需要反复试验和错误,但该试验和错误可以在脚本中自动执行。这正是Ormandy的概念验证脚本所做的。ctf-consent-system.ctf在该工具中运行时,它会使用runAs带有ShellExecute()命令的动词生成UAC对话框。一旦存在UAC对话框,ctftool使用CTF框架连接到它,探测它并映射其堆栈,这需要几秒钟。完成后,它会调用内部函数consent.exe。这表明本地用户已成功输入所请求的凭证 - 而Bob是您的叔叔; 你有一个cmd.exe运行 实例nt authority\system。

这个漏洞在Windows堆栈中潜伏了20年未被承认,其后果甚至比概念验证漏洞更加深远 - 甚至可以在未打补丁的系统上使用CTF来绕过 最新的,应该是最安全设计的应用程序中使用的AppContainer隔离,例如Microsoft Edge。


免责声明:本文由用户上传,如有侵权请联系删除!

2016-2022 All Rights Reserved.平安财经网.复制必究 联系QQ280 715 8082   备案号:闽ICP备19027007号-6

本站除标明“本站原创”外所有信息均转载自互联网 版权归原作者所有。