Google Project Zero团队安全研究人员Tavis Ormandy近日公布了Windows操作系统中存在长达20年的0 day漏洞细节。
该漏洞被评为高危漏洞,影响Windows XP以来的所有Windows版本。Ormandy透露了Windows kernel中msCTF模块中的多个设计安全问题。
Msctf子系统是Text Services Framework (TSF)框架的一部分,用来管理输入方法、键盘布局、文本处理等任务。TSF由 ctfmon服务器和MSCTF客户端组成。
漏洞位于MSCTF客户端和服务器通信的方式中,利用该漏洞可以使低权限或沙箱中的应用在高权限的应用中读写数据。由于缺乏访问控制和认证,因此任何应用、用户、沙箱进程都可以:
· 连接到CTF会话
· 允许CTF客户端读取或写入任意会话、窗口的文本
· 伪装成CTF服务,使其他应用(包含高权限的应用)来进行连接
· 对线程id、进程id、HWND等进行欺骗
· 进行沙箱逃逸和权限提升
任意写
重定向执行
研究人员分析CTF协议中存在的漏洞发现,攻击者还可以绕过用户接口权限隔离(User Interface Privilege Isolation,UIPI),这样非特权进程就可以:
· 从任意应用窗口读取敏感文本,包括对话框中的密码
· 获取SYSTEM权限
· 控制UAC consent对话
· 发送命令给管理员的console会话
· 通过发送输入到非沙箱的Windows来进行IL/AppContainer沙箱逃逸
编辑会话攻击
利用该漏洞在Windows 10中获取SYSTEM权限的POC视频见https://www.youtube.com/embed/quenNNqoDBs
研究人员称,CTF协议中还含有多个内存破坏漏洞可以在默认配置下被利用。即使没有这些bug,CTF协议也允许应用交换输入和读取其他应用的内容。然而协议中存在大量bug,可以完全控制其他应用。
研究人员于5月中旬将该漏洞报告给微软,微软没有在90天内修复该漏洞,因此研究人员将该漏洞细节和测试工具公开发布。
开源CTF Exploration Tool工具可以发现Windows CTF协议中存在的安全问题,下载地址:https://github.com/taviso/ctftool