M365Pwned - 基于 Graph API 的微软 365 红队图形化攻击工具包发布

代号为 OtterHacker 的红队研究人员公开发布了 M365Pwned,这是一套 WinForms 图形界面工具,专为通过应用级 OAuth 令牌(无需用户交互)枚举、搜索和窃取 Microsoft 365 环境数据而设计。

工具架构与认证机制

该工具包完全基于 PowerShell 5.1 构建,利用 Microsoft Graph API,为针对企业 M365 租户的渗透测试人员和攻击模拟操作人员提供了强大的入侵后攻击能力。

工具包包含两个组件:

  • MailPwned-GUI.ps1:针对 Exchange Online 和 Outlook
  • SharePwned-GUI.ps1:针对 SharePoint 和 OneDrive

两款工具均通过注册的 Azure AD 应用程序运行(需管理员同意的应用程序权限),支持三种认证方式:客户端密钥、证书指纹和原始访问令牌(pass-the-token)。

工具 目标 功能
MailPwned-GUI.ps1 Exchange Online/Outlook 浏览邮箱、搜索邮件、下载附件、发送仿冒邮件
SharePwned-GUI.ps1 SharePoint/OneDrive 浏览站点和驱动器、搜索文件、预览和下载文档

MailPwned 核心功能

MailPwned 提供全功能 WinForms 界面,支持大规模操作 Exchange Online。认证后,操作人员可以:

  • 使用User.Read.All枚举所有租户邮箱
  • 在所有邮箱中执行全局关键词搜索
  • 阅读完整 HTML 渲染的电子邮件(支持内联图片预览,无需外部请求)

该工具原生支持批量附件下载、仿冒攻击邮件撰写和 CSV 导出功能,并突破了 Graph API 的关键限制:使用message实体类型的/v1.0/search/query接口不支持应用程序权限。

技术实现与红队应用场景

MailPwned 通过逐用户邮箱枚举和限定范围的单邮箱搜索技术实现突破,这种技术不仅功能完善,当从 OSINT 预加载 UPN 列表时还能产生更低的审计足迹。

所需关键权限包括:

  • Mail.Read
  • User.Read.All
  • (可选)Mail.ReadWrite(用于发送和删除操作)

作者强调的红队应用场景包括:

  • 凭证收集(搜索_password_、VPN、_secret_等关键词)
  • 通过线程劫持进行横向钓鱼
  • HR 和投资者情报收集
  • 批量附件窃取

SharePwned 文件存储渗透能力

SharePwned 采用与 MailPwned 类似的方法针对文件存储环境。操作人员可以:

  • 枚举租户内所有 SharePoint 站点
  • 浏览文档库
  • 通过/v1.0/search/query接口(使用driveItem实体)执行全文文件搜索

Sites.Read.All不可用时,工具会回退到使用Files.Read.All权限执行单驱动器搜索模式。

权限 用途
Sites.Read.All 枚举所有 SharePoint 站点和驱动器
Files.Read.All 从任意驱动器读取和下载文件
User.Read.All (可选)按用户枚举 OneDrive 驱动器

文件预览支持内联文本提取,工具还包含扩展名感知图标和实时彩色编码的 API 日志面板用于操作调试。

多区域支持与安全防护建议

两款工具均支持通过Prefer: exchange.region=<region>标头选择欧洲、北美、亚太等主权云和 GCC 云区域,确保非默认租户的数据中心路由正确。

从操作安全(OPSEC)角度看:

  • 所有请求直接路由至https://graph.microsoft.com
  • Graph 审计日志会记录在注册应用程序身份下的访问

安全团队应采取以下防护措施:

  • 审计 Azure AD 应用程序权限
  • 监控异常的Mail.ReadSites.Read.All应用级访问
  • 审查非用户交互式服务主体的授权许可

注:Ethical-Kaizoku 开发的 SharePwned CLI 版本已在 GitHub 上单独发布。

相关推荐
不穿铠甲的穿山甲31 分钟前
LangChain-4.高级提示词技术
microsoft·百度·langchain
朝新_2 小时前
【LangChain】输出解析器 Str/Pydantic/JSON 解析器用法详解 告别模型乱输出
microsoft·langchain·json
Dovis(誓平步青云)5 小时前
《SQL语义等价性检查:Pivot的CASE WHEN改写策略与限制》
linux·windows·sql·microsoft·oracle·stable diffusion
云天AI实战派5 小时前
2026 实战:用 OpenAI 实时音频模型做门店语音助手,从 Spec 到 API 接入上线全流程
microsoft·音视频·语音识别
热爱学习的小翁同学5 小时前
Power Automate调用Azure Foundry智能体
microsoft·azure
InfinteJustice17 小时前
踩坑分享C 语言文件操作全攻略:从基础读写到随机访问与缓冲区原理
c语言·开发语言·microsoft
ITHAOGE151 天前
2026年Win7最终版ISO系统映像下载!(集成补丁、旗舰版、完整无精简、64位/32位可选、Windows 7、简体中文/繁体中文/英语可选)
windows·科技·microsoft·微软·电脑
万邦科技Lafite1 天前
API接口一键获取商品评论,根据商品评论分析客户画像
linux·服务器·数据库·windows·microsoft·电商开放平台
编码者卢布1 天前
【Azure 应用服务】WEBSITE_DISABLE_CROSS_STAMP_SCALE 配置的作用说明
microsoft·azure