SID和NewSID的详细说明 重新生成SID

SID和NewSID的详细说明

SID也就是安全标识符(Security Identifiers),是标识用户、组和计算机帐户的唯一的号码。在第一次创建该帐户时,将给网络上的每一个帐户发布一个唯一的 SID。Windows 2000 中的内部进程将引用帐户的 SID 而不是帐户的用户或组名。如果创建帐户,再删除帐户,然后使用相同的用户名创建另一个帐户,则新帐户将不具有授权给前一个帐户的权力或权限,原因是该帐户 具有不同的 SID 号。安全标识符也被称为安全 ID 或 SID。

SID的作用

用户通过验证后,登陆进程会给用户一个访问令牌,该令牌相当于用户访问系统资源的票证,当用户试图访问系统资源时,将访问令牌提供给 Windows NT,然后 Windows NT 检查用户试图访问对象上的访问控制列表。如果用户被允许访问该对象,Windows NT将会分配给用户适当的访问权限。

访问令牌是用户在通过验证的时候有登陆进程所提供的,所以改变用户的权限需要注销后重新登陆,重新获取访问令牌。

SID号码的组成

如果存在两个同样SID的用户,这两个帐户将被鉴别为同一个帐户,原理上如果帐户无限制增加的时候,会产生同样的SID,在通常的情况下SID是唯一的,他由计算机名、当前时间、当前用户态线程的CPU耗费时间的总和三个参数决定以保证它的唯一性。

一个完整的SID包括:

• 用户和组的安全描述

• 48-bit的ID authority

• 修订版本

• 可变的验证值Variable sub-authority values

例:S-1-5-21-310440588-250036847-580389505-500

我们来先分析这个重要的SID。第一项S表示该字符串是SID;第二项是SID的版本号,对于2000来说,这个就是

1;然后是标志符的颁发机构(identifier authority),对于2000内的帐户,颁发机构就是NT,值是5。然后表示一系列的子颁发机构,前面几项是标志域的,最后一个标志着域内的帐户和组。

SID的获得

开始-运行-regedt32-HKEY_LOCAL_MACHINE/SAM/SAM/Domains/Builtin/Aliases/Members,找到本地

的域的代码,展开后,得到的就是本地帐号的所有SID列表。

其中很多值都是固定的,比如第一个000001F4(16进制),换算成十进制是500,说明是系统建立的内置管理员帐号administrator,000001F5换算成10进制是501,也就是GUEST帐号了,详细的参照后面的列表。

这一项默认是system可以完全控制,这也就是为什么要获得这个需要一个System的Cmd的Shell的原因了,当然如果权限足够的话你可以把你要添加的帐号添加进去。

或者使用Support Tools的Reg工具:

reg query "HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/CurrentVersion/ProfileList

还有一种方法可以获得SID和用户名称的对应关系:

1. Regedt32:

HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/CurrentVersion /ProfileList

2. 这个时候可以在左侧的窗口看到SID的值,可以在右侧的窗口中ProfileImagePath看到不同的SID关联的用户

名,比如%SystemDrive%/Documents and Settings/Administrator.momo这个对应的就是本地机器的管理员SID %SystemDrive%/Documents and Settings/Administrator.domain这个就是对应域的管理员的帐户

另外微软的ResourceKit里面也提供了工具getsid,sysinternals的工具包里面也有Psgetsid,其实感觉原理都是读

取注册表的值罢了,就是省了一些事情。

SID重复问题的产生

安装NT/2000系统的时候,产生了一个唯一的SID,但是当你使用类似Ghost的软件克隆机器的时候,就会产生不同的机器使用一个SID的问题。产生了很严重的安全问题。

同样,如果是重复的SID对于对等网来说也会产生很多安全方面的问题。在对等网中帐号的基础是SID加上一个相关的标识符(RID),如果所有的工作站都拥有一样的SID,每个工作站上产生的第一个帐号都是一样的,这样就对用户本身的文件夹和文件的安全产生了隐患。

这个时候某个人在自己的NTFS分区建立了共享,并且设置了自己可以访问,但是实际上另外一台机器的SID号码和这个一样的用户此时也是可以访问这个共享的。

SID重复问题的解决

下面的几个试验带有高危险性,慎用,我已经付出了惨痛的代价!

微软在ResourceKit里面提供了一个工具,叫做SYSPREP,这个可以用在克隆一台工作站以前产生一个新的SID号

码。 下图是他的参数

这个工具在DC上是不能运行这个命令的,否则会提示

但是这个工具并不是把所有的帐户完全的产生新的SID,而是针对两个主要的帐户Administrator和Guest,其他的帐号仍然使用原有的SID。

下面做一个试验,先获得目前帐号的SID:

S-1-5-21-2000478354-688789844-839522115

然后运行Sysprep,出现提示窗口:

确定以后需要重启,然后安装程序需要重新设置计算机名称、管理员口令等,但是登陆的时候还是需要输入原帐号的口令。

进入2000以后,再次查询SID,得到:

S-1-5-21-759461550-145307086-515799519,发现SID号已经得到了改变,查询注册表,发现注册表已经全部修改了,当然全部修改了 。

另外sysinternals公司也提供了类似的工具NTSID,这个到后来才发现是针对NT4的产品,界面如下:

他可不会提示什么再DC上不能用,接受了就开始,结果导致我的一台DC崩溃,重启后提示“安全账号管理器初始化失败,提供给识别代号颁发机构的值为无效值,错误状态0XC0000084,请按确定,重启到目录服务还原模式...”,

即使切换到目录服务还原模式也再也进不去了!

想想自己胆子也够大的啊,好在是一台额外DC,但是自己用的机器,导致重装系统半天,重装软件N天 ,所以再次提醒大家,做以上试验的时候一定要慎重,最 好在一台无关紧要的机器上试验,否则出现问题我不负责哦 。另外在Ghost的新版企业版本中的控制台已经加入了修改SID的功能,自己还没有尝试,有兴 趣的朋友可以自己试验一下,不过从原理上应该都是一样的。

文章发表之前,又发现了微软自己提供的一个工具“Riprep”,这个工具主要用做在远程安装的过程中,想要同时安装上应用程序。管理员安装了一个标准的 公司桌面操作系统,并配置好应用软件和一些桌面设置之后,可以使用Riprep从这个标准的公司桌面系统制作一个Image文件。这个Image文件既包 括了客户化的应用软件,又把每个桌面系统必须独占的安全ID、计算机账号等删除了。管理员可以它放到远程安装服务器上,供客户端远程启动进行安装时选用。 但是要注意的是这个工具只能在单硬盘、单分区而且是Professional的机器上面用。

下面是SID末尾RID值的列表,括号内为16进制:

Built-In Users

DOMAINNAME/ADMINISTRATOR

S-1-5-21-917267712-1342860078-1792151419-500 (=0x1F4)

DOMAINNAME/GUEST

S-1-5-21-917267712-1342860078-1792151419-501 (=0x1F5)

Built-In Global Groups

DOMAINNAME/DOMAIN ADMINS

S-1-5-21-917267712-1342860078-1792151419-512 (=0x200)

DOMAINNAME/DOMAIN USERS

S-1-5-21-917267712-1342860078-1792151419-513 (=0x201)

DOMAINNAME/DOMAIN GUESTS

S-1-5-21-917267712-1342860078-1792151419-514 (=0x202)

Built-In Local Groups

BUILTIN/ADMINISTRATORS S-1-5-32-544 (=0x220)

BUILTIN/USERS S-1-5-32-545 (=0x221)

BUILTIN/GUESTS S-1-5-32-546 (=0x222)

BUILTIN/ACCOUNT OPERATORS S-1-5-32-548 (=0x224)

BUILTIN/SERVER OPERATORS S-1-5-32-549 (=0x225)

BUILTIN/PRINT OPERATORS S-1-5-32-550 (=0x226)

BUILTIN/BACKUP OPERATORS S-1-5-32-551 (=0x227)

BUILTIN/REPLICATOR S-1-5-32-552 (=0x228)

Special Groups

/CREATOR OWNER S-1-3-0

/EVERYONE S-1-1-0

NT AUTHORITY/NETWORK S-1-5-2

NT AUTHORITY/INTERACTIVE S-1-5-4

NT AUTHORITY/SYSTEM S-1-5-18

NT AUTHORITY/authenticated users S-1-5-11 *.(over)

NewSID ,顾名思义,就是可以利用它来为计算机重新生成新的SID号。为什么要重新定义新SID?如果用Ghost的镜像批量的来安装系统,那么它们的SID号必 然相同。若内部网络上计算机SID相同就会造成许多冲突,加入域也会有很大问题,甚至造成客户机无法加入到域。对于什么是SID?2楼已经有很详细的介 绍。

Windows 安装光盘不是已经提供了Sysprep吗?什么还要用NewSID呢?

1、 凡用过Sysprep的朋友都应该知道,如果用Sysprep来重新封装系统,在重启之后会要求我们重新输入产品序列号和重新添加用户,对于企业来说很多时候是不希望员工得到产品ID的,让非IT职员来完成系统任务也很有可能造成一些不必要的麻烦。

2、 正是基于我们这些迫切需求,NewSID可谓是一个完美的解决方案。它提供三种方式来让我们重新生成SID:a.随机产生 b.从其它计算机复制 c.手工输入,以上这三种方式可以满足大多数用户的需求。我们还可以选择是否重新给计算机更名,最后也可以手工指定在SID重定义完成后是否重启计算机。

3、 计算机重启之后不会让我们再次输入产品序列号,也不会让我们重新添加用户,这为我们减少了很多不必要的麻烦。

总结:NewSID是一个相当Cool的小工具,大家一定要将其收到自己的工具箱中,以备不时之需。

 

http://www.itabloid.cn/upload/newsid.rar

Introduction Many organizations use disk image cloning to perform mass rollouts of Windows. This technique involves copying the disks of a fully installed and configured Windows computer onto the disk drives of other computers. These other computers effectively appear to have been through the same install process, and are immediately available for use. While this method saves hours of work and hassle over other rollout approaches, it has the major problem that every cloned system has an identical Computer Security Identifier (SID). This fact compromises security in Workgroup environments, and removable media security can also be compromised in networks with multiple identical computer SIDs.Demand from the Windows community has lead PowerQuest, Ghost Software and Altiris to develop programs that can change a computer‘s SID after a system has been cloned. However, PowerQuest‘s SID Changer and Ghost Software‘s Ghost Walker are only sold as part of each company‘s high-end product. Further, they both run from a DOS command prompt (Altiris‘ changer is similar to NewSID).NewSID is a program we developed that changes a computer‘s SID. It is free, comes with full source, and is a Win32 program, meaning that it can easily be run on systems that have been previously cloned. NewSID works Windows NT 4, Windows 2000, Windows XP and Windows .NET Server. Please read this entire article before you use this program.Version Information: Version 4.0 introduces support for Windows XP and .NET Server, a wizard-style interface, allows you to specify the SID that you want applied, Registry compaction and also the option to rename a computer (which results in a change of both NetBIOS and DNS names). Version 3.02 corrects a bug where NewSid would not correctly copy default values with invalid value types when renaming a key with an old SID to a new SID. NT actually makes use of such invalid values at certain times in the SAM. The symptom of this bug was error messages reporting access denied
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值