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 和密码