msInvader是一款针对M365和Azure环境的威胁模拟与研究工具,该工具专为蓝队研究人员打造,旨在模拟 M365 和 Azure 环境中的威胁技术。其目的是生成攻击遥测,帮助团队构建、测试和增强检测分析。
为了促进真实的模拟,msInvader 实现了多种反映不同攻击场景的身份验证机制。它支持两种 OAuth 流来模拟受损用户场景:资源所有者密码流和设备授权流。这些方法允许 msInvader 获取模拟用户凭据受损或中间人 (AiTM) 攻击成功的令牌。此外,msInvader 可以通过支持客户端凭据 OAuth 流来复制涉及受损服务主体的条件。
经过身份验证后,msInvader 能够通过三种不同的方法与 Exchange Online 进行交互:Graph API、Exchange Web 服务 (EWS) 和 Exchange Online PowerShell 模块使用的 REST API。这种支持使 msInvader 能够全面模拟攻击技术,为蓝队提供模拟多种场景的灵活性。
技术 | Graph | EWS | REST |
read_email | X | X | |
search_mailbox | X | ||
search_onedrive | X | ||
create_rule | X | X | X |
enable_email_forwarding | X | ||
add_folder_permission | X | X | |
add_mailbox_delegation | X | ||
run_compliance_search | X | ||
create_mailflow | X |
Python 3
由于该工具基于Python 3开发,因此我们首先需要在本地设备上安装并配置好最新版本的Python 3环境。
接下来,广大研究人员可以直接使用下列命令将该项目源码克隆至本地:
git clone https://github.com/mvelazc0/msInvader.git
自定义配置文件
打开位于 msInvader 目录中的config.yaml文件,然后使用Azure/M365 凭据配置该文件中的authentication部分:
authentication:
# Authentication details go here
techniques:
# Techniques and their parameters are defined here
参考样例如下:
authentication:
tenant_id: "your-tenant-id"
client_id: "your-client-id"
client_secret: "your-client-secret"
authentication:
tenant_id: "your-tenant-id"
username: "[email protected]"
password: "password"
然后启用并配置所需的技术,每种技术都需要特定的参数,下面给出的是配置样例:
techniques:
technique: "read_email"
enabled: True
parameters:
auth_method: "client_credentials"
access_method: "graph"
mailbox: "[email protected]"
limit: 10
technique: "create_rule"
enabled: False
parameters:
auth_method: "resource_owner"
access_method: "ews"
mailbox: "[email protected]"
rule_name: "Forward All Emails"
forward_to: "[email protected]"
最后,使用刚才配置好的配置文件运行msInvader即可:
python msInvader.py -c config.yaml
视频演示:
https://www.youtube.com/watch?v=a6iUrufyXRE
本项目的开发与发布遵循Apache-2.0开源许可协议。
msInvader:
https://github.com/mvelazc0/msInvader
原文始发于微信公众号(FreeBuf):msInvader:一款针对M365和Azure环境的威胁模拟与研究工具
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论