众嗦粥汁, 新版的licserver不再通过验证MAC地址进行授权, 而改为上传本地凭证后从NVIDIA许可门户生成唯一的授权文件, 堵上了旧版licserver可以多次使用同一个授权文件的漏洞. 那么新版的licserver有办法破解吗?

当然是有的. 新版的授权分为CLS(云端)和DLS(本地), 其中本地部署的DLS是无需联网的, 也就是说只要能骗过本地的授权校验就能注册授权服务器. 至于逆向授权那么复杂的过程我是不会了, 所以我选了更方便(实际上更麻烦)的方法: 直接改数据库

以下皆以Hyper-V下的DLS2.1镜像做演示

首先是要解决DLS服务器的密码问题. 由于GRUB也加了密码, 所以只能通过另一个系统来操作, 修改DLS系统下 /etc/shadow 文件, 删除下图中高亮部分字段, 以允许root空密码登录
vim /etc/shadow

由于DLS系统会每隔15分钟随机重置root密码, 所以接着修改 /etc/dls/scripts/rotate_pwd.sh 文件, 将下图中高亮部分字段改为你要设置的密码, 以确保修改后的密码是你知道的
vim /etc/dls/scripts/rotate_pwd.sh

接着启动DLS服务器虚拟机, 以空密码登录root账户, 你会发现DLS服务器实际上分为应用服务和数据库两部分, 分别运行在容器中. 其中 appliance 容器是一次性的, 每次启动都会重置, 而 pgsql 容器不会重置, 以防止Web遭到篡改
进入 pgsql 容器后连接数据库, 会发现信息存放在名为 nlsdb 的Database下, 用户 dls_writer 具有所有权限. 我们在这里新建一个名为 nvidia 的用户用来连接数据库而不是修改 dls_writer 用户的密码, 再向用户 nvidia 赋予权限
CREATE USER nvidia SUPERUSER;

为了更直观的操作, 我使用 PostgreSQL Maestro 来操作数据库. 要修改的内容位于 request_routing 和以 si_ 开头的 Schemas 中 (每个DLS服务器数据库中的 si_ 都不一样, 以确保唯一性)
nlsdb

其中, request_routing 要修改的 Tablelicense_allotment_reference, license_allotment_service_instance, service_instance
si_ 要修改的 Tableentitlement, entitlement_feature, forced_feature_release, fulfillment_condition, fulfillment_condition_binding, license_allotment, license_allotment_feature, license_allotment_key, license_org, license_pool, license_pool_feature, license_pool_feature_running_counts, public_private_key_pair, selection_rule, service_instance_artifact, virtual_group
(不敢放具体内容, 1.怕惹麻烦 2.写不下, 懒)

总之, 经过修改后的DLS服务器管理页面信息如下图, 可自定义需要的授权类型、数量和可用时间, 除了 Configure High Availability 外的功能均可正常使用 (要是修改了两台DLS的话部署高可用性选项也可用)
这下白嫖了, 要多少有多少
DLS

另外据我试验的结果, 获取许可时当授权服务器上没有对应的许可或份额已经分配完, 则会使用具有此许可内容的其它许可. 比如获取 vCS 许可时授权服务器份额分配完了, 则会使用 vDWS 许可的份额; 若 vDWS 的份额也分配完了, 则会使用 NVAIE 许可的份额. 客户端获取的许可类型不会改变, 只改变授权服务器上的许可占用

END

需要试用我正规购买的 vGPU/NVAIE 许可的, 请给 licensing@841973620.net 发送邮件告知试用目的和期限
licensing.841973620.net

已有 10 条评论

  1. h4

    问候我亲爱的兄弟。

    如何获取安装文件?

  2. jnong

    后面数据库部分有没有详细一点的教程能分享一下吗

  3. Sky

    大佬请教一下破解新版 NVIDIA GRID vGPU License Server (DLS)后面的步骤可以分享一下吗?感谢

  4. zhichao

    您好,可以私信一下具体修改的参数么,我这里搭了一个环境

  5. xixi

    牛逼的,跟着做了一晚上搞完了,还真行!

    1. nanning

      具体参数怎么修改啊

    2. juebanlin

      这个还是需要授权文件激活本地实例后才行吗?还是说不需要授权文件,修改后可以直接用

    3. uu

      可以私信怎么配置吗

  6. lm168

    你好,PostgreSQL Maestro 修改部分可以具体讲下怎么改吗?

  7. ggbond

    可以私信下,详细的流程吗?想好好请教下

添加新评论