29

苹果设备被曝存在PEAP认证漏洞,研究人员对官方修复方案存疑

 5 years ago
source link: https://www.tuicool.com/articles/JveYnyi
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

雷锋网5月18日消息,研究人员发现苹果设备在PEAP认证上存在缺陷,攻击者可强迫苹果设备接入恶意热点。

研究人员称,即使身份验证服务器(RADIUS)也不能证明密码的真实性,该错误依然允许攻击者强制任何Apple设备(iOS,macOS或tvOS)与恶意接入点关联。

以下是雷锋网对报告内容进行的整理:

初遇CVE-2019-6203

报告撰写者dominic称,去年我们在准备Defcon的演讲时,迈克尔(另一位研究人员)和我正尝试实施hostapd-wpe的EAP攻击试验。在此次攻击中,身份验证服务器将接受任何用户名,之后的动作并非将证明密码内容返回到工作站的步骤(因为它不知道密码),而是将EAP成功消息发送回工作站。

“对于迈克尔的执着,我拒绝了很长一段时间。因为我觉得这种攻击方案不会奏效。因为在MSCHAPv2中,验证服务器实际上证明了密码内容回到决策端的过程,即使不能,我认为决策段也会拒绝继续执行,毕竟这就是保障安全的重点。”

令dominic出乎意料的是,在唯一的一次测试中hostapd-wpe的EAP攻击试验竟然成功了,几乎全部接受实验的Apple设备(iPad,iPhone,Macbook)都成功连接到恶意接入点。由于WPE是由Brad Antoniewicz编写的,我只得向他询问问题所在:

BvEnmiU.png!web

在这之后,dominic针对此次发现进行了大量研究,并在4月份尝试进行了CVE-2019-6203漏洞攻击的再现实验。

复现Apple漏洞

复现攻击的第一步,是找出漏洞的所在之处。通常来说,PEAP-MSCHAP v2的认证过程分为两个阶段:

1、验证服务器身份和建立TLS隧道。服务端将向客户端发送服务端的证书信息,通过后建立TLS隧道保护传输的数据。
2、在TLS隧道内通过MSCHAP v2进行双向认证。

在Frame 4、Frame 5中,验证者和客户端的Response都是通过双方的Challenge + passwordHash + Username计算得出的,并发向对方进行身份验证。

那么,如何复现Apple漏洞攻击呢?

2aqm22V.png!webqY3iiqQ.png!web

2008年,安全研究员Joshua Wright编写了一个名为FreeRADIUS 的补丁。Wright的WPE攻击试验同样使用了绕过PEAP-MSCHAP v2的方式,最终,它可以通过建立虚假PEAP-MSCHAPv2热点得到个人用户请求,并在第二阶段获取Challenge、NTResponse 和 Username。

“与之类似的原理,同样可以应用在此次研究中。”dominic称,我用同样的方式复现了PEAP认证上的漏洞攻击CVE-2019-6203。

具体方法如下:

安装:

hostapd-wpehttps://github.com/OpenSecurityResearch/hostapd-wpe/blob/master/hostapd-wpe.patch 这是在Kali中使用“apt-get install hostapd-wpe”完成的,以下假定该方法。

使用-e开关运行它以启用“EAP Success”

https://github.com/OpenSecurityResearch/hostapd-wpe/blob/master/README#L135

在iOS设备上,在Wifi下,连接到“hostapd-wpe”网络。选择信任证书。可以使用任何凭据。

设备将连接,运行dnsmasq以分发DHCP将显示设备获取IP。

使用以下示例配置尝试使用wpa_supplicant进行相同的客户端连接将不起作用:

network = {

ssid =“hostapd-

wpe ” key_mgmt = WPA-EAP

eap = PEAP

phase2 =“auth = MSCHAPV2”

identity =“test”

password =“password”

ca_cert =“/ etc / hostapd-wpe / certs / ca.pem “

}

如此一来,将看到请求者将拒绝最终的消息验证者并断开连接。

修复问题及解决方案

复现试验中,未打补丁的Apple设备跳过发送验证器响应并且仅按照第7帧发送MSCHAPv2成功帧。这导致易受攻击的Apple设备轻松在其状态机制中跳过。随后它会发送一个PEAP响应——hostapd-wpe向其发送EAP-Success。

dominic称,这意味着如果Apple设备连接到未知用户密码的恶意AP,它不仅会获得NetNTLMv1质询响应,设备也将连接到网络。由于EAP的网络通常是企业网络,Apple设备会认为它与之相关(没有用户交互),此时也可以进行响应式攻击。

该缺陷影响2019年3月25日前的iOS、macOS、tvOS版本,包含MacBook、iPhone、iPad、Apple TV等多种苹果设备。但令dominic感到困惑的是,已修补的设备在PEAP,MSCHAPv2和WPA2级别上表现出完全相同的行为,即设备仍然连接到网络,在某些情况下甚至会请求DHCP。这是一个例子:

imue6r6.png!web

相反,Apple 在连接后使设备与网络断开连接。设备显示“无法连接”错误,并且设备上显示的日志条目显示:

yMzUv2a.png!web

Dominic解释道,这有点像一名保安在守护一座大楼,一旦有人进去无论是谁都会被全部赶出去。虽然它具有解决问题的效果,但很让人担心会不会暴漏出其他危险讯号。

“然而,在测试修复后的系统时,我确实注意到一个异常值,当在设备连接但导出不同的PMK时,握手的第二个消息中由MIC证明(这就是repo中的WPA代码所用的)出现了异常。当然,我觉得这只是一次偶然,因为PMK来自外部TLS会话并且未启用加密绑定,这应该是没有可能的。”

目前,Dominic仍不能确认这个问题是否真的存在,他表示会在之后的研究中用多台苹果设备展开试验,找出答案。

建议:

验证在最终EAP-Success消息中发送的消息验证器,并且不允许iOS / macOS设备连接到无法证明用户密码知识的恶意接入点。

可以在以下位置找到执行此验证的wpa_supplicant示例:

https ://w1.fi/cgit/hostap/tree/src/eap_peer/mschapv2.c#n112

参考来源: sensepostfreebuf 雷锋网 (公众号:雷锋网) 雷锋网雷锋网

雷锋网原创文章,未经授权禁止转载。详情见 转载须知

vMVri27.jpg!web

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK