-
-
[转帖]技术分享丨分析英特尔高危漏洞CVE-2017-5689带来的影响
-
发表于: 2017-5-12 19:50 4493
-
简介:英特尔一款远超控制功能的芯片漏洞可以获取高级权限,来这里看其危害和影响
0x01 漏洞介绍
漏洞CVE-2017-5689,是英特尔一个高危提权漏洞,影响的范围包括过去7年英特尔服务器芯片的远程功能,远程攻击者可以利用漏洞来控制存在风险的PC,笔记本电脑和服务器。
漏洞的源由是英特尔通过其 vPro 商务处理器平台提供了 Intel Active Management Technology(AMT)技术,这项技术能让IT管理人员远程管理和修复PC、工作站和服务器。
这项预设的功能使用基于Web的控制页面,通过远程端口16992和16993让管理员远程管理系统。
为防止功能被未授权的用户滥用,AMT服务会使用HTTP摘要认证和Kerberos验证机制。权限提升漏洞出现在web控制界面的认证用户环节。
0x02 漏洞详情分析
以下是对此漏洞的复现和解析。
1、 用户发起登录请求,服务器给予回复(nonce、http方法和请求的URL),随即,用户在登录界面输入用户名、密码,客户端发送字符串(user_response),该字符串是由用户名、密码、nonce值、http方法以及请求的url生成的hash值。
2、 服务器端也会通过数据库中的用户名密码计算一个类似的加密字符串(computed_response)。服务器使用strncmp()函数对两个字符串进行比较,如果二者相符就会让用户登陆Intel AMT Web界面。
3、 Intel AMT漏洞的出现就是由于调用了strncmp()函数:
if(strncmp(computed_response, user_response, response_length)) exit(0x99);
在此函数中,对user_response和computed_response的值进行比较,要认证成功,变量user_response的值必须等于computed_response,因此无论长度如何,strncmp()函数的返回值必须为0,方表示验证成功。
但是写这段代码的程序员错把本应是computed_response的长度写成了user_response的长度,放到了strncmp()函数中。
4、 因此,将user_response值清空,即发送空响应,将没有字节被检查,strncmp()返回零,表明验证成功。因而,空的响应字符串被认为有效而被执行,从而绕过密码核实机制,登录管理界面。
漏洞分析原理机制可参考漏洞发现者的paper:https://www.embedi.com/files/white-papers/Silent-Bob-is-Silent.pdf
提供一个对此漏洞持续跟踪的网页:
https://www.ssh.com/vulnerability/intel-amt/,该网页对漏洞的成因、检测方式、涉及的计算机型号等都有包括。
0x03 漏洞影响分析
根据zoomeye查询统计显示,全球约有19000多台机器开放了16992端口,12000多台主机开放了16993端口,按照端口开放数据,统计出全球排名前十的国家。
从图中可以看出,美国和中国端口开放综合所占比率超过了总数的50%。漏洞攻击成功率非常之高。
0x04 漏洞危害分析
攻击者在实现入侵后,可能带来以下危害。
首先,Intel AMT提供远程控制电脑的能力系统,即使它关闭电源(但连接到电源和网络)。
此外,Intel AMT完全独立于计算机系统上安装的操作系统。其实这个技术允许远程删除或重新安装。所以有几种可能的攻击情形可以使用该漏洞进行。
这些攻击基于以下Intel AMT功能:
•Keyboard Video Mouse(KVM)功能,此功能内置在Intel AMT Web控制平台中,远程使用此功能执行您在本地进行的任何常见的物理动作(使用鼠标,键盘),可以远程加载,执行任何程序到目标系统,使用通用的文件管理器读/写任何文件等
•IDE-R(IDE重定向),将启动设备远程更改为其他虚拟镜像,从而导致系统将无法从本地硬盘驱动器启动常规操作系统。
•使用SOL(Serial over LAN),攻击者可远程打开/关闭电源/重启/重置系统,还可以用于访问BIOS设置并进行编辑。
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!
赞赏
- [话题] 9月10日 教师节到了,说说你记忆深刻的老师 4516
- [原创] 我和程序猿男朋友的爱恨情仇【结帖】 8661
- [推荐]看雪杯AFSRC造洞节,最棒的福利送给看雪的你! 6458
- [注意]某白帽未授权渗透测试政府网站被抓 8523
- [分享] 本周 安全类会议 大汇总 4685