HVV将至,正好说下通过 OneDrive 进行用户枚举的主题。简而言之,OneDrive 可能是进行用户枚举的最优解之一,因为:
-
不需要尝试登录
-
完全静音(公司端看不到请求)
-
没有速率限制
如果hvv有发现目标使用了 OneDrive ,那么这是一个完美的枚举方法。
ONEDRIVE 枚举概述
OneDrive 是 SharePoint 的一部分。它专为个人文件存储而设计,并直接链接到 Azure/M365 帐户。每当用户登录各种 Microsoft 服务(例如 Excel 或 Word)时,OneDrive 就会被激活,并创建一个包含用户电子邮件地址的个人 URL。更准确地说,这个个人 URL 实际上是帐户的 UPN,即用户主体名称。
由于此个人 URL 直接与用户的帐户相关联,因此只需查找特定格式的 Web 目录即可枚举用户,类似于使用 DirBuster/dirb。
下图显示了各种服务以及每个服务是否会激活 OneDrive。
实际上,由 有大量触发器会创建 OneDrive URL,所以任何实际使用过 Azure/M365 帐户的人都会有一个 OneDrive URL。
激活 OneDrive 后,将创建与该用户关联的唯一 URL。URL 的格式如下:
https://<tenant>-my.sharepoint.com/personal/<UserPrincipalName>/_layouts/15/onedrive.aspx
如下图,可以在其中看到租户名称是“acmecomputercompany”,用户主体名称是“ [email protected] ”的变形,因为当 UPN 转换为 OneDrive URL 时,句点和符号将被删除并替换为下划线 “_” 字符。
因此,通过这种方式,发出 Web 请求并识别用户名是否有效(或者更确切地说,是否存在至少登录过其帐户一次的用户)是很简单的。
而且此枚举无法检测到,因为它是对 Microsoft 服务器的简单 HTTP HEAD 请求。从未尝试过任何身份验证。
注意:由于 OneDrive 枚举只能枚举具有许可证的帐户,因此某些组织的结果可能会低于标准。如果他们将 Microsoft 365 许可证限制给特定部门或不提供这些许可证,枚举覆盖范围将受到影响。例如百货商店销售人员和收银员或员工不使用计算机的非技术工作。但是,这也意味着您正在使用 OneDrive Enum 识别实时的实际用户 – 可能有权访问 Azure 资源的用户。
识别 AZURE 租户名称
为了成功进行 OneDrive 枚举,您需要知道 Azure 租户名称。Azure 租户名称是与 Azure 租户关联的简称。
很多时候,组织的租户名称会与域名匹配。例如,“microsoft.com”有一个关联租户“microsoft”。但事实往往并非如此。有时它是一个替代名称,或者是组织的法定全名的缩写。
长期以来,我一直在寻找一种直接识别Azure租户名称的方法。如果不知道租户名称或无法查找它,您很容易陷入 OneDrive 枚举的死胡同。
我搜索后发现,@DrAzureAD已经发现了这样一种方法,并编写了工具 AADInternals。随着 TREVORspray 工具的发布,更优质的方式出现了(@blacklanternsecurity)。
https://github.com/Gerenios/AADInternals
https://github.com/blacklanternsecurity/TREVORspray
编写ONEDRIVE_ENUM 工具
我发布了 ondrive_enum.py 脚本的更新版本,github地址如下:
https://github.com/nyxgeek/onedrive_user_enum
功能:
-
本地数据库 – 记录有效帐户、之前的枚举运行记录
-
自动查找 – 自动租户查找,感谢 Dr. Nestori (@DrAzureAD) 和 TREVORspray (@thetechr0mancer)
-
读取目录——读入目录下的所有文件;对于多个相似的文件很有用(例如,“john.smith”或“jsmith”格式的用户列表)
-
附加 – 轻松将数字或单词附加到用户名(“jsmith1”、“jsmith2”等)
-
Skip-Tried – 重复数据删除:检查运行日志并确保您仅针对特定域/租户组合运行新用户名
-
Kill-After – 如果没有用户名被识别为“x”次尝试,则取消用户列表
注意,要创建 OneDrive URL,我们需要知道租户名称和域名。如果仅向该工具提供了一个域,那么默认尝试使用 AADInternals/TREVORspray 中的查找方法自动查找关联的租户。
以下是针对 Microsoft.com 的测试例子:
防御方式
据我所知,暂时无解,甚至没有办法检测到这种攻击。Microsoft 不认为用户枚举是漏洞。唯一的选择是禁用 OneDrive 个人网站。
原文始发于微信公众号(军机故阁):One Drive 用户名无限无声爆破