IntelAMT 固件密码绕过登录漏洞分析与实战

简介:

IntelAMT 固件密码绕过登录漏洞分析与实战

Byantian365.com simeon

1.1漏洞简介

    201751日,英特尔公布了AMT漏洞(INTEL-SA-00075),但该漏洞的细节未公开。201755日,Tenable公司研究人员卡洛斯·佩雷斯通过分析LMS软件包,最终发现并成功利用该漏洞。

1.漏洞编号

    IntelAMT 固件密码绕过登录漏洞CVE漏洞编号CVE-2017-5689Intel AMT 固件可以配置英特尔可管理性SKU:英特尔主动管理技术(AMT)和英特尔标准可管理性(ISM)。换句话说可以通过安装LMS软件包来管理硬件,提供Web访问接口。无特权网络攻击者可以获得系统权限,可以添加管理员帐号,可以更改网络设置,可以远程重启计算机等。

   AMT是一款可通过设备的有线以太网接口网络端口16992访问的带外管理工具:它将系统的完全控制暴露到网络,允许IT人员和其它系统管理员远程重启、修复并轻微调整服务器和工作站。它能够提供一个虚拟串行控制台和(如果安装的是正确的驱动)远程桌面访问权限。在获取权限之前应该要求提供密码,但是上述提到的漏洞意味着攻击者能够入侵硬件的控制面板。即使已经为系统的AMT访问权限设置了防火墙,但在用户网络上的攻击者或恶意软件仍然能够利用这个漏洞进入AMT管理的工作站和服务器并进一步攻陷企业。

2.受影响系统

   受影响的硬件版本6.x7.x8.x 9.x10.x11.011.511.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

3.攻击场景

1)可以直接关闭服务器电源

2)通过加载img镜像文件重启系统,运行指定系统。

3)直接修改BIOS

4)通过KVM进行管理

4.漏洞利用原理

   AMT登录管理中通过response_length值来进行判断,也即关键代码:

if(strncmp(computed_response,user_response, response_length))

deny_access();

 这个标准函数仅仅比较两个字符串中每一个的response_length字节,看看它们是不是一样,加以比较的两个字符串是试图登录所发送的验证响应(user_response)和服务要求的响应(computed_response)。如果两者相符,密码肯定对的,所以该函数返回零,代码继续授予访问权。如果两个字符串不一样,该函数返回值是非零,这意味着密码不对,所以拒绝访问。所以如果提供的是空字符串,长度为零,没有字节被检查,因而没有字节是不一样的;不出所料,strncmp()返回零,表明验证成功。因而,空的响应字符串被认为有效而被放行,实际上明明是无效的,因此通过修改response的所有值为空,即可绕过验证进行登录。

1.2漏洞利用还原

   1.搜索端口号

   存在该漏洞对外提供的端口为1699216993623,可以借助zoomeyeshodan等搜索引擎搜索“port:16992”、“port: 16993”和“port: 623”来获取,为了更加精准收集目标信息,可以可以增加关键字IntelActive Management Technology,如图1所示,直接搜索IntelActiveManagement Technology country:China country:China port:16992

                            wKiom1klB8WxTnDEAAIMO6Xg7uw738.jpg-wh_50

1搜索存在端口的服务器

2.查看是否正常运行web服务器

   在搜索结果中对存在二个正方形的图标的记录进行查看,例如直接单击打开“118.150.17.193”搜索结果记录地址“http://118.150.17.193:16992/logon.htm”如图2所示,网站能够正常运行。

wKioL1klB86RUEgRAABulefC72U733.jpg-wh_50

2查看AMT服务是否正常运行

3.修改burpsuite设置

    运行burpsuite后,单击“Proxy-Option”,在“Match andReplace”中新建或者编辑Request Header条目,Match值为response\s*="[0-9a-f]+"Replace 的值为response="",设置如图3所示,在拦截(Intercept)中设置拦截开关为“Interceptis On”。

wKiom1klB9jwB5zEAAG4-An8jho895.jpg-wh_50

3修改burpsuite设置

4.使用admin登录

   回到浏览器中(一定要设置IE代理为127.0.0.1代理端口8080),单击“Log On”进行登录,用户名输入admin,密码随便输入。

wKioL1klB-CSyJ0lAACn55Jidr0190.jpg-wh_50

4使用admin进行登录

5.成功登录AMT管理界面

   burpsuiteIntercept中,单击“Forward”进行放行,如图5所示,成功登录AMT管理界面,在该界面中可以看到电源的状态是休眠,IP地址,无线IP地址,系统ID等信息,还可以查看系统、处理器、内存、磁盘和电源等详细情况。

wKioL1klB-jyL9fsAAFYgIQe96M368.jpg-wh_50

5登录AMT管理界面

6.远程重启系统

   单击“Remote Control”(远程控制),如图6所示,可以进行常规启动,从光盘启动,从硬盘启动,甚至直接关闭电源!对于重要的系统,一旦关闭电源,其后果可以想象一下!

wKiom1klB_HQWScnAAENWfQF2ic904.jpg-wh_50

6远程控制系统

7.用户帐号管理

   单击“User Accounts”,在其中可以新建用户,修改用户密码,删除用户以及更改管理员,如图7所示,还可以设置管理员的权限级别。添加用户其密码强度有要求,要求最少8位,密码为字母大小写,数字和特殊字符组成,如图8所示,否则无法添加成功。

wKioL1klB_qTUmsjAAEj2CWNu-4755.jpg-wh_50

7用户管理

wKiom1klCAzj9IDQAAEVueu58Ok828.jpg-wh_50

8修改密码

8.使用Nmap对目标IP进行全TCP端口扫描

   使用Nmap对目标IP进行全TCP端口扫描的结果表明,存在1699216994623端口。如图9所示,跟Tenable公司研究提出的端口1699216993 623有所出入。

1.3 kali平台下msf利用

  直接运行msf,然后使用以下模块进行测试:

use auxiliary/scanner/http/intel_amt_digest_bypass

msf auxiliary(intel_amt_digest_bypass) >show actions

msf auxiliary(intel_amt_digest_bypass) >set ACTION <action-name>

msf auxiliary(intel_amt_digest_bypass) >show options

msf auxiliary(intel_amt_digest_bypass) >run

1.4安全防范

1.扫描

   Tenable公司已经在Nessus中更新最新脚本,使用该扫描器的朋友可以更新其Scripts即可。对其它扫描器,可以增加扫描端口169921699316994623端口。一旦开启通过手工访问进行判断。

2.加固

   在防火墙上关闭169921699316994623端口,等待intel公司提供升级补丁后更新固件或者升级。

1.5参考文章

1https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5689

2https://threatpost.com/researcher-baseless-assumptions-exist-about-intel-amt-vulnerability

/125390/

3https://www.tenable.com/blog/rediscovering-the-intel-amt-vulnerability

4https://www.embedi.com/files/white-papers/Silent-Bob-is-Silent.pdf

5https://www.rapid7.com/db/modules/auxiliary/scanner/http/intel_amt_digest_bypass



 本文转自 simeon2005 51CTO博客,原文链接:http://blog.51cto.com/simeon/1928915


相关文章
|
7月前
|
开发框架 安全 .NET
记一次绕过安全狗和360提权案例
记一次绕过安全狗和360提权案例
95 0
|
7月前
|
运维 关系型数据库 MySQL
绕过360安全卫士提权实战案例
绕过360安全卫士提权实战案例
171 1
|
7月前
|
XML 开发框架 安全
记一次后门爆破到提权实战案例
记一次后门爆破到提权实战案例
49 0
|
7月前
|
安全 Shell API
绕过反病毒添加管理员用户小结
绕过反病毒添加管理员用户小结
64 0
绕过反病毒添加管理员用户小结
|
10月前
|
数据安全/隐私保护 Python
用户登录程序防破解
用户登录程序防破解
74 0
|
安全 数据安全/隐私保护
靶机实战-密码重置与身份认证失效漏洞
靶机实战-密码重置与身份认证失效漏洞
靶机实战-密码重置与身份认证失效漏洞
|
JavaScript 中间件 数据安全/隐私保护
【每日渗透笔记】后台弱口令+未授权尝试
【每日渗透笔记】后台弱口令+未授权尝试
159 0
【每日渗透笔记】后台弱口令+未授权尝试
|
JavaScript 前端开发 网络安全
若依框架渗透测试用户名密码明文传输问题
若依框架渗透测试用户名密码明文传输问题
630 0
若依框架渗透测试用户名密码明文传输问题
|
Linux 网络安全 开发工具
2022-渗透测试-口令破解-几款暴力破解和字典生成的工具
2022-渗透测试-口令破解-几款暴力破解和字典生成的工具
2022-渗透测试-口令破解-几款暴力破解和字典生成的工具
|
安全 Linux Shell
Linux服务器总是被猜测密码怎么办?这个脚本帮你简单加固
Linux服务器总是被猜测密码怎么办?这个脚本帮你简单加固
Linux服务器总是被猜测密码怎么办?这个脚本帮你简单加固