Windows Access Token
Windows Access Token
-
Windows Token其实叫Access Token(访问令牌),它是一个描 述进程或者线程安全上下文的一个对象。不同的用户登录计算机后, 都会生成一个Access Token,这个Token在用户创建进程或者线程 时会被使用,不断的拷贝,这也就解释了A用户创建一个进程而该 进程没有B用户的权限。令牌就是系统的临时密钥,相当于用户名和密码,用来决定是否允许这次请求和判读这次请求属于那个用户,它允许你不提供凭证的前提下访问网络和系统资源。
-
Windows Access Token(访问令牌)有两种,一种是Delegation token(授权令牌),主要用于交互会话登录(例如本地用户直接登录、远程桌面登录),另一种是Impersonation token(模拟令牌),主要用于非交互登录(利用net use访问共享文件夹)
Access Token种类:
主令牌
模拟令牌
Windows Access Token组成
-
用户帐户的安全标识符(SID)
-
用户所属的组的SID
-
用于标识当前登录会话的登录SID
-
用户或用户组所拥有的权限列表
-
所有者SID
-
主要组的SID
-
访问控制列表
-
访问令牌的来源
-
令牌是主要令牌还是模拟令牌
-
限制SID的可选列表
-
目前的模拟等级
其他统计数据
Windows Access Token SID (安全标识符)
- 安全标识符是一个唯一的字符串,它可以代表一个账户、一个用户 组、或者是一次登录。通常它还有一个SID固定列表,例如 Everyone这种已经内置的账户,默认拥有固定的SID。
SID的表现形式:
-
域SID-用户ID
-
计算机SID-用户ID
-
SID列表都会存储在域控的AD或者计算机本地账户数据库中。
Windows Access Token产生的过程
每个进程创建时都会根据登录会话权限由LSA(Local Security Authority)分配一个Token。如果CreaetProcess时自己指定了 Token, LSA会用该Token, 否则就用父进程Token的一份拷贝。当用户注销后,系统将会使授权令牌切换为模拟令牌,不会将令牌清除,只有在重启机器后才会清除。
后渗透中的令牌模拟