Kerberos这一名词来源于希腊神话“三个头的狗——冥府守门狗”,在系统中是一种认证协议,使用ticket让节点在不安全的网络环境下进行安全的通信,它能够防止窃听、防止replay攻击、保护数据完整性。黑客可以利用漏洞提升自己的网络权限,还可以获取内网资源,比如窃取密码。
三名研究员发现了这一漏洞,他们把它命名为“奥菲斯的竖琴”,因为它的原理类似希腊诗人奥菲斯用竖琴催眠守门狗的过程。
研究人员还发现,这个漏洞影响的Kerberos版本可以追溯到1996年,由于年代久远,Kerberos有其他的实现。这次的漏洞影响到了3种实现中的2种——Heimdal Kerberos和微软Kerberos。MIT的Kerberos实现则不受影响。
“奥菲斯竖琴”绕过Kerberos认证
漏洞影响的是Kerberos v5,利用了Kerberos协议中的ticket。ticket是网络节点间传输的消息,用来认证服务和用户。
发送到网络时,并非ticket的所有部分都会被加密,通常Kerberos会检查消息中的加密部分从而进行认证。
而研究人员发现了一种方法强制让Kerberos协议使用纯文本和未经加密的部分进行认证。
“_krb5_extract_ticket()中的KDC-REP服务名必须来自’enc_part’中的加密信息,而非’ticket’中存储的未加密的信息。使用了未加密的信息就会让黑客对服务器进行欺骗或者进行其他的攻击。”Heimdal的开发者称。
如果黑客已经攻陷了公司网络或者有能力进行中间人攻击,他就可以截获并且修改纯文本ticket部分,从而绕过Kerberos验证,进而获取到公司的内部资源。漏洞目前还没有被利用的案例,并且黑客需要提前获得内网中的部分资源,尽管如此,这个漏洞仍然十分危险,因为攻击者可以借此扩大在内网中的权限。
Windows、Debian、FreeBSD、Samba均已修复
研究员联系了使用Kerberos协议的各个项目。微软在上周二的补丁推送中已经修复了其Kerberos中的漏洞(CVE-2017-8495)。
Debian、FreeBSD和Samba这三个项目使用到了Heimdal Kerberos,也已经发布了补丁,编号CVE-2017-11103。而Red Hat使用了MIT Kerberos,因此RHEL用户不受影响。
有趣的是,不同厂商对这款漏洞的评级也是不同的,研究人员、Samba和Heimdal都把漏洞评级为“严重(Critical)”,微软和Linux厂商则评为“重要(important)”或者“中危(medium)”。
发现漏洞的研究员分别是AuriStor创始人Jeffrey Altman、和来自Two Sigma Investments公司的Viktor Dukhovni和Nicolas Williams。
Altman解释说,移除掉未加密字段强迫认证请求使用加密部分,这个漏洞就无效了。
为了让用户有更多时间进行更新修复,研究团队没有发布深入的技术细节。之后几天Orpheus’ Lyre网站会发布更多细节。
“要注意漏洞是客户端漏洞,客户端需要进行修复,”研究人员说,“对服务器端打补丁是没用的。”