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

news/2024/5/1 13:18:57/文章来源:https://blog.csdn.net/FreeBuf_/article/details/137474530

关于MSOLSpray

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

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

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

工具安装&配置

Python版本

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

pip3 install requests

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

git clone https://github.com/MartinIngesen/MSOLSpray.git

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

cd MSOLSpraypython3 MSOLSpray.py

PowerShell版本

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

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

工具使用

Python版本

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

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 FILEUserList目标用户列表文件,每行一个用户名,格式为“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对每个账号执行身份验证测试:

python3 MSOLSpray.py --userlist ./userlist.txt --password Winter2020

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

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命令行终端,并运行下列命令:

Import-Module MSOLSpray.ps1Invoke-MSOLSpray -UserList .\userlist.txt -Password Winter2020Invoke-MSOLSpray参数选项UserList  - UserList目标用户列表文件,每行一个用户名,格式为“user@domain.com";Password  - 用于执行密码喷洒的单个密码;OutFile   - 输出有效结果的文件;Force     - 当检测到多个帐户锁定时,强制继续执行密码喷射操作;URL       - 设置目标URL地址,如果指向的是一个API网关URL,则使用FireProx之类的代理工具随机轮转切换源IP地址;

许可证协议

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

项目地址

纯Python版MSOLSpray:【GitHub传送门】

纯PowerShell版MSOLSpray:【GitHub传送门】

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_1046174.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux学习-网络UDP

网络 数据传输,数据共享 网络协议模型 OSI协议模型 应用层 实际发送的数据 表示层 发送的数据是否加密 会话层 是否建立会话连接 传输层 数据传输的方式(数据报、流式&#…

企业计算机服务器中了locked勒索病毒怎么办,locked勒索病毒解密流程步骤

网络技术的不断发展为企业的生产运营提供了极大便利,也让企业的生产效率大大提高,但网络是一把双刃剑,给给企业的数据安全问题带来严重威胁。近期,云天数据恢复中心接到浙江某商贸公司的求助,企业计算机服务器遭到了lo…

网络驱动器设备:ISCSI服务器

文章目录 使用ISCSI服务部署网络存储ISCSI技术介绍创建RAID磁盘整列配置ISCSI服务端配置Windows端配置Linux客户端iSCSI服务器CHAP单向认证配置Linux端具体步骤Windows端具体步骤 使用ISCSI服务部署网络存储 主机名IPISCSI服务端192.168.200.10ISCSI客户端192.168.200.20Windo…

UE5、CesiumForUnreal实现加载建筑轮廓GeoJson数据生成白模功能

1.实现目标 在UE5.3中,通过加载本地建筑边界轮廓面GeoJson数据,获取底面轮廓和楼高数据,拉伸生成白模,并支持点选高亮。为防止阻塞Game线程,使用了异步任务进行优化,GIF动图如下所示: 其中建筑数量:128871,顶点索引数量:6695748,三角面数量:2231916,顶点数量:165…

Linux nsenter命令全面解析

Linux nsenter命令是一个强大的工具🛠️,用于进入到已存在的命名空间(Namespace)中执行命令。由于Linux的命名空间技术是构建容器技术的基础,nsenter因此成为了容器管理和调试中不可或缺的工具🐳。本文将从…

【开源语音项目OpenVoice](一)——实操演示

目录 一、前菜 1、Python选择 2、pip源切换 3、ffmpeg配置问题 4、VSCode添加Jupyter扩展 二、配置虚拟环境 1、下载源码 方法一 直接下载源码压缩包 方法二 使用git 1)git加入鼠标右键 2)git clone源码 2、VSCode出场 1)创建pyth…

vue实现验证码验证登录

先看效果&#xff1a; 代码如下&#xff1a; <template><div class"container"><div style"width: 400px; padding: 30px; background-color: white; border-radius: 5px;"><div style"text-align: center; font-size: 20px; m…

鲨鱼恐怖的第六感

除了视觉、嗅觉、听觉、味觉、触觉这五种感官&#xff0c; 鲨鱼还有敏锐的「第六感」&#xff1a;电觉&#xff0c;可以侦测微弱电场&#xff0c;捕捉猎物。 恐怖的背鳍划破水面&#xff0c;直逼我们而来─一头三公尺长的硕大青鲨&#xff0c;正如鱼雷般朝血腥气味方向游去。…

基于SSM的周边乡村旅游小程序

系统实现 游客注册通过注册窗口&#xff0c;进行在线填写自己的账号、密码、姓名、年龄、手机、邮箱等&#xff0c;信息编辑完成后核对信息无误后进行选择注册&#xff0c;系统核对游客所输入的账号信息是否准确&#xff0c;核对信息准确无误后系统进入到操作界面。 游客登录通…

Lesson1--数据结构前言

1. 什么是数据结构&#xff1f; 2. 什么是算法&#xff1f; 3. 数据结构和算法的重要性 4. 如何学好数据结构和算法 5. 数据结构和算法书籍及资料推荐 1. 什么是数据结构&#xff1f; 数据结构(Data Structure) 是计算机存储、组织数据的方式&#xff0c;指相互之间存在一…

宁波银行交出2023年成绩单:高成长高质量,优质服务夯实金字招牌

撰稿 |多客 来源 | 贝多财经 4月9日&#xff0c;宁波银行&#xff08;SZ:002142&#xff09;交出了2023年的业绩答卷。透过财报不难发现&#xff0c;该行在业绩表现、资产质量、创新趋势、风控能力等方面均展现出了强韧的成长性&#xff0c;无愧城商行“优等生”之名。 进入2…

Android Studio学习15——多页面情况下再看Activity生命周期

按返回键退出APP时&#xff1a; 走正常页面的退出流程&#xff1a;onPause–>onStop–>onDestroy(会Destroy,因为它从任务栈中退出了) 再点击图标回来时&#xff1a; 走正常页面的创建流程&#xff1a;onCreate–>onStart–>onResume 按Home键退出App时&#xff1a…

鸿蒙实战开发-如何实现选择并查看文档与媒体文件

介绍 应用使用ohos.file.picker、ohos.multimedia.mediaLibrary、ohos.file.fs 等接口&#xff0c;实现了picker拉起文档编辑保存、拉起系统相册图片查看、拉起视频并播放的功能。 效果预览 使用说明&#xff1a; 在首页&#xff0c;应用展示出最近打开过的文档信息&#xf…

算法打卡day29

今日任务&#xff1a; 1&#xff09;1005.K次取反后最大化的数组和 2&#xff09;134.加油站 3&#xff09;135.分发糖果 1005.K次取反后最大化的数组和 题目链接&#xff1a;1005. K 次取反后最大化的数组和 - 力扣&#xff08;LeetCode&#xff09; 给定一个整数数组 A&…

MySQL分库分表的方式有哪些

目录 一、为什么要分库分表 二、什么是分库分表 三、分库分表的几种方式 1.垂直拆分 2. 水平拆分 四、分库分表带来的问题 五、分库分表技术如何选型 一、为什么要分库分表 如果一个网站业务快速发展&#xff0c;那这个网站流量也会增加&#xff0c;数据的压力也会随之而…

使用pytorch构建有监督的条件GAN(conditional GAN)网络模型

本文为此系列的第四篇conditional GAN&#xff0c;上一篇为WGAN-GP。文中在无监督的基础上重点讲解作为有监督对比无监督的差异&#xff0c;若有不懂的无监督知识点可以看本系列第一篇。 原理 有条件与无条件 如图投进硬币随机得到一个乒乓球的例子可以看成是一个无监督的GAN&…

Harmony鸿蒙南向驱动开发-UART

UART指异步收发传输器&#xff08;Universal Asynchronous Receiver/Transmitter&#xff09;&#xff0c;是通用串行数据总线&#xff0c;用于异步通信。该总线双向通信&#xff0c;可以实现全双工传输。 两个UART设备的连接示意图如下&#xff0c;UART与其他模块一般用2线&a…

Golang快速入门教程(一)

目录 一、环境搭建 1.windows安装 2.linux安装 3.开发工具 二、变量定义与输入输出 1.变量定义 2.全局变量与局部变量 3.定义多个变量 4.常量定义 5.命名规范 6.输出 7.输入 三、基本数据类型 1.整数型 2.浮点型 3.字符型 4.字符串类型 转义字符 多行字符…

HWOD:投票统计

一、知识点 1、单词 候选人的英文是Candidate 投票的英文是vote 投票人的英文是voter 2、for循环 如果在for循环内将i置为n&#xff0c;结束该层循环后&#xff0c;for循环会先给i加1,然后再去判读i是否小于n&#xff0c;所以for循环结束后&#xff0c;i的值为n1 3、字符…

idm线程越多越好吗 idm线程数多少合适 IDM百度云下载 IDM下载器如何修改线程数

IDM&#xff08;Internet Download Manager&#xff09;是一款流行的网络下载器&#xff0c;它支持多线程下载&#xff0c;这意味着它可以同时建立多个连接来下载文件的不同部分&#xff0c;从而提高下载速度。我们在使用IDM的时候总是有很多疑问&#xff0c;今天我们学习IDM线…