现在的位置: 首页 > 综合 > 正文

Windows 2000 的通用的SIDs(有趣 转至灯芯工作室)

2013年08月18日 ⁄ 综合 ⁄ 共 3405字 ⁄ 字号 评论关闭
文章目录

2004年 07月26日

Windows 2000 的通用的SIDs

以前在研究注册表时经常对windows的SID的结构感觉到莫名奇妙,最近通过研究和学
习,终于弄懂了他的奥秘,现和大家交流一下。不对的地方请同志们批评指正。 :D
在windows实现安全特性中一个重要的因素就是用户帐户和用户组,我们当然主要使用
便于记忆的词来标记用户和组名,但在计算机内部,操作系统使用唯一的标识来引用用
户帐户,因此,在每个帐户创建时都被赋予了一个唯一的SID(security identifical
descriptor),并且即使我们再重建一个我们先前已经删除的同名的帐户,该帐户也不
具备老帐户的权限和访问许可权,前段时间janker删除administrator后在重建也不行
的原因 :)

首先SID的格式为:S-R-A-S-S-S-S
S—指这是个SID
R—版本号
A--用于标识发放SID的当局,如5指NT/2000
S—下属值,是一系列号码,对用户进行唯一的标识
如:S-1-5-21-1085031214-492894223-1060284298-500
21-1085031214-492894223-1060284298为下属值,唯一地标识域和工作组
500表示为administrator。
对每一个内置域用户和组和通用的组和用户标号都通过这种方法来唯一标识,在后表中
列举了众所周知的用户和组的SID。

下面再初略地提一下WINDOWS的登录过程,WINDOWS登录主要有两种登录方式,即交互式
和网络登录,其实还有批处理登录方式和服务程序登录,但其具体的方式哥们还没深入
研究,如果有研究的同志千万别不告诉我,跟你急~~ :)
在WINDOWS启动过程中SMSS(SESSION MANAGER)进程是系统创建的第一个用户模式进
程,但他是系统信任的组件,他调用native API开始WIN32子环境、初始化注册表、开
始子系统进程(CSRSS)和LOGON进程等一系列初始化任务,见注册表键:
HKLMSYSTEMCurrentControlSet ControlSession Manager。实际的登陆过程在
LOGON进程(WINLOGON)和相关LSASS进程、SAM、ACTIVE DIRECTORY和多个验证包(进
行认证检查的DLL)。
WINLOGON是信任进程,负责相关安全认证的用户交互,他必须保证对任何其他的活动进
程不可见,保证任何非信任进程在WINLOGON相关进程执行时不能控制桌面而访问口令。
可是事实可以编写拦截登陆用户名和口令的代码,:D前两天分析一个木马“angel”,
该木马把每次登陆的用户名和口令均记录在angle.txt 文件中,可惜以明文,太明显了
(败笔),而且直接加载到REGISTER的RUN子键中(又是败笔)  :D
WINLOGON依靠图形化认证接口(GINA)获得用户输入的用户名和口令,一般默认调用
WinntSystem32Msgina.dll,它产生标准的WINDOWS登陆对话框。因此我们可以用自
己的GINA取尔代之来使用不同的认证机制,如。。。 :D
系统通过调用LSASS来验证用户输入的用户名和口令,它调用前面提到的验证包(DLL)
进行相应的处理,如果正确就缺省调用USERINIT.EXE,完成如环境变量初始化、运行登
陆脚本和应用安全策略等任务后运行缺省的SHELL---EXPLORER.EXE,他所产生的进程都
继承了LSASS为用户产生的令牌,该令牌就是WINDOWS保护资源,实施ACL等安全特性的
根本。
有关令牌的结构哥们就不多说了,并且有一个工具“WhoAmI.exe”可查看你自己的令牌
中关键信息。
Ok 先认识到这,这是哥们的一点肤浅体会,有不对的地方还请各位高手指点,尤其的
楼下的高手lu0(我的老师) :D
还有SID表中描述部分为本人临时翻译的,水平有限… …靠,太罗嗦,上脚了&$%#@$%
SID    名字          描述
S-1-0-0 Null    无成员的一个组。经常用于一个不知名SID值
S-1-1-0 Everyone    包含所有用户的组,甚至匿名用户和 guests.
S-1-2-0 Local    登录到和系统物理连接的终端的用户
S-1-3-0 Creator Owner  产生对象的用户的SID
S-1-5-1 Dialup    通过使用如modem等拨号方式连接登录的用户
S-1-5-2 Network    通过网络登录的用户
S-1-5-3 Batch    使用批处理登录的用户.
S-1-5-4 Interactive    通过交互方式登录的用户
S-1-5-5-X-Y Logon Session  登录会话。保证唯一地访问属于该会话的对象,X和Y对
每一登录都不同。
S-1-5-6 Service    为服务登录的用户帐户
S-1-5-7 Anonymous      匿名登录的用户用户
S-1-5-9 Enterprise Controllers包含所有活动目录域控制器计算机组.
S-1-5-10 Principal Self (or Self)Granting permissions to Principal Self
means granting permissions to the principal represented by the object.
S-1-5-11 Authenticated Users 含所有登录验证通过用户的组,该组不包含匿名和
NULL帐户
S-1-5-13 Terminal Server Users 过终端服务器连接的用户组
S-1-5-18 Local System (System Account)被系统使用的一个服务帐户,这个帐户哥们
好象很少见?
S-1-5--500 Administrator废话不说了
S-1-5--501 Guest没有帐户的用户可以以该身份登录,访问指定的资源,但无
法对桌面做永久的更改。
S-1-5--502 KRBTGT被 Kerberos Key Distribution Center (KDC) 服务使用
的一个服务帐户
S-1-5--512 Domain Admins域管理员组,域全局组,WINDOW2000自动把它加入
到Administrator域本地组,这样该成员就可执行域中任何一台计算机的管理任务了。
S-1-5--513 Domain Users包含所有域用户的一个组,也是域全局组
S-1-5--514 Domain Guests域中Guests组,域全局组
S-1-5--515 Domain Computers域中所有计算机的组,域全局组
S-1-5--516 Domain Controllers域中所有域控制器都添加到该组,域全局组
S-1-5--517 Cert Publishers运行微软证书服务的计算机为该组成员
S-1-5--518 Schema Admins该组成员可以修改活动目录计划
S-1-5--519 Enterprise Admins该组成员具有对活动目录所有域进行控制管理
的权利
S-1-5--520 Group Policy Creators Owners策略管理员组
S-1-5--553 RAS and IAS Servers一个本地组代表RAS和Internet认证服务服
务器
S-1-5-32-544 Administrators一个内置本地组,缺省包含Administrator
S-1-5-32-545 Users一个内置本地组,该成员只能访问指定资源,默认包含本地用户帐
户。
S-1-5-32-546 Guests一个内置本地组,默认内置Guest为该组成员。
S-1-5-32-547 Power Users一个内置本地组。缺省没有成员,它可以创建、修改本地用
户和组,也可以安装应用程序、管理打印机和文件共享。
S-1-5-32-548 Account Operators一个在域控制器上的内置域本地组,对用户帐户和组
进行创建、修改和删除的操作。但Administrator和Operator组除外。
S-1-5-32-549 Server Operators一个在域控制器上的内置域本地组,成员可以操作服
务器,用户帐户除外。
S-1-5-32-550 Print Operators一个内置域本地组,对网络打印机进行管理。
S-1-5-32-551 Backup Operators一个内置域本地组,可以备份和恢复文件和所有域控
制器, 不考虑是否有该文件的权限。

抱歉!评论已关闭.