欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

使用MailSniper越权访问Exchange邮箱

来源:本站整理 作者:佚名 时间:2017-05-01 TAG: 我要投稿

Microsoft Exchange用户能够授权其他用户对他的邮箱文件夹进行各种级别的访问。例如,用户可以授予其他用户访问其收件箱中电子邮件的权力。如果用户(或Exchange管理员)不小心设置了不当的访问权限,这将导致组织中的任何用户都能够访问其电子邮件。
使用MailSniper,可以快速枚举任何用户可访问的邮箱。在这篇文章中,我将说明这种问题是如何产生的,如何确定存在权限问题的邮箱,如何在无需获取邮箱管理员许可的情况下阅读邮箱中的邮件。
使用Outlook设置邮箱权限
更改邮箱权限是使用Microsoft Outlook客户端能够轻松完成的事。如果用户右键单击文件夹,比如“收件箱”,然后单击“属性”,该文件夹的属性菜单就会打开。

单击“权限”选项卡能看到当前的设置。这就是事情变得有趣的地方了。单击“添加”按钮,用户可以指定某个账户来授予各种权限。这是非常理想的,因为用户能够限制特定人员的访问。但是您会注意到在权限中已经包含了“默认”和“匿名”选项。“默认”项目实质上已经包含了组织中的每个用户都有访问邮件的权限。

如果用户错误地将权限级别设置为“默认”而非“无”(除Contributor),这就可能让该组织中的每个成员访问该邮件文件夹。

邮箱文件夹的权限也可以由Exchange管理员设置。直接在Exchange服务器上使用Set-MailboxFolderPermission cmdlet,可以修改这些邮箱权限的设置。
Invoke-OpenInboxFinder
作为一名渗透测试人员,找到全世界都能访问的邮箱对我们是非常有价值的。这将成为一系列其他攻击的媒介。一方面,我们可以搜索其他用户的电子邮件来获取某些内容,例如密码或敏感数据,而无需其凭据。另一方面,如果该用户的电子邮件地址与密码重置系统相关联,攻击者可以触发密码重置,然后访问包含密码重置链接的用户电子邮件。
我已经在MailSniper中添加了一个名为Invoke-OpenInboxFinder的功能,以帮助查找具有设置允许其他用户访问的权限的邮箱。使用它之前,我们首先需要再目标环境中收集一个电子邮件地址列表。MailSniper有一个名为"Get-GlobalAddressList"的模块,可用于从Exchange服务器检索全局地址列表。它将尝试Outlook Web Access(OWA)和Exchange Web服务(EWS)的方法。此命令可用于从Exchange收集电子邮件列表:

Get-GlobalAddressList -ExchHostname mail.domain.com -UserName domain\username -Password Spring2017 -OutFile global-address-list.txt

如果您处于可以与目标组织的内部Active Directory域进行通信的系统上,也可以使用Harmj0y的Poweriew来收集电子邮件列表。将PowerView脚本导入PowerShell会话以获取电子邮件列表:

Get-NetUser | Sort-Object mail | ForEach-Object {$_.mail} | Out-File -Encoding ascii emaillist.txt
收到邮件列表以后,Invoke-OpenInboxFinder功能可以一次检查一个邮箱,以确认当前用户是否可以访问。它还将检查Exchange中是否存在可能被访问的任何公共文件夹。
要使用Invoke-OpenInboxFinder,需要将MailSniper PowerShell脚本导入到PowerShell中:

Import-Module MailSniper.ps1
接下来,运行Invoke-OpenInboxFinder函数:

Invoke-OpenInboxFinder -EmailList .\emaillist.txt
Invoke-OpenInboxFinder将尝试自动发现机遇邮件服务器电子邮件列表中的第一个条目。如果失败,您可以使用-ExchHostname标志手动设置Exchange服务器位置。
在下面的示例中,终端以名为"jeclipse"的域用户运行。在从域中的电子邮件列表中运行Invoke-OpenInboxFinder后,发现了两个公用文件夹。此外"jQuery"可以访问"maximillian.veers@galacticempireinc.com"的收件箱。Invoke-OpenInboxFinder将会打印出每个项目的权限级别。在输出中可以看到"Default"项设置为"Reviewer"。

使用MailSniper搜索其他用户的邮箱
发现邮箱具有允许用户访问的过多权限之后,MailSniper可以读取并搜索目标邮箱中的邮件。MailSniper的Invoke-SelfSearch功能以前用户主要搜索正在运行它的用户的邮箱,我稍作修改,以便能够检查另一个用户的电子邮件。这里需要指定一个名为"OtherUserMailbox"的新标志来访问其他邮箱。命令如下:

Invoke-SelfSearch -Mailbox target-email-address@domain.com -OtherUserMailbox
在下面的截图中,我使用"jeclipse"账户搜索maximillian.veers@galactiempireinc.com的邮箱。发现三个结果,其电子邮件的主题或主题中包含了密码或凭证。

Office365和对外开放的Exchange服务器

[1] [2]  下一页

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载