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

关于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.mzph.cn/news/798841.shtml

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

相关文章

智慧园区革新之路:山海鲸可视化技术引领新变革

随着科技的飞速发展,智慧园区已成为城市现代化建设的重要组成部分。山海鲸可视化智慧园区解决方案,作为业界领先的数字化革新方案,正以其独特的技术优势和丰富的应用场景,引领着智慧园区建设的新潮流。 本文将带大家一起了解一下…

解决 macOS 系统向日葵远程控制鼠标、键盘无法点击的问题

解决 macOS 系统向日葵远程控制鼠标\键盘无法点击的问题 1、首先正常配置,在系统偏好设置 - 安全性与隐私内,将屏幕录制、文件和文件夹、完全的磁盘访问权限、辅助功能全部都加入向日葵客户端 2、通过打开的文件访达,使用command shift G…

(2024,Attention-Mamba,MoE 替换 MLP)Jamba:混合 Transformer-Mamba 语言模型

Jamba: A Hybrid Transformer-Mamba Language Model 公和众和号:EDPJ(进 Q 交流群:922230617 或加 VX:CV_EDPJ 进 V 交流群) 目录 0. 摘要 1. 简介 2. 模型架构 3. 收获的好处 3.1 单个 80GB GPU 的 Jamba 实现 …

如何在 iPhone 15/14/13/12/11/XS/XR 上恢复误删除的短信?

无论你的iPhone功能多么强大,数据丢失的情况仍然时有发生,所以当你发现一些重要的消息有一天丢失了。别担心,让自己冷静下来,然后按照本页的方法轻松从 iPhone 中检索已删除的短信。 在这里,您需要奇客数据恢复iPhone…

【AI】ubuntu 22.04 本地搭建Qwen-VL 支持图片识别的大语言模型 AI视觉

下载源代码 yeqiangyeqiang-MS-7B23:~/Downloads/src$ git clone https://gh-proxy.com/https://github.com/QwenLM/Qwen-VL 正克隆到 Qwen-VL... remote: Enumerating objects: 584, done. remote: Counting objects: 100% (305/305), done. remote: Compressing objects: 10…

代码+视频,手动绘制logistic回归预测模型校准曲线(Calibration curve)(2)

校准曲线图表示的是预测值和实际值的差距,作为预测模型的重要部分,目前很多函数能绘制校准曲线。 一般分为两种,一种是通过Hosmer-Lemeshow检验,把P值分为10等分,求出每等分的预测值和实际值的差距 另外一种是calibrat…

JetBrains IDE 2024.1 发布 - 开发者工具

JetBrains IDE 2024.1 (macOS, Linux, Windows) - 开发者工具 CLion, DataGrip, DataSpell, Fleet, GoLand, IntelliJ IDEA, PhpStorm, PyCharm, Rider, RubyMine, WebStorm 请访问原文链接:JetBrains IDE 2024.1 (macOS, Linux, Windows) - 开发者工具&#xff0…

在线免费图像处理

功能 尺寸修改(自定义和内置常用的照片尺寸)图像压缩(比较好的情况最高可以压缩 10 倍, 如果是无损压缩可以压缩 5 倍左右,参数范围 50~70 左右)图像方向修改图像格式修改修改后的效果支持实时反馈, 并且支持点击图像预览,同时保留历史修改图片(在预览中可以查看) 入口 图片…

嵌入式学习49-单片机2

指令周期 1M 机器周期 12M (晶体震荡器产生) 中断两种方式 …

Java常用API_正则表达式_检验字符串是否满足规则——基础使用方法及综合练习

正则表达式可以校验字符串是否满足一定的规则,并用来校验数据格式的合法性。 简单举例: 校验一个qq号是否符合要求 要求:6位到20位之内,不能以0开头,必须全是数字 代码演示: public class Test1 {public…

【代码随想录】哈希表

文章目录 242.有效的字母异位词349. 两个数组的交集202. 快乐数1. 两数之和454. 四数相加 II383. 赎金信15. 三数之和18. 四数之和 242.有效的字母异位词 class Solution {public boolean isAnagram(String s, String t) {if(snull || tnull || s.length()!t.length()){return …

机器学习——模型融合:平均法

机器学习——模型融合:平均法 在机器学习领域,模型融合是一种通过结合多个基本模型的预测结果来提高整体模型性能的技术。模型融合技术通常能够降低预测的方差,提高模型的鲁棒性,并在一定程度上提高预测的准确性。本文将重点介绍…

Django项目定时任务django-crontab

首先定义一个定时任务函数tasks.py(见文章末尾示例),编写函数,然后在setting.py中配置定时任务 1、首先安装django-crontab pip install django-crontab 2、在setting.py中添加应用 (在所有自定义注册app之上) INSTALLED_APPS …

基于SpringBoot的“汽车租赁系统”的设计与实现(源码+数据库+文档+PPT)

基于SpringBoot的“汽车租赁系统”的设计与实现(源码数据库文档PPT) 开发语言:Java 数据库:MySQL 技术:SpringBoot 工具:IDEA/Ecilpse、Navicat、Maven 系统展示 系统功能结构图 管理员登录界面图 管理员功能界面…

吴恩达2022机器学习专项课程(一) 第二周课程实验:多元线性回归(Lab_02)

1.训练集 使用Numpy数组存储数据集。 2.打印数组 打印两个数组的形状和数据。 3.初始化w,b 为了演示,w,b预设出接近最优解的值。w是一个一维数组,w个数对应特征个数。 4.非向量化计算多元线性回归函数 使用for循环&…

【pycharm报错】rror: Microsoft Visual C++ 14.0 or greater is required.

一、报错 二、下载vs 路径:https://visualstudio.microsoft.com/zh-hans/visual-cpp-build-tools/ 三、安装 四、安装成功并启动 重新安装chromadb成功

springCloud-LoadBalancer负载均衡微服务负载均衡器LoadBalancer

2020年前SpringCloud是采用Ribbon作为负载均衡实现,但是在2020后采用了LoadBalancer替代 LoadBalancer默认提供了两种负载均衡策略(只能通过配置类来修改负载均衡策略) 1.RandomLoadBalancer-随机分配策略 2.RoundRobinLoadBalancer-轮询分配…

Linux IO的奥秘:深入探索数据流动的魔法

Linux I/O(输入/输出)系统是其核心功能之一,负责处理数据在系统内部及与外界之间的流动。为了优化这一流程,Linux进行了一系列努力和抽象化,以提高效率、灵活性和易用性。🚀 1. 统一的设备模型 Linux将所…

鸿蒙ArkTS开始实例:【canvas实现签名板功能】

使用ArkTS中的canvas实现签名板的功能,canvas画布大家都很熟悉,我们会用它经常实现一些画板或者图表、表格之类的功能。canvas签名板是我在开发APP过程中实现的一个功能,开发过程中也是遇到比较多的问题。我会按照以下几点来讲解开发整个过程…

Qt 4.7作业

1、自由发挥应用场景实现一个登录窗口界面。 【可以是QQ登录界面、也可以是自己发挥的登录界面】 要求:尽量每行代码都有注释 #include "mywidget.h"MyWidget::MyWidget(QWidget *parent): QWidget(parent) {//设置窗口标题this->setWindowTitle(&q…