欢迎光临散文网 会员登陆 & 注册

如何破解新版 NVIDIA GRID vGPU Licence Server (DLS)

2023-04-05 01:43 作者:841973620  | 我要投稿

(写在开头) 没有任何具体破解要修改内容,只有流程,求过审

文章首发在我的个人网站

http://841973620.net/index.php/archives/dls-cracked.html


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

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

以下皆以Hyper-V下的NLS镜像做演示

首先是要解决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_ 都不一样,以确保唯一性)

其中,request_routing 要修改的 Table 为 license_allotment_reference, license_allotment_service_instance,service_instance

si_ 要修改的 Table 为 entitlement,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

END

如何破解新版 NVIDIA GRID vGPU Licence Server (DLS)的评论 (共 条)

分享到微博请遵守国家法律