1、漏洞概述
1.1、漏洞固件功能简介
Intel Core vPro依靠Intel的主动管理技术(AMT)来实现,当开启该功能之后,即使在关机的情况下也能对电脑进行远程管理,可查看状态、安装、更新软件或系统、浏览磁盘文件等。
Intel Core vPro处理器包含一个的远程访问功能,即使在电脑关机的情况下,也可准确地访问该电脑。Core vPro 包含一个独立的物理处理单元ME并嵌入在CPU中,ME拥有独立的操作系统。只要电源充足,该ME即可以系统的幻影权限( system’s phantom power)运行,并访问任何硬件。
Intel CPU在Sandy Brige之后,使用的 Anti Theft 3.0技术,将为每一个CPU嵌入3G通信模块。这就意味着你的电脑即使关机且断网,也存在被入侵的可能。即使你的内存拔掉了,vPro还是可以访问你的硬盘,因为ME中拥有自己的内存。
1.2、漏洞成因
为了防止功能被未授权的用户滥用,AMT服务会使用HTTP摘要认证和Kerberos验证机制。权限提升漏洞就出现在Intel AMT Web界面通过HTTP摘要认证协议认证用户的环节。
用户先发起一个没有认证证书的登陆请求,作为响应,服务器回复一个随机数(称作“nonce”)、HTTP方法以及请求的URI。接下来用户就会被提示输入用户名和密码。输入后,客户端就会发送一个加密的字符串(user_response),字符串是使用一个单向的加密函数生成的一个消息摘要(message digest),该摘要由用户名、密码、给定的nonce值、HTTP方法,以及所请求的URI生成。而服务器端也会通过数据库中的用户名密码计算一个类似的加密字符串(computed_response)。服务器使用strncmp()函数对两个字符串进行比较,如果二者相符就会让用户登陆Intel AMT Web界面。
Intel AMT漏洞正是出现在strncmp()函数中,存在问题的代码:if(strncmp(computed_response, user_response, response_length))很明显,要认证成功,变量user_response的值必须等于computed_response,因此无论长度如何,strncmp()函数的返回值必须为0。但是写这段代码的程序员错误地把user_response的长度放到了strncmp()函数中,而非computed_response。
要想利用漏洞,未经授权的用户只需要发送空的user_response值。由于strncmp()错误地用user_response变量来认证用户。因此,发送null值就会让比较函数认为user_response与computed_response相等,从而通过验证。
1.3、受影响版本
受影响的硬件版本6.x,7.x,8.x ,9.x,10.x,11.0,11.5和11.6
不受影响版本
第一代 Core family: 6.2.61.3535
第二代 Core family: 7.1.91.3272
第三代Core family: 8.1.71.3608
第四代Core family: 9.1.41.3024 and 9.5.61.3012
第五代Core family: 10.0.55.3000
第六代Core family: 11.0.25.3001
第七代Core family: 11.6.27.3264
2、危害演示
1、通过zoomeye、shadon进行目标搜索,关键字可以是port:16992,或者添加其他关键字来缩小范围(例如,country:Korea)
目标搜索2、访问网站
网站访问3、登录burpsuite抓包修改
登录4、修改数据包、登陆成功
5、添加用户
6、新用户重新登陆,并且查看远程管理
7、另一目标,关机状态也可开机
关机服务器连接8、Manageability Commander Tool使用创建的用户名进行管理,可在remote KVM中使用vnc进行BIOS和系统的远程管理
客户端管理3、漏洞防护
3.1、固件漏洞防护
要修复这个漏洞必须让设备厂商更新固件,不过也可以通过一些缓解措施处理。这些更新虽然是由英特尔开发的但必须经过厂商的加密签名并分发。希望厂商能在未来几周内及时推出,用户要尽快安装这些补丁。如果设备的厂商是大公司,如戴尔、联想、HP等,那么补丁会很快推出,但如果是小公司那么补可能永远不会推出。
3.2、Intel处置建议
第一步: 确认你的设备是否为具备AMT、SBA、ISM功能的系统,参照文档https://communities.intel.com/docs/DOC-5693 。如果不是,不需要做什么操作。
第二步: 使用工具检查系统使用了有漏洞的固件,参照文档https://downloadcenter.intel.com/download/26755 。如果你的系统已经是如上的不受影响的版本,不需要更多操作。
第三步: 英特尔强烈推荐检查设备的OEM厂商是否提供了更新后的固件,它会有一个3开头的4位版本号(X.X.XX.3XXX),比如 8.1.71.3608 。
第四步: 如果设备厂商还没有提供修补漏洞的固件,缓解措施请参考文档 https://downloadcenter.intel.com/download/26754
3.3、自行关闭AMT
AMT包含硬件与软件两个部分,不能单独直接删除软件,否则设备管理器会看见黄色的小问号了。下面大致简单介绍一下删除方法,主要是有以下两部分:
第一步:重新启动计算机,并在开机的时候进入BIOS系统,关闭AMT
通常在“Configure”-“Intel(R) AMT”
然后把选项“AMT Enable” 设置为“Disabled”
把Enabled 变为 Disabled然后保存退出,等待系统重新unconfigures AMT.
注意:不要改变其它无关选项, 只需要把AMT Enabled变为“Disabled”就行
第二步:计算机重新启动后, 删除AMT软件
进入“控制面板”-“管理工具”-“程序和功能”
然后选择“英特尔主动管理技术”进行卸载
网友评论