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

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

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

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

工具目录

分类

查看所有分类
Loading categories
MFASweep — 一个用于检查多个Microsoft服务上是否启用MFA的工具。 | Kitploit
工具/GitHubGitHub/dafthack/mfasweep
侦察漏洞分析渗透测试云安全身份验证
GitHubdafthack/mfasweep

MFASweep

一个用于检查多个Microsoft服务上是否启用MFA的工具。

查看仓库
1.7k23034个月前Kitploit 审核通过

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

MFASweep

MFASweep 是一个 PowerShell 脚本,它使用提供的凭据尝试登录多种 Microsoft 服务,并尝试检测是否启用了 MFA。根据条件访问策略和其他多重身份验证设置的不同配置方式,某些协议可能会保留为单因素身份验证。该脚本还包含对 ADFS 配置的额外检查,如果检测到本地 ADFS 服务器,则可以尝试登录。

目前 MFASweep 能够登录到以下服务:

  • Microsoft Graph API
  • Azure Resource Manager API
  • Microsoft 365 Exchange Web Services
  • Microsoft 365 Web Portal,支持 7 种用户代理/设备类型(Windows、Linux、MacOS、Android、iPhone、Windows Phone、未知平台 via Nintendo Switch)
  • Microsoft 365 Active Sync
  • ADFS

警告:此脚本会使用提供的账户尝试登录 11 次(如果包括 ADFS 则为 12 次)。如果输入了错误的密码,可能会导致账户被锁定。

更多信息请参阅博客文章:Exploiting MFA Inconsistencies on Microsoft Services

MFASweep Example

Single Factor Access Results Example

用法

以下命令将使用提供的凭据尝试认证到 Microsoft Graph API、Azure Resource Manager API、Microsoft 365 Exchange Web Services、Microsoft 365 Web Portal(使用 7 种不同的用户代理)以及 Microsoft 365 Active Sync。如果任何认证方法成功,令牌和/或 cookie 将被写入 AccessTokens.json。(目前不记录 EWS、ActiveSync 和 ADFS 的 cookie 或令牌。)

root@kitploit:~
Invoke-MFASweep -Username [email protected] -Password Winter2026 -WriteTokens 

以下命令使用默认认证方法并同时检查 ADFS。

root@kitploit:~
Invoke-MFASweep -Username [email protected] -Password Winter2026 -Recon -IncludeADFS

注意

  • 脚本现在使用 Invoke-MFASweepWebRequest 包装器,以便在 Windows PowerShell 5.1 和 PowerShell 7+ 上都能干净运行。
  • Microsoft Graph API 和 Azure Resource Manager API 检查会明确检测 AADSTS53003 响应,并将条件访问阻止与一般认证失败分开报告。
  • “未知平台”网络检查通过 Invoke-M365WebPortalAuth -UAtype NintendoSwitch 使用 Nintendo Switch 用户代理字符串。

独立模块

每个独立模块也可以单独运行。

Microsoft Graph API

root@kitploit:~
Invoke-GraphAPIAuth -Username [email protected] -Password Winter2026 

Azure Resource Manager API

root@kitploit:~
Invoke-AzureManagementAPIAuth -Username [email protected] -Password Winter2026 

Microsoft 365 Exchange Web Services

root@kitploit:~
Invoke-EWSAuth -Username [email protected] -Password Winter2026 

Microsoft 365 Web Portal(Windows 用户代理)

root@kitploit:~
Invoke-M365WebPortalAuth -Username [email protected] -Password Winter2026 -UAtype Windows

Microsoft 365 Web Portal(iPhone 用户代理)

root@kitploit:~
Invoke-M365WebPortalAuth -Username [email protected] -Password Winter2026 -UAtype iPhone

Microsoft 365 Web Portal(未知平台 / Nintendo Switch 用户代理)

root@kitploit:~
Invoke-M365WebPortalAuth -Username [email protected] -Password Winter2026 -UAtype NintendoSwitch

Microsoft 365 Active Sync

root@kitploit:~
Invoke-O365ActiveSyncAuth -Username [email protected] -Password Winter2026 

ADFS

root@kitploit:~
Invoke-ADFSAuth -Username [email protected] -Password Winter2026

未知平台(条件访问策略绕过)

此模块测试未针对未知设备平台强制实施 MFA 的误配条件访问策略。它使用 Nintendo Switch 用户代理字符串,以便 Entra ID 将设备平台和浏览器报告为“未知”。

root@kitploit:~
Invoke-UnknownPlatformAuth -Username [email protected] -Password Winter2026 

在 ROPC 认证期间暴力枚举客户端 ID

Invoke-BruteClientIDs 函数会在 ROPC 认证期间遍历各种资源类型和客户端 ID,以查找不同客户端 ID 和资源组合的单因素访问。如果任何认证方法成功,令牌和/或 cookie 将被写入 AccessTokens.json。(目前不记录 EWS、ActiveSync 和 ADFS 的 cookie 或令牌。)

root@kitploit:~
Invoke-BruteClientIDs -Username [email protected] -Password Winter2026 -VerboseOut

默认情况下,Invoke-BruteClientIDs 模块使用最常用的前 10 个资源和前 50 个客户端 ID 列表。您可以使用 -FullResourceList 和 -FullClientIdList 标志来使用内置的更大列表(514 个客户端 ID 和 54 个资源)。

root@kitploit:~
Invoke-BruteClientIDs -Username [email protected] -Password Winter2026  -FullResourceList -FullClientIdList -VerboseOut
下载工具