51

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

 2 years ago
source link: https://vps.la/2021/08/27/%e4%b8%80%e9%94%ae%e8%ae%a1%e7%ae%97supermicro%e8%b6%85%e5%be%ae%e4%b8%bb%e6%9d%bfipmi-bmc%e6%bf%80%e6%b4%bb%e7%a0%81node-product-key/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client
一键计算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地址,右侧按照上图选择,自动生成后,输入就行731947-20200421110614019-248513542.png

参考资料:

  • 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 地址”);

未经允许不得转载:VPS啦 » 一键计算Supermicro超微主板IPMI/BMC激活码Node Product Key


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK