内容简介:今天,我们一起看一看攻击者(未经身份验证的用户)如何利用这个Exchange漏洞来在Exchange服务器上冒充合法用户并进行恶意操作。那么接下来我们直奔主题,我们将给大家详细分析这个服务器端请求伪造(SSRF)漏洞,并演示攻击者如何伪装成合法用户。
写在前面的话
今天,我们一起看一看攻击者(未经身份验证的用户)如何利用这个Exchange漏洞来在Exchange服务器上冒充合法用户并进行恶意操作。
那么接下来我们直奔主题,我们将给大家详细分析这个服务器端请求伪造(SSRF)漏洞,并演示攻击者如何伪装成合法用户。
漏洞分析
在实施攻击的过程中,攻击者需要利用一个SSRF漏洞并结合其他安全缺陷来实现身份伪装。Exchange允许任意用户指定URL地址来实现订阅推送,而服务器会直接尝试向这个URL地址发送通知。漏洞之所以存在,是因为Exchange服务器使用了 CredentialCache.DefaultCredentials 来进行网络连接:
在Exchange Web服务中,CredentialCache.DefaultCredentials是以NT AUTHORITY\SYSTEM权限运行的。这将导致Exchange服务器向攻击者的服务器发送NTLM哈希。Exchange服务器还会默认设置下列注册表键:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\DisableLoopbackCheck= 1
此时,攻击者将能够使用这些NTLM哈希来进行HTTP身份验证。比如说,他们可以使用这些哈希来访问Exchange Web服务(EWS)。因为它是以NT AUTHORITY\SYSTEM权限运行的,攻击者就可以利用TokenSerializationRight获取到特权“会话”,并使用一个SOAP头来冒充特定用户。
下面给出的SOAP头样本中,攻击者使用了SID(S-1-5-21-4187549019-2363330540-1546371449-500)来伪装成管理员用户:
漏洞利用
为了方便演示,我们使用了下面这两个 Python 脚本:
1、 serverHTTP_relayNTLM.py:它可以从入站连接中获取NTLM哈希,并将其用于EWS身份验证。
2、 Exch_EWS_pushSubscribe.py:让PushSubscription调用我们的serverHTTP_relayNTLM.py。
脚本下载地址:【 传送门 】(还需Python-ntlm模块)
首先,我们需要获取到目标用户的SID,大致方法如下:
1、 以认证用户的身份登录OWA:
2、 接下来,创建新的文件夹,我们这里使用“tempFold”。点击下拉菜单中的“Permissions”:
3、 添加需要冒充的用户电子邮件地址,这里我们使用victim@contoso.local:
4、 按下F12键,选择“Network”标签,然后再次点击新创建文件夹下拉菜单中的“Permissions”:
5、 我们需要检查第一个service.svc?action=GetFolder请求返回的响应,查看方法:
Body->ResponseMessages->Items->0->Folders->0->PermissionSet->Permissions->N->UserId->SID
样本中的N为2,但是你可以根据你自己的情况来选择正确的。PrimarySmtpAddress为目标用户的邮件地址,如果响应中不包含PermissionSet参数,我们就需要查看另一个service.svc?action=GetFolder请求了:
6、 我们选择使用serverHTTP_relayNTLM.py中的SID来进行操作,我们还需要选择一个没有被屏蔽的TCP端口来转发Exchange服务器上的出站连接。比如说,TCP端口8080可用的话。
接下来,使用真实信息修改serverHTTP_relayNTLM.py:
设置好正确的脚本变量后,我们就可以开始了:
7、 下一步就是设置Exch_EWS_pssushSubscribe.py脚本中的变量了:
完成后,我们就可以执行脚本了:
8、 最后一步,我们需要利用事件触发机制来推送通知。我们可以进行类似创建和发送新邮件,或者删除新创建的文件夹来实现:
成功后,我们的serverHTTP_relayNTLM.py就可以从Exchange服务器那里收到入站连接了:
攻击成功后,我们将在响应中看到UpdateInboxRulesResponse ResponseClass=”Success”。这也就意味着,入站规则已经成功添加进目标用户的邮箱了,所有的入站邮件都会被转发给攻击者。
接下来,我们需要测试这个新规则。我们需要利用任意邮箱账号来给目标用户发送一封邮件,但不要用我们新添加的规则(attacker@contoso.local),因为如果转发地址和目的地址相同的话规则就无效了。现在,登录管理员账号,发送某些信息给目标用户:
检查攻击者的收件箱,我们就可以看到这封邮件了:
没错,就是这么简单。希望可以给大家平常的挖洞带来一些灵感!
*参考来源: zerodayinitiative ,FB小编Alpha_h4ck编译,转载请注明来自FreeBuf.COM
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 分析CVE-2018-8581:在Microsoft Exchange上冒充用户
- 勒索病毒冒充《王者荣耀》外挂敲诈20元 黑客被找到
- 马斯克哭了!又有黑客冒充他诈骗比特币
- WinRAR加密压缩冒充GlobeImposter勒索病毒 安全专家轻松解密
- 澳洲程序员谈 996;GitHub 公开 B 站寄来的 DMCA 删除通知;新 Edge 会冒充其它浏览器丨 Q 新闻
- 使用动态分析技术分析 Java
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Agile Web Application Development with Yii 1.1 and PHP5
Jeffrey Winesett / Packt Publishing / 2010-08-27
In order to understand the framework in the context of a real-world application, we need to build something that will more closely resemble the types of applications web developers actually have to bu......一起来看看 《Agile Web Application Development with Yii 1.1 and PHP5》 这本书的介绍吧!