绕过因子认证分享技术OWA(因子绕过微软收件箱用户)

翻译:sinensis预估稿费:200RMB(不服你也来投稿啊。

)投稿方式:发送邮件至linwei#360.cn,或登陆网页版在线投稿前言全面公布:BLACK HILLS信息安全非常赞成负责任地公布漏洞。
2016年9月28日我向微软报告了这个漏洞,可一直到这篇文章发布(2016.11.2)期间,微软对于此漏洞始终没有任何的反应,除了这句\"目前还未有进展\"。
漏洞发布整个过程的时间表,可以在文章末看到。
漏洞分析美国时间下午3点更新:这篇文章讲述了如何绕过微软网页版Outlook的双因子认证(它由第三方DUO Security公司提供)。
首先说明一点:这次的漏洞不是DUO Security公司的产品引起的。
而是由于双因子认证没有起到对微软的Exchange服务器的保护作用,进而导致Exchange服务器的Web接口暴露。
在第六届的DerbyCon会议上,我公开了一个叫做MailSniper的工具,它可以用来爬取微软的Exchange服务器上有关邮箱的敏感信息。
MailSniper的工作原理是当连接到Exchange Web serveices(EWS)服务器上的时候,会尝试获取用户的收件箱。
EWS是一个Web接口,当用户在部署客户端的时候,微软建议使用EWS来和Exchange服务器交互。
当使用EWS之后,应用就可以从用户的收件箱获取的邮箱信息,联系人,日历等。
在DerbyCon的会议上,我听了Nick Landers的对于Hacker,Outlook和Exchange可以做什么的演讲。
这是一个超级棒的演讲,并且我推荐你去听一下。
在他的演讲中,Nick收到一个观众的提问:双因子验证(2FA)是否就可以防止黑客攻击?Nick由此讲述了一个非常有趣的观点,他说:“我曾经看到过某些公司在OWA(Outlook网页版)上关闭了双因子验证,所以在OWA上面登录的时候,你必须提供一个令牌。
但是这样就有被攻击的危险:因为双因子验证实际并没有起到应有的作用。
所以我猜想如果EWS没有使用双因子验证,那么利用它,使用MailSniper就有可能读取到用户的邮件,完全绕过双因子安全验证。
我来验证这个想法,我设置了网页登录OWA,并且安装了DUO security公司的双因子验证软件--Duo for Outlook。
我在手机上设置了DUO的移动应用,并且登录OWA使用测试用户账户\"vladi@eldershogun.com\"。
在使用我的手机同步了DUO之后,如果我登录账户认证,我的手机就可以收到的确认通知。
这一步完成之后,如果我是黑客,同时没有手机同步DUO软件的双因子验证,在登录OWA之后我就不可能有其他进展了。
在此之前,MailSniper只有在设置了主机域名之后才可以工作。
我修改了部分代码,添加了\"-Remote\"选项,这样Invoke-Selfsearch函数就可以远程工作。
另外还需要修改才可以获取收件箱。
首先,需要确定公司使用的外部邮箱服务器。
一般情况来说,可以使用Autodiscover搜索,或者爆破子域名比如:mail.domain.com,owa.domain.com,webmail.domain.com等。
邮箱服务器需要使用'-ExechHostname'参数来指定。
如果这个参数没有指定,Invoke-selfSearch就会自动尝试获取邮箱服务器。
其次,用户的密码凭证需要先收集起来。
更多需要注意的地方可以看这篇博客。
一旦Exchange服务器和用户的密码凭证收集之后,下面的命令可以用来在网络上寻找邮箱。
1

绕过因子认证分享技术OWA(因子绕过微软收件箱用户)

Invoke-SelfSearch -Mailbox email@domain.com -ExchHostname mail.domain.com -Remote上面的命令运行之后,授权凭证窗口就会出现,要求输入目标用户的登陆凭证。
这里是输入内部邮箱地址还是输入域帐号取决于该组织的设定。
在用户凭证输入之后,MailSniper会尝试连接EWS的这个URL:https://mail.domain.com/EWS/Exchange.asmx。
并且在用户的收件箱搜索相关关键词内容(默认是密码,凭证,证书)。
我使用这种方法在设置了DUO双因子验证的账户上尝试攻击。
MailSniper可以成功绕过双因子验证并且搜索到相关邮件。
为了更深入证明这个不是DUO双因子验证的问题,BHIS公司设置了Office365并且利用微软自己的工具Azure Multi-Factor Autoentication(MFA)来保护用户从Office365登录到Outlook邮箱。
演示如下:我首先在网页端登录到测试用户的Office 365账户。
在输入了正确的账户密码之后,微软的MFA验证是必须的。
在这种情况下,我让他给我的手机发送一条短信验证码。
在MFA确认了验证码之后,测试用户账户可以查看Outlook.Office.com上面的收件箱。
使用先前描述的方法使用EWS绕过双因子验证仍然有效。
在MailSniper验证了outlook.office365.com密码之后,攻击者仍然可以绕过双因子验证来读取用户的收件箱。
建议我想最简单的解决方法就是废掉Exchange Web Services, 但这也会毁掉很多东西。
比如,Mac上的Outlook只能通过Exchange Web Service连接到Exchange,这种情况废掉EWS可能不是一个好办法。
任何客户端APP利用EWS也是这样的情况。
所以,短期来讲,限定OWA只能从内网访问,同时允许用户VPN访问。
对于某个用户帐户或整个团体手动限定EWS是可能的。
但是,要记得任何使用app的用户,通过EWS连接到Exchange的可能会连接失败。
结论总之,Outlook网页登录的双因子认证对于微软的Exchange来说,完全覆盖使用到其他认证协议是有点困难。
在这篇文章中,已经证明了EWS服务并没有被双因子验证所保护。
并且只需要知道用户的登录凭证就可以读取到用户的收件箱。
Exchange的其他服务,比如使用HTTP传输的MAPI,或者自动扫描发现。
我再次测试了第三方的双因子登录验证软件和微软的AWS,并且我猜想其他也会存在相同的问题。
漏洞发布时间表2016.9.28 东部时间下午1:51 –通过secure@microsoft.com,向微软报告了此漏洞。
2016.9.28 东部时间下午10:01 – 收到微软回复,他们已将此问题反馈给相关人员分析。
“ 你好,非常感谢您及时通知MSRC,我已将您的报告反馈给相关人员分析,会及时向您回复分析结果。
谢谢。

MSRC2016.10.3 东部时间上午11:15 – 发邮件询问进展2016.10.3 东部时间下午7:41 – 收到回复,他们已经开始审理此问题。
“非常感谢您的报告。
我已建立了案例35494,REDACTED是负责人,如有问题,您可以联系他。
同时,我们希望您能遵守我们的漏洞公布指引,不要将此漏洞向公众公布,直到用户可以保护他们的信息为止。
您可以在http://www.microsoft.com/technet/security/bulletin/policy.mspx浏览我们的公告确认政策,在http://www.microsoft.com/security/msrc/default.mspx查看我们的一般法律法规。
如果您在任何时间有任何问题或进一步的信息,请回复邮件。
谢谢MSRC2016.10.11 东部时间上午8:55 --发邮件询问进展2016.10.11 东部时间下午 4:07 – 收到回复,正在等待产品团队审核。
“您好:我们还在等待产品团队审核,如果有进一步的信息,我会及时通知您。
谢谢MSRC2016.10.21 东部时间下午3:37 --发邮件询问进展2016.10.24 东部时间下午4:46 – 收到回复无进展“您好:现在还没有任何进展,如果有进一步的信息,我会及时通知您。
谢谢MSRC2016.11.2 – 在Black Hills 信息安全处,公开此漏洞。

联系我们

在线咨询:点击这里给我发消息