如何绕过双因素认证——一步步来
Sally Vandeven //
早在11月,Beau Bullock写了一篇博客文章,描述了他强大的PowerShell工具MailSniper如何有时能绕过OWA门户,通过EWS获取邮件,如果该门户未配置相同的双因素认证(2FA)保护。
我在最近的一次测试中使用了该技术,并能够进一步滥用这种情况。这是我的故事……
我对一个外部OWA门户进行了密码喷洒攻击,发现我们称之为Jane Doe的用户的密码是Spring2017。但我无法登录Jane的账户,因为如您所料,它需要2FA提供的时间敏感令牌。因此,我尝试使用MailSniper通过Exchange Web服务(EWS)访问Jane的邮箱,并能够从服务器检索Jane的邮件。很酷。所以我可以阅读她的电子邮件。这有点意思,但还不够有趣。
我调查了该组织网络上还有哪些其他外部服务,并且相当可预测地发现了一个VPN,但当然也受到2FA的保护。显然,如果我想取得任何进展,就需要获取那些2FA令牌。
嗯。在一个疯狂的冲动下,我等到下班后,尝试拨打该组织的帮助台,希望有人值班提供非工作时间帮助。我等到下班后,是为了最大化真实Jane Doe不会访问她的电子邮件并在我能处理并将其标记为“已读”或完全删除之前产生怀疑的机会。以下是通话的意译记录。
帮助台:您好,我是Acme Widget帮助台的Hal。我能如何帮助您?
我:嗨,Hal。我是Jane Doe。我想在我的账户上添加另一部手机,用于在离开办公室时连接到Acme网络时进行双因素认证。这可能吗?
Hal:当然可能。我很乐意帮您设置。首先,我需要知道是什么类型的手机。
我:是iPhone。
Hal:好的,Jane,您的电子邮件地址是什么?
我:是jane.doe@acmewidget.com
这是我从密码喷洒攻击中获取凭据的账户。
Hal:太好了。是的,我在目录中看到了您的电子邮件地址。我刚刚向该账户发送了一个激活链接。您需要在手机上打开电子邮件并点击链接。
我:当然。稍等……
我执行MailSniper,使用EWS从服务器拉取电子邮件。然后我复制电子邮件的文本,粘贴到一封新的外发电子邮件中,发送给自己。我在手机上打开电子邮件并点击链接。
我:好的。看起来我的新手机已经设置好了。所以通常推送通知会发送到我的主手机。我如何改用新的次要手机?
Hal:您输入用户名和密码,但不要按回车键。而是在密码后加一个逗号,然后添加手机上应用程序的6位代码。
我:我想我明白了。让我试试。
我按照Hal的描述附加代码,并成功以Jane Doe的身份登录VPN。
我:谢谢Hal。效果完美!现在,只是为了确认我理解——除非我在认证时在密码字段中输入次要手机的代码,否则主手机将继续接收推送通知。对吗?
我需要确保真实的Jane Doe仍然能够正常访问她的账户。
Hal:是的,没错。
我:您太有帮助了,Hal。非常感谢。
Hal:不客气,祝您有美好的一天,Jane!
在那一刻,我能够认证到VPN并访问该组织的内网,现在成为了一个受信任的内部人员。下一步将是尝试提升权限和横向移动……于是多米诺骨牌开始倒下……
问题
- 始于弱密码策略。我能够在密码喷洒攻击中猜出用户的密码。
- Exchange Web服务可在没有双因素认证的情况下访问。
- 帮助台除了错误地假设既然我能访问Jane Doe的邮箱,我就一定是Jane Doe之外,没有对我进行认证。
解决方案
- 始终使用强密码策略。在BHIS,我们建议至少使用15个字符的密码短语。
- EWS在Exchange中默认启用。如果不需要,请完全禁用它。如果需要,考虑仅白名单那些需要访问的应用程序,或启用2FA。
- 在配置2FA访问令牌之前,除了电子邮件之外,还应认证用户。密码经常被窃取和猜测,对于2FA等用例,不应被视为足够的认证。