Exchange Autodiscover漏洞暴露10万Windows域凭证

时间:2022-06-01 20:45:10

Exchange Autodiscover漏洞暴露10万Windows域凭证

微软 Exchange Autodiscover设计和实现漏洞引发严重凭证泄露攻击,数十万Windows域凭证泄露。

Autodiscover是Microsoft Exchange用来自动配置outlook这类Exchange客户端应用的工具。研究人员发现 Exchange Autodiscover协议存在设计漏洞,会引发到Autodiscover域的web请求泄露。

在配置邮件客户端时,用户需要配置:

  • 用户名、密码;
  • 邮件或exchange服务器的hostname或IP地址。

在一些特殊情况下,还需要进行其他的配置。本文介绍基于POX XML协议的 Autodiscover实现。用户在outlook加入一个新的exchange账户后,用户会收到一个弹窗要求输入用户名和密码:

Exchange Autodiscover漏洞暴露10万Windows域凭证

Microsoft Outlook自动账号设置

用户输入信息后,outlook会使用 Autodiscover来配置客户端。如下所示:

Exchange Autodiscover漏洞暴露10万Windows域凭证

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的用户会收到所有无法达到原始域名的请求。

Exchange Autodiscover漏洞暴露10万Windows域凭证

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 基本认证的凭证信息。

Exchange Autodiscover漏洞暴露10万Windows域凭证

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日期间通过这种方式获取了大量的凭证信息:

Exchange Autodiscover漏洞暴露10万Windows域凭证

更多关于攻击的信息参见:https://www.guardicore.com/labs/autodiscovering-the-great-leak/

本文翻译自:https://www.guardicore.com/labs/autodiscovering-the-great-leak/

原文地址:https://www.4hou.com/posts/w7jr