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

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

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

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

工具目录

分类

查看所有分类
Loading categories
o365spray — 用户名字典枚举和密码喷洒工具,针对Microsoft O365。 | Kitploit
工具/GitHubGitHub/0xzdh/o365spray
密码攻击信息收集渗透测试云安全身份验证
GitHub0xzdh/o365spray

o365spray

用户名字典枚举和密码喷洒工具,针对Microsoft O365。

查看仓库
1.0k1211年前Kitploit 审核通过

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

o365spray

o365spray 是一款针对 Microsoft Office 365 (O365) 的用户名枚举和密码喷洒工具。此工具重新实现了由致谢中提及的人员研究和识别的一系列枚举和喷洒技术。

仅用于教育、授权和/或研究目的。

警告:Autologon、oAuth2 和 RST 用户枚举模块通过每个用户提交一次身份验证尝试来工作。如果在单次执行中将这些模块与密码喷洒一起运行,o365spray 会在执行密码喷洒之前自动重置锁定计时器——如果仅单独运行枚举,用户应了解每次身份验证尝试的次数和时间,并在执行任何密码喷洒之前手动重置锁定计时器。

目录

  • 用法
  • 模块
    • 验证
    • 枚举
    • 喷洒
  • FireProx URL
    • 枚举
    • 喷洒
  • 用户代理随机化
  • 致谢
  • 错误
  • 先前版本

用法

o365spray

验证域名是否使用 O365:
o365spray --validate --domain test.com

对指定域名执行用户名枚举:
o365spray --enum -U usernames.txt --domain test.com

对指定域名执行密码喷洒:
o365spray --spray -U usernames.txt -P passwords.txt --count 2 --lockout 5 --domain test.com

root@kitploit:~
usage: o365spray [flags]

o365spray | Microsoft O365 User Enumerator and Password Sprayer -- v3.0.4

选项:
  -h, --help            显示此帮助信息并退出

目标:
  -d DOMAIN, --domain DOMAIN
                        用于验证、用户枚举和/或密码喷洒的目标域名。

操作:
  --validate            仅运行域名验证。

  --enum                运行用户名枚举。

  --spray               运行密码喷洒。

凭据:
  -u USERNAME, --username USERNAME
                        用逗号分隔的用户名。

  -p PASSWORD, --password PASSWORD
                        用逗号分隔的密码。

  -U USERFILE, --userfile USERFILE
                        包含用户名列表的文件。

  -P PASSFILE, --passfile PASSFILE
                        包含密码列表的文件。

  --paired PAIRED       包含 username:password 格式凭据列表的文件。

密码喷洒配置:
  -c COUNT, --count COUNT
                        在重置锁定账户计时器之前,每个用户尝试的密码次数。
                        默认值:1

  -l LOCKOUT, --lockout LOCKOUT
                        锁定策略的重置时间(分钟)。
                        默认值:15 分钟

模块配置:
  --validate-module VALIDATE_MODULE
                        指定要运行的验证模块。
                        默认值:getuserrealm

  --enum-module ENUM_MODULE
                        指定要运行的枚举模块。
                        默认值:office

  --spray-module SPRAY_MODULE
                        指定要运行的密码喷洒模块。
                        默认值:oauth2

  --adfs-url ADFS_URL   目标域 ADFS 登录页面的 AuthURL,用于密码喷洒。

扫描配置:
  --sleep [-1, 0-120]   每 `N` 秒限制 HTTP 请求。可以通过传递值 `-1`(介于 1 秒到 2 分钟之间)来随机化。
                        默认值:0

  --jitter [0-100]      Jitter 按给定百分比(0-100)延长 --sleep 时期。
                        默认值:0

  --rate RATE           枚举和喷洒期间的并发连接(尝试)数。
                        默认值:10

  --poolsize POOLSIZE   ThreadPoolExecutor 的最大大小。
                        默认值:10000

  --safe SAFE           如果观察到 `N` 个锁定账户,则终止密码喷洒运行。
                        默认值:10

HTTP 配置:
  --useragents USERAGENTS
                        包含用于随机化的用户代理列表的文件。

  --timeout TIMEOUT     HTTP 请求超时时间(秒)。默认值:25

  --proxy PROXY         用于传递流量的 HTTP/S 代理
                        (例如 http://127.0.0.1:8080)。

  --proxy-url PROXY_URL
                        FireProx API URL。

输出配置:
  --output OUTPUT       结果和测试用例文件的输出目录。
                        默认值:当前目录

调试:
  -v, --version         打印工具版本。

  --debug               启用调试输出。

模块

验证

  • getuserrealm(默认)

枚举

  • autologon
  • oauth2(默认)
  • office
  • onedrive
  • rst

onedrive 模块依赖于目标用户先前已登录 OneDrive。如果有效用户尚未使用 OneDrive,其账户将显示为“无效”。

喷洒

  • activesync
  • adfs
  • autodiscover
  • autologon
  • oauth2(默认)
  • reporting
  • rst

oAuth2 模块可用于联合喷洒,但应注意,这仅在目标租户已启用密码同步时才有效——否则身份验证将始终失败。默认机制是在识别到联合时默认使用“adfs”模块。

FireProx 基础 URL

Microsoft 已使执行密码喷洒变得更加困难,因此使用 FireProx 等工具有助于绕过基于 IP 地址的频率限制。

要配合 o365spray 使用 FireProx,请根据下面的基础 URL 表为给定的 o365spray 模块创建一个代理 URL。然后可以通过 --proxy-url 传入该代理 URL。

注意:请确保使用与创建 FireProx URL 时使用的基础 URL 相对应的 --enum-module 或 --spray-module 标志。

枚举

OneDrive URL 中的“tenant”值是通过 --domain 标志提供的域名值。

喷洒

用户代理随机化

现在支持用户代理随机化,可以通过提供用户代理文件给 --useragents 标志来实现。o365spray 包含一个示例文件,其中包含 4,800 多个代理,位于 resc/user-agents.txt。

示例数据集中的代理收集自以下来源:

  • https://github.com/sqlmapproject/sqlmap/blob/master/data/txt/user-agents.txt
  • https://www.useragentstring.com/pages/useragentstring.php?name=

Omnispray

o365spray 框架已移植到一个新工具:Omnispray。该工具旨在将原始枚举和喷洒框架模块化,以实现通用目标而非仅限 O365。Omnispray 包含枚举和喷洒的模板模块,可以修改并用于任何目标。

致谢

错误

如果遇到任何错误/问题,请提交包含详细信息的 Issue(或带有建议修复的 Pull Request)。有关使用先前版本的更多信息,请参阅下面的部分。

使用先前版本

如果遇到问题,请尝试在代码重写之前检出先前版本:

root@kitploit:~
# v1.3.7
git checkout e235abdcebad61dbd2cde80974aca21ddb188704

# v2.0.4
git checkout a585432f269a8f527d61f064822bb08880c887ef
下载工具
模块基础 URL
autodiscoverhttps://outlook.office365.com/
autologonhttps://autologon.microsoftazuread-sso.com/
oauth2https://login.microsoftonline.com/
officehttps://login.microsoftonline.com/
rsthttps://login.microsoftonline.com/
onedrivehttps://<tenant>-my.sharepoint.com/
模块基础 URL
activesynchttps://outlook.office365.com/
adfs当前尚未实现
autodiscoverhttps://autodiscover-s.outlook.com/
autologonhttps://autologon.microsoftazuread-sso.com/
oauth2https://login.microsoftonline.com/
reportinghttps://reports.office365.com/
rsthttps://login.microsoftonline.com/
作者工具/研究链接
gremwello365enum:通过 office.com 进行无认证的用户枚举o365enum
grimhackeroffice365userenum:ActiveSync 用户枚举研究与发现。office365userenum / 博文
RaikiaUhOh365:通过 Autodiscover 进行无认证的用户枚举。UhOh365
dafthackMSOLSpray:通过 MSOL 进行密码喷洒MSOLSpray
byt3bl33d3rMSOLSpray:Python 重新实现Gist
nyxgeekonedrive_user_enum:OneDrive 用户枚举onedrive_user_enum / 博文
Mr-Un1k0d3radfs-spray:ADFS 密码喷洒adfs-spray
Nestori SyynimaaAADInternals:oAuth2 和 autologon 模块AADInternals
Daniel Chronlund / xFreed0mInvoke-AzureAdPasswordSprayAttack / ADFSpray:Office 365 报告 API 密码喷洒Invoke-AzureAdPasswordSprayAttack / ADFSpray
Optiv (多位作者)Go365:RST 用户枚举和密码喷洒模块Go365
byt3bl33d3rSprayingToolkit:代码参考SprayingToolkit
sensepostruler:代码参考Ruler