Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
aad-sso-enum-brute-spray — SecureWorks 近期发现的 Azure Active Directory 密码暴力破解漏洞的 POC | Kitploit
工具/GitHubGitHub/treebuilder/aad-sso-enum-brute-spray
身份验证与授权侦察密码攻击信息收集渗透测试云安全
GitHubtreebuilder/aad-sso-enum-brute-spray

aad-sso-enum-brute-spray

SecureWorks 近期发现的 Azure Active Directory 密码暴力破解漏洞的 POC

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
查看仓库
193354年前Kitploit 审核通过

aad-sso-enum-brute-spray

SecureWorks 近期披露的 Azure Active Directory 密码暴力破解漏洞的概念验证(POC)

描述

此代码是最近披露的 Azure Active Directory 密码暴力破解漏洞的概念验证,该漏洞由 Secureworks 公布(Ars Technica 的这篇文章 比官方发布大约早一天,但内容几乎完全相同)。

理论上,这种方法允许攻击者对一个或多个 AAD 账户执行暴力破解或密码喷洒攻击,而不会引发账户锁定或产生日志数据,从而使攻击难以被察觉。

用法

基本用法很简单:

密码喷洒

root@kitploit:~
.\aad-sso-enum-brute-spray.ps1 USERNAME PASSWORD

以这种方式调用代码,你可以获得指定用户名和密码的结果。

通过利用 foreach,你可以轻松地将其用于密码喷洒:

root@kitploit:~
foreach($line in Get-Content .\all-m365-users.txt) {.\aad-sso-enum-brute-spray.ps1 $line Passw0rd! |Out-File -FilePath .\spray-results.txt -Append }

请注意,如果你想在 Linux 中处理结果文件,则需要将其从 UTF-16 转换为 UTF-8:

root@kitploit:~
iconv -f UTF16 -t UTF-8 spray-results.txt >new-spray-results.txt

用户枚举

如果你只对枚举感兴趣,只需像上面那样运行密码喷洒即可。任何返回值为“bad password”,或者任何不是“no user”的值,都意味着你找到了有效的用户名。

如果某个用户名返回“True”,则表示所提供的密码有效。

返回“locked”可能表示账户被锁定,或者 Smart Lockout 暂时阻止了与该账户的交互。

暴力破解

要利用此代码进行暴力破解,只需遍历密码字段而不是用户名字段:

root@kitploit:~
foreach($line in Get-Content .\passwords.txt) {.\aad-sso-enum-brute-spray.ps1 [email protected] $line |Out-File -FilePath .\brute-results.txt -Append }

找到有效用户名/密码组合后该怎么做

如果你发现一个或多个有效的用户名/密码组合,可以修改此代码以获取返回的 DesktopSSOToken。随后,可以使用 此方法 将 DesktopSSOToken 兑换为 OAuth2 访问令牌。

然后,该 OAuth2 访问令牌可用于各种 Azure、M365 和 O365 API 端点。

但是,你可能会在此阶段被 MFA 拦住。你最好的选择是利用非 MFA 访问方式,例如 Outlook Web Access 或 ActiveSync。Dafthack 的 MFASweep 在这方面很有帮助。

重要说明

如果你从同一 IP 地址过快访问 API 端点,Microsoft 的 Smart Lockout 功能会开始错误地声称账户被锁定。为了避免这个问题,我强烈建议使用 ustayready 的 fireprox。只需像这样更改 $url 变量:

root@kitploit:~
$url="https://xxxxxxx.execute-api.us-east-1.amazonaws.com/fireprox/"+$requestid

不过,如果你试图对特定账户的密码进行暴力破解,这种方法无法绕过 Smart Lockout。

致谢

此代码几乎全部借自 Dr. Nestori Syynimaa 出色的 AADInternals 项目。

下载工具