目标:普通域成员——>域管理员
漏洞利用前提
- 域控没有打MS14-068的补丁(KB3011780)
- 拿下一台加入域的计算机
- 有这台域内计算机的域用户密码和Sid
漏洞原理 #
Kerberos 域用户提权漏洞(MS14-068,CVE-2014-6324),所有 Windows 服务器都会受到该漏洞影响。包括 Windows Server 2003、Windows Server 2008、Windows Server 2008 R2、Windows Server 2012 和 Windows Server 2012 R2。
如果攻击者获取了域内任何一台计算机的 shell 权限,同时知道任意域用户的用户名、SID、密码,即可获取域管理员权限。
在kerberos 协议中 ——> KRB_AS_REP
中的TGT中增加了Client的PAC(特权属性证书),也就是Client的权限,包括Client的User的SID、Group的SID。ms14-068 漏洞就是 经过身份验证的Client在TGT中伪造高权限的PAC。该漏洞允许任何一个域普通用户,将自己提升至域管理员权限。微软给出的补丁号kb3011780。
漏洞复现 #
环境:
- win2012(192.168.10.2) 域控,开启了防火墙
- win7(192.168.10.5),域成员
1. win7获取域账户的密码及sid值
win7机器上查看域管理员,可发现,并没有自己
这里使用mimikatz去抓取域用户的明文密码
通过以上信息收集我们获取了
- 域用户:yuwin7
- 域用户密码:yuwin7.com
- sid:xxxx
- 域名:test.lab
- 域控ip:192.168.10.2
2. 利用ms14-068.exe 工具生成伪造的kerberos协议认证证书
工具:
生成了证书:TGT_yuwin7@test.lab.ccache
3. 利用mimikatz.exe将证书写入,从而提升为域管理员
4. 使用PsExec.exe以管理员权限运行连接域控
Ps:域管理员与域控建立ipc连接不需要输入用户密码。普通域用户则需要