正在加载...

Windows SID 安全标识符

[ 2009/07/09 15:54 | by selboo ]

关于Windows SID---安全标识符
        在此我们先不去评论国外与国内等知名杀毒引擎的优缺点,但我们知道买一套正版的100个点左右的网络版杀毒引擎,最起码是上10万的。当然做我们这一行的,不可能拿出这样一份采购报告递给老总。于是我们不得不去网上寻找一些破解的,盗版,只要还能发挥一点作用的。
       于是在丁香鱼网站下了个瑞星中小型企业版(当然是破解的,不过瑞星官方似乎并不干涉,毕竟换个角度来说,丁香鱼这种作为似乎对于瑞星产品的推广是功不可默的)

       由于大多企业内部使用的办公电脑都是同配置的(方便采购,方便管理和维护),我在其中一台PC上全新安装了一个Windows XP,装好必要的应用软件,打好系统补丁,当然还得装个杀毒软件呀。我把我本人使用的电脑装上了瑞星服务器端和控制中心。样机装为客户端。于是一切设定都已OK,当然得ghost一个“*.gho”镜像,以便日后恢复及给同配置的电脑ghost这个目前处于最干净,最安全,最高速的Windows system 。
于是问题出来了,情况如下:
Server:我的电脑称作(装有瑞星网络版服务器端及控制中心)
PC-A:样机(装有瑞星网络版客户端)
PC-B:与样机PC-A相同的硬件配置,系统为PC-A所ghost的镜像

三台机为在线状态,所处环境为对等局域网。
打开Server端的瑞星控制中心。控制中心只能看到:Server和PC-A且为在线状态,可以正常控制。于是重启PC-B,刷新控制中心,于是只能看到:Server和PC-B,也为在状态。
于是反得测试了几次。情况依旧如此。
Ghost系统,同一个CD-KEY,生成同一个SID,什么是SID?---安全标识符(Security Identifiers),是标识用户、组和计算机帐户的唯一的号码。在第一次创建该帐户时,将给网络上的每一个帐户发布一个唯一的 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。然后表示一系列的子颁发机构,前面几项是标志域的,最后一个标志着域内的帐户和组。
看到这些知识点之后,我也想起曾经做AD测试的时候,有两台Windows怎么也无法加入域控制器。

查看系统SID有多种方法:
通过注册表
开始-运行-regedt-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
       也可以通过CMD中的命令来查看SID,用命令“whoami /user”来查看用户的SID,但在我的测试中,此命令只有在Server版System中才能使用。
如果解决这种因为SID重复而产生的问题呢?就以我这个瑞星网络版来讲吧:
找到安装的光盘(注意版本区别),找到support\tools下的一个叫做deploy.cab的压缩包,解压缩到任意一个目录里面,运行里面的sysprep.exe,在程序窗口中单击:“工厂”,后电脑会自动关机(这个选项可以自己选,重启,关机等)在开机后,此程序还会启动在桌面上,再单击:“重新封装”再重启电脑后,系统会重新配置,并要你再次输入CD-KEY和管理员密码,建一个新的用户名,进入Windows桌面后,你再查看SID以及系统属性的“注册到”一栏中的信息和PID号已经改变。
      问题解决,大快人心!

下面是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 *
Tags:
,
发表评论
表情
打开HTML
打开UBB
打开表情
隐藏
记住我
昵称   密码   游客无需密码
网址   电邮   [注册]