黑客风云——风云网络
设为首页 加入收藏 我要投稿 网站地图

您现在的位置: 黑客风云 >> 黑客文章 >> 黑客进阶 >> 黑客安全 >> 正文
·没有路由密码权限时的鸽08-23·关于Windows的权限和一些10-14
·新型 .net 一句话及客户10-14·快客电邮(QuarkMail)远程10-14
·ORACLE建立数据文件Writ10-14·DB_OWNER权限备份SHELL10-14
·主页吧提供三种类型的小10-14·让桌面图标翻跟斗 在XP系10-13
·酷浪网络提供100M免费静10-13·利用mysql成功入侵淮北生10-12
·入侵骗子站xuehk.com全过10-12·火山互联提供10G/ftp免费10-12
·上网安全 Vista自我防范10-11·让濒临崩溃的Windows XP10-11
·有备无患,快速自制救急10-11·要你好看!Windows看图工10-11
·空间赞助网提供不同类型10-11·讨论net.exe和net1.exe的10-10
·让3389远程桌面传输更通10-10·巧妙入侵渗透赌博站10-10
·Aspx空间扫权限工具10-10·Windows2003最新提权工具10-10
·易淘乐提供100M免费全能10-10·系统开机密码忘了不着急10-09
·中意网络提供免费100M免10-09·与众不同 Windows XP开始10-08
·让桌面图标翻跟斗 在XP上10-08·上海宽元站长资助计划-提10-08
[推荐]关于Windows的权限和一些安全问题
        ★★★★★

关于Windows的权限和一些安全问题

文章整理发布:黑客风云 文章来源:www.05112.com 更新时间:2008-10-14 13:00:17

当时写这篇文章的目的是为了学习和研究NT下权限带来的一些安全问题,不过我当时没有深入进行下去。

最近出的exploit: Windows 2003 Server Token Kidnapping 问题,又是这方面的问题,与SeImpersonatePrivilegetoken关系紧密。

其实NT核心里的 权限---令牌---ACL 这一体系还会有很多其他的问题,以往深究的人很少,如果想研究下去的话,可以参考下我下面这篇文章。研究方法应该类似。

由于写文章的时候还比较年轻,大概也就10多岁,笔法还很稚嫩,请勿见笑。在文章中也提到了一些老朋友的名字,真是怀念他们啊。图片已经丢失了,不过并不影响阅读。

浅谈NT的ACL,令牌,权限与安全性问题
-----另一种克隆帐号的途径

作者:刺(aXis)

来源:www.ph4nt0m.net(当时还在用这个域名,也有网上流传的文章里用的是www.3389.net的域名,曾经也是幻影最初的域名之一。)

摘要:关于nt的acl,token,and privilege的,以及通过privilege绕过acl,达到访问文件的目的。可以说是另一种克隆administrator的方法,不过更隐蔽, 利用起来难度较大,需要绕过检测才行,目前取的的突破是利用权限绕过acl。

关键字:ACL,ACE,DACL,TOKEN,SID,PRIVILEGE

一.基本概念(这部分介绍的是令牌,ACL等基本概念,是为第二部分做准备,如果你已经了解其内容,请跳过这一部分)

1.什么是令牌(TOKEN)

当用户登录到Windows NT/2000/XP,同时通过了身份认证,此时将会由系统为该用户分配一个令牌。令牌是一个数据结构,用于由所有该用户激活的进程和线程。令牌的结构如下图:

Token source

Impersonation Type

Token ID

Authentication ID

Modified ID

Expiration Time

Default Primary Group

Default DACL

User Account SID

Group 1 SID

……

Group n SID

Restricted SID 1

……

Restricted SID n

Privilege 1

……

Prililege n

这样看不太容易理解。我们来看一个实例,使用win2000 resource kit中的whoami.exe来查看当前用户的访问令牌(Access Token)中的详细信息

C:\>whoami /all
[User] = "DARKDEAMON\Administrator" S-1-5-21-1409082233-1957994488-47230797
1-500
[Group 1] = "DARKDEAMON\None" S-1-5-21-1409082233-1957994488-472307971-513
[Group 2] = "Everyone" S-1-1-0
[Group 3] = "BUILTIN\Administrators" S-1-5-32-544
[Group 4] = "BUILTIN\Users" S-1-5-32-545
[Group 5] = "NT AUTHORITY\INTERACTIVE" S-1-5-4
[Group 6] = "NT AUTHORITY\Authenticated Users" S-1-5-11
[Group 7] = "LOCAL" S-1-2-0

(X) SeChangeNotifyPrivilege =

(O) SeSecurityPrivilege =

(O) SeBackupPrivilege =

(O) SeRestorePrivilege =

(O) SeSystemtimePrivilege =

(O) SeShutdownPrivilege =

(O) SeRemoteShutdownPrivilege =

(O) SeTakeOwnershipPrivilege =

(O) SeDebugPrivilege =

(O) SeSystemEnvironmentPrivilege =

(O) SeSystemProfilePrivilege =

(O) SeProfileSingleProcessPrivilege =

(O) SeIncreaseBasePriorityPrivilege =

(X) SeLoadDriverPrivilege =

(O) SeCreatePagefilePrivilege =

(O) SeIncreaseQuotaPrivilege =

(X) SeUndockPrivilege =

(O) SeTcbPrivilege =

C:\>

这就是我的令牌中的信息,它包括我的SID,属于的组,具有的权限的详细列表等信息。所以可见,令牌决定了一个用户在一台计算机上所具有的能力。

2.安全性标志符(SID)

SID是在创建一个用户或组的时候由系统分配的,是唯一的。当一个本地用户登录时,SID将由系统从SAM中的用户数据库中取出。

关于SID的结构可以参照《INSIDE WINDOWS2000》里的一段:

A SID is a variable-length numeric value that consists of a SID structure revision number, a 48-bit identifier authority value, and a variable number of 32-bit subauthority or relative identifier (RID) values.

下面是一些系统内置的SID

Well-Known SIDs

SID
Group
Use

S-1-1-0
Everyone
A group that includes all users.

S-1-2-0
Local
Users who log on to terminals locally (physically) connected to the system.

S-1-3-0
Creator Owner ID
A security identifier to be replaced by the security identifier of the user who created a new object. This SID is used in inheritable access-control entries (ACEs).

S-1-3-1
Creator Group ID
Identifies a security identifier to be replaced by the primary-group SID of the user who created a new object. Use this SID in inheritable ACEs.

SID结尾的数字是RID(relative identifier)。500表示是管理员组,GUEST组的是501

ADAM提出的克隆管理员帐号就是在SID上做手脚,把一个帐号的SID的RID克隆成500,这样系统就会认为是管理员了。

一个完整的SID的结构可以参看上面令牌中的SID。

S-1-5-21-1409082233-1957994488-472307971-500

3.什么是访问控制列表(ACL)

ACL(access control list)从字面的意思很好理解。一个系统通过ACL来判断用户对资源的何种程度的访问。由两种类型的ACL:DACL(Discretionary Access Control List)和SACL(System Access Control List)。DACL包括户和组的列表,以及相应的权限,允许或是拒绝,用来确定对资源的访问权限。SACL则用来确定安全资源的审核策略。ACL由零个 或多个ACE(Access Control Entries)组成,一个ACE包括一个SID和该SID可访问资源的描述,比如允许和拒绝,拒绝优先于允许。

在win2000 resource kit中有几个工具是关于acl的,较为典型的是xcacls。下面是一个用xcacls查看acl的例子

C:\Program Files\Resource Kit>xcacls whoami.exe

C:\Program Files\Resource Kit\whoami.exe BUILTIN\Users:R

BUILTIN\Power Users:C

BUILTIN\Administrators:F

NT AUTHORITY\SYSTEM:F

NT AUTHORITY\TERMINAL SERVER USER:C

C:\Program Files\Resource Kit>

其他的关于acl的工具还有svcacls.exe,showacls以及subinacl.exe等。这里不再一一赘述。

4.权限(privilege)

简单来说,权限是系统赋予用户的一定的权力,它们允许或者不允许某些影响整个计算机系统而非某一对象的特权操作。下面的表格列出了系统的一些权限和功能。

[1] [2] [3] 下一页

文章录入:cainiaowang    责任编辑:xinlian 
  • 上一篇文章:

  • 下一篇文章: 没有了
  • 【字体:
    Copyright @2006 黑客风云 ●业务联系:QQ 联系怪人 联系奇人 Email:给怪人发邮件 给奇人发邮件
    ICP备案:冀06009886