使用MailSniper攻击Exchange服务器的技术解析

本文详细介绍了如何利用MailSniper工具对暴露在外的Exchange服务器(OWA或EWS)进行远程攻击,包括获取全局地址列表和进行密码喷洒攻击的技术细节。

使用MailSniper攻击Exchange服务器

作者:Beau Bullock

我在MailSniper中添加了几个模块,用于协助对暴露在外的Exchange服务器(OWA或EWS)进行远程攻击。具体来说,这些模块包括Get-GlobalAddressListInvoke-PasswordSprayOWAInvoke-PasswordSprayEWS

Get-GlobalAddressList

在外部渗透测试中,我们通常会进行侦察阶段,可能会获取到组织的电子邮件地址或用户名。如果我们能成功找到其中任何一个有效凭据,并且组织有Outlook Web Access或Exchange Web Services门户,就可以从Exchange服务器下载整个全局地址列表(GAL)。因此,仅凭一个有效凭据,我们就可以获取组织中所有员工的电子邮件地址。

为了改进Carrie Roberts在其博客中提到的关于手动从OWA收集全局地址列表的方法,我将这一任务自动化并集成到MailSniper中。Brian Fehrman在OWA中发现了一个非常有趣的功能,名为FindPeople,可以通过单个请求拉取整个GAL。遗憾的是,此功能仅在Exchange 2013版本中实现。在测试中,使用FindPeople功能的Get-GlobalAddressList能够在10秒内从远程OWA门户拉取4282个电子邮件地址。

OWA的FindPeople方法要求使用PowerShell 3或更高版本。

对于Exchange版本低于2013的情况,Get-GlobalAddressList会回退到从Exchange Web Services枚举GAL。这种方法可能会花费更多时间,因为EWS每次只允许搜索100个结果。为了绕过这一限制,我基本上搜索从AA到ZZ的范围,然后对结果进行排序和去重。

使用方法:将模块导入PowerShell 3会话,然后运行类似以下命令:

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

如果Exchange版本是2013,结果会类似于下图:

(此处应有截图)

获取完整的电子邮件列表后,可以将其反馈到密码喷洒攻击中,从而很可能获得更多有效凭据。

Invoke-PasswordSprayOWA & Invoke-PasswordSprayEWS

我在MailSniper中编写了两个模块,用于对Outlook Web Access和Exchange Web Services进行密码喷洒攻击。密码喷洒攻击是指我们尝试用一个密码对多个用户账户进行登录,而不是对一个用户账户尝试多个密码。这有助于避免账户锁定,并且由于用户仍然会选择类似“Fall2016”这样的密码,我们仍然可以获得有效凭据。这两个函数都是多线程的。只需传递-Threads选项并指定线程数(15是一个不错的起点)。

两个函数的结构类似,但需要注意的是,Invoke-PasswordSprayOWA要求PowerShell版本3或更高。

使用方法:将模块导入PowerShell 3会话,然后运行类似以下命令:

1
Invoke-PasswordSprayOWA -ExchHostname mail.domain.com -UserList .\userlist.txt -Password Fall2016 -Threads 15 -OutFile owa-sprayed-creds.txt

对于Invoke-PasswordSprayEWS,将模块导入PowerShell会话,然后运行类似以下命令:

1
Invoke-PasswordSprayEWS -ExchHostname mail.domain.com -UserList .\userlist.txt -Password Fall2016 -Threads 15 -OutFile ews-sprayed-creds.txt

当MailSniper找到有效凭据时,终端中会开始显示凭据:

(此处应有截图)

在测试中,我发现EWS密码喷洒方法明显更快。使用Invoke-PasswordSprayOWA和Burp Intruder(15个线程)喷洒10,000个用户大约需要1小时45分钟,而对EWS喷洒相同的用户列表仅需9分28秒。

有关MailSniper的更多信息,请查看此博客文章。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计