利用密码喷洒攻击OWA:无需内网即可获取域凭证的技术解析

本文详细介绍了如何通过分析公开文件的元数据发现目标组织的用户名架构,并利用密码喷洒技术攻击外部Outlook Web Access服务,从而获取大量有效域凭证,而无需进入目标网络。

密码喷洒攻击Outlook Web Access:如何在不进入目标网络的情况下获取域凭证(第二部分)

作者:Beau Bullock
发布日期:2016年2月17日

这是系列文章的第二部分(第一部分在此),详细介绍了多种在不进入目标组织网络的情况下获取域用户凭证的方法。第一种方法利用密码重用问题,即用户可能在外部服务中重复使用其企业域账户的密码。第二种方法是通过发现目标组织的用户名架构,然后针对其外部服务(如Outlook Web Access门户)进行密码喷洒攻击来收集用户凭证。本部分将重点介绍第二种方法。

元数据和公开认证服务的风险

在评估中,我们经常寻找目标组织公开托管的文档。原因在于,组织通常未能有效清理其公开文件中的元数据。元数据可能包含有趣的信息,例如计算机名称、文件夹结构以及文件创建者的用户名。FOCA是一款用于快速查找和分析目标组织公开文件元数据的工具。

FOCA通过Google和Bing的“filetype”参数进行搜索。例如,搜索“site:targetorganization.net filetype:doc”可以找到与目标域相关的所有DOC文件。FOCA会下载这些文件并分析其元数据。

在一次测试中,我使用FOCA分析了目标组织的公开文件元数据,发现了大量用户名及其命名约定。例如,用户名可能以“emp”开头,后跟员工的三字母缩写(如“abc”),形成“empabc”这样的用户名。通过生成所有可能的组合(从“empaaa”到“empzzz”,共17,576个),我创建了一个完整的用户名列表。

密码喷洒Outlook Web Access

有了可能的用户名列表后,外部攻击者可以寻找执行域认证的外部服务,如Microsoft的Outlook Web Access(OWA)。OWA允许员工远程访问电子邮件,其认证过程基于域凭证。

攻击者可以针对OWA门户进行密码喷洒攻击,而不是暴力破解密码,以避免账户锁定。密码喷洒涉及使用一个(精心选择的)密码尝试所有域账户的登录。例如,使用密码“Winter2016”尝试所有账户,很可能有人使用了该密码,从而获得访问权限。

执行外部密码喷洒攻击的注意事项:

  • 注意锁定阈值:默认情况下,Windows域策略不强制执行锁定,但大多数环境会设置锁定策略(如30分钟内5次失败登录)。
  • 每两小时使用一个密码进行喷洒:这是一个合理的时间窗口,避免账户锁定。
  • 与联系人密切沟通:确保不会锁定任何账户。

我使用Burp Suite的Intruder功能,为每个用户名尝试一个密码。通过拦截OWA登录请求,设置Payload位置为用户名字段,并导入用户名列表。Burp Intruder会跟随重定向并处理Cookie,以完成认证过程。

通过排序响应长度,可以识别成功的登录尝试(响应长度较短)。在一次测试中,我获得了130个有效凭证,而目标组织未检测到任何喷洒活动。

使用Cluster Bomb攻击

为了最大化效率,我使用了Burp Intruder的“Cluster Bomb”攻击,设置用户名和密码两个Payload位置。使用10个密码列表,依次对每个密码进行全用户名喷洒。由于喷洒整个列表的时间远超过锁定观察窗口,因此无需担心账户锁定。

攻击步骤总结

  1. 使用FOCA定位目标组织公开文件。
  2. 分析文件元数据,发现用户名和命名约定。
  3. 生成所有可能的用户名列表。
  4. 针对外部域认证服务(如OWA)进行密码喷洒。
  5. 获取有效凭证。

建议

  • 分析组织公开文件的元数据,防止信息泄露。
  • 实施政策和程序,清理公开文件的元数据。
  • 监控OWA和其他外部认证门户的失败登录尝试和密码喷洒活动。
  • 实施更强的密码策略(建议15字符以上)。
  • 强制使用双因素认证,以减轻密码喷洒攻击的影响。

工具推荐

  • FOCA:https://www.elevenpaths.com/labstools/foca/index.html
  • Patator:https://github.com/lanjelot/patator(用于针对RDP、SMTP、SSL VPN等服务的密码喷洒)。
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计