前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Microsoft Exchang—权限提升

Microsoft Exchang—权限提升

作者头像
用户1631416
发布2019-10-09 09:58:16
2K0
发布2019-10-09 09:58:16
举报
文章被收录于专栏:玄魂工作室

本文由网友 无名翻译自”https://pentestlab.blog/2019/09/16/microsoft-exchange-privilege-escalation/“

------------------------

在红队操作期间收集域用户的凭据可能导致执行任意代码,持久把控和域控制权限升级。但是,电子邮件存储的信息对组织来说可能是高度敏感的,因此攻击者可能会关注电子邮件中的数据。这可以通过向目标用户的邮箱添加规则来实现,该规则将电子邮件转发到攻击者控制的收件箱,或者将邮箱的访问权委托给他们的Exchange帐户。

Zero Day Initiative的Dustin Childs在Microsoft Exchange中发现了一个漏洞,可能允许攻击者冒充目标帐户。存在此漏洞是因为Microsoft Exchange的设计允许任何用户指定推送订阅的URL,Exchange将向此URL发送通知。NTLM哈希值也可能会被泄露,泄漏的NTLM哈希值可用于通过NTLM中继与Exchange Web服务进行身份验证。

1. 邮件转发

从Outlook Web Access(OWA)门户访问被盗帐户

创建一个新的文件夹,选择新文件夹菜单中的的“权限(Permissions)”选项

2. 收件箱权限

这时我们添加目标帐户以拥有邮箱的权限。这是检索帐户的SID(安全标识符,是标识用户、组和计算机帐户的唯一的号码)的必要条件

3. 添加目标帐户的权限

打开浏览器的开发者工具(F12),选中Netwoek(网络)。然后在页面上浏览新建文件夹菜单,选择“权限(Permissions)选项”

POST请求到Microsoft Exchange

检查http请求的响应,来显示管理员用户的SID。(检查第一个

servjice.svc?action=Getfolder

请求响应。查看的方法

Body->ResponseMessages->Items->0->Foldere->0->Permissionser->permissions->N->UserId->SID

最好进行全部的检查以找到正确的哪一个,PrimarySmtpAddress是最理想的哪一个被受害者,如果请求中不包含PrimarySmtpAddress,则需要我们去检查另一个

servjice.svc?action=Getfolder

请求)

3. 管理员SID

如果我们要进行攻击,就需要从GitHub储存库中下载两个Python脚本https://github.com/thezdi/PoC/tree/master/CVE-2018-8581

4. Python脚本

serverHTTP_relayNTLM.py脚本使用我们获取的SID来冒充受害者,同时我们还需要选择允许Exchange Server 通信的端口,例如8080。

配置serverHTTP_relayNTLM脚本

接下来我们可以启动中继服务了。

python serverHTTP_relayNTLM.py

5. 中继服务器

设置脚本Exch_EWS_pushSubscribe.py中的变量

6. 推送订阅脚本配置

执行脚本将尝试通过EWS(Exchange Web服务)将pushSubscribe请求发送到Exchange。

python Exch_EWS_pushSubscribe.py

pushSubscribe python脚本

响应信息

XML Reponse

管理员的NTLM哈希将会被中转回Microsoft Exchange服务器

中转管理员NTLM

7. 中继管理员NTLM到Exchange

Email将会被发送目标账户(管理员)的邮箱之中,将自动的转发到目标账号

电邮至目标帐户

电子邮件将会在红队的账户中转发

电子邮件自动转发

通过NTLM中继对Exchange进行身份验证,为目标用户创建一条规则,该规则会将所有的电子邮件转发到另一个收件邮箱之中。因此可以通过检查目标用户的收件箱规则来进行验证

规则 - 转发管理员电子邮件

委托访问

如果Microsoft Exchange用户具有分配的必要权限,则可以将账户连接到其他的邮箱,如果尝试直接去打开没有权限的另一个账户的邮箱就会产生以下的错误。

打开另一个邮箱 - 没有权限

有一个利用相同漏洞的Python脚本,但是不添加转发的规则,而是为该账户分配权限,以访问域中的任何邮箱(包括管理员)该脚本需要有效的凭据,Exchange服务器的ip地址和目标电子邮件。

image.jpeg

脚本配置

执行Python脚本尝试执行提升

image.jpeg

特权升级脚本

在脚本执行完成之后,会显示一条消息来通知用户Outlook或者Outlook Web Access门户显示目标账户的邮箱

权限提升脚本 - 委派完成

只有通过Outlook Web Access的身份验证之后,才可以查看委派邮箱

Outlook Web Access身份验证

Outlook Web Access具有允许Exchange用户在拥有权限的情况下打开另一个账户的邮箱

打开另一个邮箱,在屏幕上将会出现以下窗口

打开另一个邮箱窗口,理员的邮箱将在另一个页面中打开,等待确认权限的提升

------------------------------------

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-09-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 玄魂工作室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
多因子身份认证
多因子身份认证(Multi-factor Authentication Service,MFAS)的目的是建立一个多层次的防御体系,通过结合两种或三种认证因子(基于记忆的/基于持有物的/基于生物特征的认证因子)验证访问者的身份,使系统或资源更加安全。攻击者即使破解单一因子(如口令、人脸),应用的安全依然可以得到保障。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档