如何玩转Intel多款产品提权漏洞?
点击“合天智汇”关注,学习网安干货
手把手教你如何玩转Intel多款产品提权漏洞(漏洞CVE-2017-5689,场景复现、事件型漏洞挖掘)
本文属于合天原创奖励文章,未经允许,禁止转载!
文 | Yale
0x01
背景
当地时间5月1日(北京时间5月2日上午),英特尔(Intel)官方发布安全公告,公告表明Intel旗下产品英特尔主动管理技术(AMT),英特尔标准可管理性(ISM)和英特尔小型企业技术版本中的固件版本6.x,7.x,8.x 9.x,10 .x,11.0,11.5和11.6存在提权漏洞,可以使无特权攻击者获取这些产品的高级管理功能权限,CVE编号:CVE-2017-5689。 普通用户基于Intel的PC不受影响。
0x02
组件介绍
AMT将系统的完全控制暴露到网络,允许IT人员和其它系统管理员远程重启、修复并轻微调整服务器和工作站。它能够提供一个虚拟串行控制台和(如果安装的是正确的驱动)远程桌面访问权限。
0x03
漏洞危害
首先,Intel AMT提供远程控制电脑的能力系统,即使它关闭电源(但连接到电源和网络)。
此外,Intel AMT完全独立于计算机系统上安装的操作系统。其实这个技术允许远程删除或重新安装。所以有几种可能的攻击情形可以使用该漏洞进行。
这些攻击基于以下Intel AMT功能:
•Keyboard Video Mouse(KVM)功能,此功能内置在Intel AMT Web控制平台中,远程使用此功能执行您在本地进行的任何常见的物理动作(使用鼠标,键盘),可以远程加载,执行任何程序到目标系统,使用通用的文件管理器读/写任何文件等
•IDE-R(IDE重定向),将启动设备远程更改为其他虚拟镜像,从而导致系统将无法从本地硬盘驱动器启动常规操作系统。
•使用SOL(Serial over LAN),攻击者可远程打开/关闭电源/重启/重置系统,还可以用于访问BIOS设置并进行编辑。
0x04
漏洞成因分析
(部分引自匡恩网络“分析英特尔高危漏洞CVE-2017-5689带来的影响”)
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()函数中。
试想一下:如果提供的是空字符串,长度为零,没有字节被检查,因而没有字节是不一样的。因而,空的响应字符串被认为有效而被放行,实际上明明是无效的,因此通过修改response的所有值为空,即可绕过验证进行登录。
4. 因此,将密码用空值代替,将没有字节被检查,strncmp()返回零,表明验证成功。因而,空的响应字符串被认为有效而被执行,从而绕过密码核实机制,登录管理界面。
漏洞分析原理机制可参考漏洞发现者的paper:https://www.embedi.com/files/white-papers/Silent-Bob-is-Silent.pdf
0x05
漏洞复现
所需工具:burpsuite(用于抓包改包)、firefox浏览器
首先登陆管理页面
然后在firefox开启代理,在http代理处填入127.0.0.1,端口设为8080
然后设置burpsuite,如图,点击proxy—option—match and replace
点击add,添加一条规则,分别填入match框和replace框如图所示的值,点击ok,并勾选中这条规则
开始打开代理(intercept is on)进行抓包
点击log on,Burpsuite抓到包,这个包不重要,点击forward放行即可
网页随即会弹出如下对话框
在用户名中输入admin,密码任意,点击确定,抓到如下所示的包,再点击forword即可
然后成功进入管理页面
漏洞最大的危害性在于左侧一系列的控制栏
包括:
点击system后查看到的系统硬件组件配置的详细信息
点击event log,可以查看系统日志;点击remote control,可以对此服务器进行远控操作,包括但不限于重启、开关机等,此处是高危
点击network settings,可以查看并且修改ip地址、子网掩码、网关等,危害也相等严重
点击user accounts,用户账户处,可以在此修改、添加、删除用户
综上所述,可以看到系统重要的信息都可以查看,并且在user accounts可以添加删除用户,在remote control可以重启、关闭服务器、工作站,在未经授权的情况下,这些操作都是危害十分严重的
0x06
漏洞修复
第一步: 确认你的设备是否为具备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
0x07
声明
本文仅是提供复现CVE-2017-5689的思路,以帮助大家更好地理解漏洞形成机理,提高安全意识,了解网络安全的重要性。若有人因此做出破坏网络安全的行为,与此文作者及合天智汇无任何关系。特此声明。
END
别忘了投稿哟!!!
合天公众号开启原创投稿啦!!!
大家有好的技术原创文章。
欢迎投稿至邮箱:edu@heetian.com;
合天会根据文章的时效、新颖、文笔、实用等多方面评判给予100元-500元不等的稿费哟。
有才能的你快来投稿吧!
合天网安实验室
网址 : www.hetianlab.com
电话:4006-123-731
长按图片,据说只有颜值高的人才能识别哦→