利用MailSniper攻击Exchange:全球地址列表获取与密码喷洒技术

本文详细介绍了如何通过MailSniper工具远程攻击外部Exchange服务器,包括自动化获取全球地址列表(GAL)及实施OWA/EWS密码喷洒攻击的技术细节与操作示例,涵盖PowerShell模块使用和线程优化策略。

利用MailSniper攻击Exchange

作者:Beau Bullock
外部/内部红队

我为MailSniper添加了多个模块,用于协助对托管外部Exchange服务器(OWA或EWS)的组织进行远程攻击。具体模块包括:Get-GlobalAddressList、Invoke-PasswordSprayOWA和Invoke-PasswordSprayEWS。

Get-GlobalAddressList

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

为了改进Carrie Roberts在其博客文章中关于手动从OWA收集GAL的方法,我将此任务自动化并集成到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或更高。

使用Invoke-PasswordSprayOWA:将模块导入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 设计