微软 Exchange Autodiscover设计和实现漏洞引发严重凭证泄露攻击,数十万Windows域凭证泄露。
Autodiscover是Microsoft Exchange用来自动配置outlook这类Exchange客户端应用的工具。研究人员发现 Exchange Autodiscover协议存在设计漏洞,会引发到Autodiscover域的web请求泄露。
在配置邮件客户端时,用户需要配置:
- 用户名、密码;
- 邮件或exchange服务器的hostname或IP地址。
在一些特殊情况下,还需要进行其他的配置。本文介绍基于POX XML协议的 Autodiscover实现。用户在outlook加入一个新的exchange账户后,用户会收到一个弹窗要求输入用户名和密码:
Microsoft Outlook自动账号设置
用户输入信息后,outlook会使用 Autodiscover来配置客户端。如下所示:
Microsoft Outlook自动账号设置过程
在后台Autodiscover工作过程中:
(1) 客户端会分析用户输入的邮件地址——amit@example.com;
(2) 客户端会尝试基于用户的邮件地址来构造Autodiscover URL:
- https://Autodiscover.example.com/Autodiscover/Autodiscover.xml
- http://Autodiscover.example.com/Autodiscover/Autodiscover.xml
- https://example.com/Autodiscover/Autodiscover.xml
- http://example.com/Autodiscover/Autodiscover.xml
如果以上URL都没有回应,Autodiscover就会开始back-off过程。Back-off机制是泄露漏洞的关键,因为它会尝试解析域名的Autodiscover 部分,也就是说下一个尝试构造的URL是
http://Autodiscover.com/Autodiscover/Autodiscover.xml。即拥有Autodiscover.com的用户会收到所有无法达到原始域名的请求。
Autodiscover "back-off"过程
滥用泄露
为分析 Autodiscover泄露场景的可行性,研究人员购买了以下域名:
- Autodiscover.com.br – Brazil
- Autodiscover.com.cn – China
- Autodiscover.com.co – Columbia
- Autodiscover.es – Spain
- Autodiscover.fr – France
- Autodiscover.in – India
- Autodiscover.it – Italy
- Autodiscover.sg – Singapore
- Autodiscover.uk – United Kingdom
- Autodiscover.xyz
- Autodiscover.online
随后将这些域名分配给一个web服务器,并等待不同Autodiscover终端的web 请求。随后,研究人员收到了大量来自不同域名、IP地址和客户端的请求。其中部分请求相对路径/Autodiscover/Autodiscover.xml的authorization header中含有HTTP 基本认证的凭证信息。
HTTP GET请求示例
从日志信息可以看出,hostname是Autodiscover客户端尝试认证的域名,还包括了认证使用的用户名和密码:
- 2021–05–18 03:30:45 W3SVC1 instance-2 10.142.0.4 GET /Autodiscover/Autodiscover.xml – 80 – HTTP/1.1 Microsoft+Office/16.0+(Windows+NT+10.0;+Microsoft+Outlook+16.0.13901;+Pro) – -404 0 2 1383 301 265
- 2021–05–18 03:30:52 W3SVC1 instance-2 10.142.0.4 GET /Autodiscover/Autodiscover.xml – 80 – HTTP/1.1 Microsoft+Office/16.0+(Windows+NT+10.0;+Microsoft+Outlook+16.0.13901;+Pro) – –404 0 2 1383 301 296
- 2021–05–18 03:30:55 W3SVC1 instance-2 10.142.0.4 GET /Autodiscover/Autodiscover.xml – 80 – HTTP/1.1 Microsoft+Office/16.0+(Windows+NT+10.0;+Microsoft+Outlook+16.0.13901;+Pro) – –404 0 2 1383 296 328
- 2021–05–18 03:31:19 W3SVC1 instance-2 10.142.0.4 GET /Autodiscover/Autodiscover.xml – 80 – HTTP/1.1 Microsoft+Office/16.0+(Windows+NT+10.0;+Microsoft+Outlook+16.0.13901;+Pro) – –404 0 2 1383 306 234
有趣的是客户端在发送认证的请求前并不会检查资源是否存在。
研究人员在2021年4月16日-2021年8月25日期间通过这种方式获取了大量的凭证信息:
更多关于攻击的信息参见:https://www.guardicore.com/labs/autodiscovering-the-great-leak/
本文翻译自:https://www.guardicore.com/labs/autodiscovering-the-great-leak/