一键计算Supermicro超微主板IPMI/BMC激活码Node Product Key

前言

最近整了一台超微X10DRL-I的双路机器,自带的BIOS只支持E5-2600v3的CPU,更新BIOS后可以支持v4。不过自己不太会刷BIOS,只敢通过IPMI傻瓜式刷机。
然而超微所有的IPMI要开启更新BIOS功能的话需要购买激活码,虽然网上有$20一个的,但是还是嫌贵….

无意中发现居然有人破解了这个Node Product Key,

方法一:

  1. 访问https://192.168.XXX.XXX/cgi/url_redirect.cgi?url_name=mainmenu 复制mac地址。
  2. 访问https://cryptii.com/pipes/QiZmdA
  3. 左边输入ipmp的mac地址,右侧按照上图选择,自动生成后,输入就行

参考资料:

  • https://peterkleissner.com/2018/05/27/reverse-engineering-supermicro-ipmi/
  • https://www.willnet.net/index.php/archives/225/

 

方法二:

任意Linux系统下直接算出激活码!

操作流程

1. 首先在IPMI》configuration》network中找到IPMI的MAC地址,形如0c-c4-xx-xx-xx-xx

2. ssh连接任意一台装了openssl的Linux,可以是本地的,或者是云服务器
3. 输入以下命令,注意把0c-c4-xx-xx-xx-xx替换成自己机器的MAC:

echo -n '0c-c4-xx-xx-xx-xx' | xxd -r -p | openssl dgst -sha1 -mac HMAC -macopt hexkey:8544E3B47ECA58F9583043F8 | awk '{print $2}' | cut -c 1-24

4. 获取到一串字符,填到IPMI控制台中激活即可:
截图方法三:

SuperMicro IPMI 授权生成器

作者网址:https://github.com/kasuganosoras/SuperMicro-IPMI-LicenseGenerator

SuperMicro 超微主板 IPMI 高级功能授权解锁 Key 生成工具,使用多种语言编写

超微的主板自带的 IPMI 有些高级功能是需要授权才能解锁的,比如在线更新 BIOS,RAID 管理等等,但是我找半天也不知道这个 Key 在哪……

在咕鸽上找了一下,看到一篇逆向超微 IPMI 源码的文章,大概摸清了它的授权验证原理:

  1. 将 IPMI BMC MAC 地址作为 16 进制字串转为二进制
  2. 使用 HMAC + SHA1 散列算法计算出 Key
  3. 取前 24 位作为授权密钥

我寻思那挺简单啊……于是就给它写了个生成工具出来。

在线版:https://tql.ink/ipmi/

API 调用:https://tql.ink/ipmi/api.php?mac=<你的 BMC MAC>

使用方法

你可以直接使用网页版,最方便,也可以自己下载下来编译运行玩

先 git clone 下来,然后选择一个你喜欢的语言,如果需要编译就编译一下,脚本语言例如 php python 可以直接运行

然后执行方法:

命令 <你的 BMC MAC>

例如

java main 0c:c4:7a:3e:2f:de

PHP 类引用的方法:

<?php include('supermicro.php'); $supermicro = new Supermicro(); echo $supermicro->getLicense("这里填写你的 IPMI MAC 地址");

 

 

阅读剩余
THE END