什么是令牌?

令牌(Token)是系统的临时密钥,相当于账号和密码,它是用来决定是否允许这次请求并判断这次请求是属于哪一个用户的,它允许你在不提供密码或者其他凭证的前提下,访问网络和系统资源,将这些令牌存在系统中,除非系统重启。令牌的特点:随机性,不可预测性。

假冒令牌

假冒令牌可以假冒一个网络中的另外一个用户进行各类操作,所以当一个攻击者需要域管理员的操作权限时,需要通过假冒域管理员的令牌进行攻击。

令牌的类型

访问令牌(Access Token):表示访问控制操作主体的系统对象
会话令牌(Session Token):是交互会话中唯一的身份标识符
密保令牌(Security Token):又叫做认证令牌或者硬件令牌,是一种计算机身份校验的物理设备,例如U盾

MSF伪造令牌实战

假设我们已经获取到系统的权限,但是通过getsystem和其他方式提权失败
image.png
我们这时可以伪造令牌进行提权

  1. use incognito #进入incognito模块
  2. list_tokens -u #列出令牌

可以看到当前的令牌权限

  1. Delegation Token:也就是授权令牌,它支持交互式登录(例如可以通过远程桌面登录访问)
  2. Impresonation Token:模拟令牌,它是非交互的会话。

image.png
然后我们可以通过下面的命令进行假冒Administrator用户
image.png

土豆提权

potato家族在内网渗透提权非常常见,常用的提权potato类型很多,所以来理解一下原理
大概总结:通过各种方法在本地NTLM中继获取获取SYSTEM令牌,通过模拟令牌执行命令,统称为potato提权

一个重要前提,Potato程序是用C#编写的,需要系统装有.Net Framework 3.5以上版本支持。
讲到土豆提权原理这边就要关联到NBNS欺骗和WPAD劫持
此处原理见:https://www.yuque.com/l519/0h1ry/lxqmoq