攻击机kali:192.168.11.106
 
 靶机windows server 2008 R2:192.168.11.134(包含ms17_010漏洞)
 
一、令牌简介与原理
 令牌(Token) 就是系统的临时密钥,相当于账户名和密码,用来决定是否允许这次请求和判断这次请求是属于哪一个用户的。它
 允许你在不提供密码或其他凭证的前提下,访问网络和系统资源。这些令牌将持续存在于系统中,除非系统重新启动。
 
 令牌最大的
 特点就是
 随机性,不可预测,一般黑客或软件无法猜测出来。
 
 令牌有很多种,比如
 访问令牌(Access Token)表示访问控制操作主题的系统对象;
 密保令牌(Security token),又叫作认证令牌或者硬件令牌,是一种计算机身份校验的物理设备,例如U盾;
 会话令牌(Session Token)是交互会话中唯一的身份标识符。
 
 在假冒令牌攻击中需要使用Kerberost协议。所以在使用假冒令牌前,先来介绍Kerberost协议。Kerberos是一种网络认证协议,其设计目标是通过密钥系统为客户机/服务器应用程序提供强大的认证服务。Kerberos的工作机制如下图所示:
 
 客户端请求证书的过程如下:
 
-  
  客户端向认证服务器AS发请求,要求得到服务器的证书;
 -  
  认证服务器AS收到请求后,将包含客户端密钥的加密证书响应发送给客户端。该证书包括 服务器ticket(包括服务器密钥加密的客户机身份和一份会话密钥)和一个临时加密密钥(又称为 会话密钥,session key) 。当然,认证服务器AS也会给服务器发送一份该证书,用来使服务器认证登录客户端的身份。
 -  
  客户端将ticket传送到服务器上,服务器确认该客户端端的话,便允许它登录服务器。
 -  
  客户端登陆成功后,攻击者就可以通过入侵服务器获取客户端的令牌。
 
二、Incongito令牌窃取
 Incognito最初是一个独立的应用程序,允许你在成功危及系统时模拟用户令牌。
 
 令牌就像cookie,是一个临时密钥,允许你访问系统、网络,而不必每次访问时提供凭据。
 
 
 前提条件
 都是首先要get shell,然后通过incognito模块,来获取系统中的凭证。拿到凭证就可以使用它的身份进行登陆了,万一有个管理员令牌,那就实现了
 提权。所以先要基于windows的ms17-010漏洞(永恒之蓝),来拿到session。
 
 
 进入session: 
  sessions -i 1
 
 输入
  use incognito
 
 list_tokens -u 得到授权令牌与模拟令牌:
 
 令牌的数量其实取决于Meterpreter Shell的访问级别。这里可以看到有两种类型的令牌:
 
-  
  Delegation Tokens:授权令牌,支持交互式登录(例如可以通过远程桌面登录访问)
 -  
  Impersonation Tokens:模拟令牌,它是非交互的会话,。
 
 伪造授权令牌,就可以拥有它的权限:whoami显示的就是zq
 
 impersonate_token 
 WIN-1NS5F6C18FM\\zq  
 # 
 注意这里的双斜杠。
 在incognito中调用impersonate_token命令假冒zq用户进行攻击
 
 再来一个system权限,whoami显示的就是system:
 
 impersonate_token 
 "NT AUTHORITY"\\SYSTEM  
 # 
 注意这里的双引号
 
三、针对令牌窃取的防御措施
 及时安装微软推送的补丁
 
 不要使用来路不明的软件
 
 对令牌的时效性进行限制,越短越好
 
 采用加密存储和多重验证保护
 
 加密链路防止中间人窃听
 
 
四、参考
 4-25 后渗透测试实验 - 令牌窃取模拟_哔哩哔哩_bilibili
 
 
                


















