前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Windows - 令牌窃取原理及利用

Windows - 令牌窃取原理及利用

作者头像
渗透攻击红队
发布2020-11-25 10:44:31
3.6K0
发布2020-11-25 10:44:31
举报
文章被收录于专栏:漏洞知识库漏洞知识库

令牌窃取

令牌(Token)是系统的临时密钥,相当于账户名和密码,用来决定是否允许这次请求和判断这次请求是属于哪一个用户的,它允许你在不提供密码或其他凭证的前提下,访问网络和系统资源,这些令牌持续存在系统中,除非系统重新启动。

令牌最大的特点就是随机性,不可预测,一般黑客或软件无法猜测出来,令牌有很多种,比如访问令牌(Access Token)表示访问控制操作主题的系统对象;密保令牌(Security Token)又叫作认证令牌或者硬件令牌,是一种计算机身份效验的物理设备,会话令牌是交互会话中唯一的身份标识符。

伪造令牌攻击的核心是 Kerberos 协议。

其中注意:令牌窃取并非提权!

令牌窃取

Kerberos 协议


Kerberos 是一种网络认证协议,其设计目标是通过密钥系统为客户机/服务器应用程序提供强大的认证服务。

Kerberos 协议的流程图如下:

客户端请求证书的过程如下:

(1)客户端向认证服务器发送请求,要求得到证书

(2)认证服务器收到请求后,将包含客户端密钥的加密证书发送给客户端。该证书包含服务器Ticket(包含服务器密钥加密的客户机身份和一份会话密钥)和一个临时加密密钥(又称为会话密钥,Session Key)。当然,认证服务器也会向服务器发送一份该证书,使服务器能够验证登录的客户端的身份。

(3)客户端将Ticket传给服务器。如果服务器确认该客户端的身份,就允许它登录服务器。客户端登录服务器后,攻击者就能通过入侵服务器来窃取客户端的令牌。


MSF 令牌窃取


不同的用户登录计算机后, 都会生成一个Access Token,这个Token在用户创建进程或者线程时会被使用,不断的拷贝,这也就解释了A用户创建一个进程而该进程没有B用户的权限。一般用户双击运行一个进程都会拷贝explorer.exe的Access Token。

这里有两种类型的令牌:

(1)授权令牌(Delegation Tokens),它支持交互式登录,例如远程桌面,用户桌面访问。

(2)模拟令牌(Impersonation Tokens),它支持非交互式的会话,例如访问目标共享文件。

两种令牌会在系统重启后才会清除;授权令牌在用户注销后,该令牌会变为模拟令牌会依旧有效。

列举令牌只能列出当前用户和比当前用户权限更低用户的令牌,例如当前权限是system或者是administrator,那么我们就可以看到系统中所有的令牌。

令牌窃取实战:

首先是获取到了目标机器的 meterpreter shell:

MSF中内置了令牌窃取工具incognito,我们直接使用:

代码语言:javascript
复制
use incognito

由于我当前的权限是一个普通域用户,所以令牌窃取只能窃取到当前用户本身:

代码语言:javascript
复制
list_tokens -u

那么如果我们获取到的shell是一个system权限的shell,那么我们就可以窃取到system和比system权限低的用户

接下来切换域管的令牌:

代码语言:javascript
复制
impersonate_token 'GOD\Administrator'

这里需要注意的是,使用令牌时,最好使用引号将其括起,因为某些令牌的名字中间含有空格,可能会报错。另外在输入主机名\用户名时,需要输入两个反斜杠(\\)

如果我们不需要此权限,那么可以使用命令 rev2self 返回原先的权限shell:

参考文章:

http://hackergu.com/powerup-stealtoken-rottenpotato/

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-11-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 渗透攻击红队 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档