域内令牌窃取伪造

一、域内令牌窃取伪造

1、令牌(Token)是指系统中的临时密钥,相当于账户和密码,用于决定是否允许当前请求及判断当前请求是属于哪个账户的。获得了令牌,就可以在不提供密码或者其他凭证的情况下访问网络和系统资源。令牌会持续存在于系统内部,除非操作系统重新启动。

2、令牌最大的特点是随机性和不可预测性。一般的攻击者或软件都无法将令牌猜测出来。访问令牌(Access Token)代表访问控制操作主题的系统对象。密保令牌(Security Token)也叫作认证令牌或硬件令牌,是一种用于实现计算机身份校验的物理设备。会话令牌(Session Token)是交互会话的唯一身份标识符。

3、令牌的种类有两种:

  • Delegation Tokens(授权令牌):支持交互式登录
  • Impersonation Tokens(模拟令牌):支持非交互式登录

4、令牌的数量取决于我们获取到的Shell的权限级别,权限越高,获取到的令牌数量就越多。如果攻击者伪造管理员的令牌,便可以拥有与它同等的权限。

5、在普通域用户下进行提权,获取SYSTEM权限后,窃取域管的token,我们就可以获取域控权限。

二、本地测试

1、在本地搭建的域模拟环境,用于测试:pc1域控、pc2域主机。

2、在pc2上执行命令,查看进程及对应的用户名

tasklist /v

user2是域普通用户

3、使用runas 模拟域管运行某个程序,cmd下执行如下命令

runas /noprofile /user:test.lab\administrator cmd

 

 4、此时,我们再查看进程,存在用户为域管的进程,达到我们的测试条件

 5、窃取域管票据,这里我们使用mimikatz。以管理员权限运行

 我们使用如下命令查看令牌

#mimikatz
token::list

 这里,有一点需要注意,我们使用本地管理员权限或者System权限,则可以查看其他用户令牌,若只使用普通权限执行,则只能看到当前用户令牌,如下图

 查看当前身份

#mimikatz
token::whoami

 模拟域管权限

#mimikatz
token::Elevate /domainadmin

 使用dcsync,此时已成功获取域管权限

使用如下命令恢复令牌到初始状态

#mimikatz
token::revert

 恢复之后,再次使用dcsync发现已经无法成功获取hash

三、防御策略

对令牌的时效性进行限制,以防止散列值被破解后泄露有效的令牌信息。越敏感的数据,其令牌的实效性应该越短。对于令牌,应该采取加密存储及多重验证保护。使用加密链路SSL/TLS传输令牌,以防止中间人窃听。


本文原理及防御部分为根据课程整理,在此用于学习记录。如有错误,还多批评。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值