SuperAPI AI 工具集

post-exploiting-microsoft-graph-with-graphrunner

编程与开发

查看项目

更新于 10-16 01:30

技能介绍

用途:GraphRunner(Beau Bullock / Black Hills Information Security)是构建在 Microsoft Graph API 之上的 PowerShell 后渗透工具集。在已获得 Graph 访问令牌的前提下,它通过 Graph 完成租户侦察、建立持久化、提权与 M365 数据搜集,流量与正常 Graph 调用混同。仅限对自有或获得书面授权的租户使用,未授权使用违法。

主要能力:认证方面提供 Get-GraphTokens(设备代码登录)、Invoke-RefreshGraphTokens、Invoke-AutoTokenRefresh、Invoke-ImportTokens、Invoke-RefreshToSharePointToken。侦察与枚举包括 Invoke-GraphRecon、Invoke-DumpCAPS、Invoke-DumpApps、Get-AzureADUsers、Get-SecurityGroups、Get-UpdatableGroups、Get-DynamicGroups、Invoke-SearchUserAttributes、Invoke-GraphOpenInboxFinder、Find-PermissiveCalendars。持久化包括 Invoke-InjectOAuthApp(注入 OAuth 应用获取同意授权持久化)、Invoke-CreateInboxForwardingRule。提权包括 Get-UpdatableGroups、Invoke-AddGroupMember、Invoke-SecurityGroupCloner、InviteGuest。数据搜集包括 Invoke-SearchMailbox、Invoke-SearchSharePointAndOneDrive、Invoke-SearchTeams、Get-TeamsChat、Invoke-DriveFileDownload。主运行器 Invoke-GraphRunner 执行自动化侦察与搜集,List-GraphRunnerModules 列出全部模块。

使用方式:需 PowerShell 5.1+ 或 PowerShell 7,先克隆并导入模块: git clone https://github.com/dafthack/GraphRunner.git cd GraphRunner Import-Module .\GraphRunner.ps1 List-GraphRunnerModules 随后按认证、侦察、提权、持久化、数据搜集的顺序调用各函数,例如 Get-GraphTokens、Invoke-GraphRecon -Tokens $tokens -PermissionEnum、Invoke-DumpCAPS、Invoke-DumpApps、Get-UpdatableGroups、Invoke-AddGroupMember、Invoke-InjectOAuthApp、Invoke-SearchMailbox 等。

适用场景:在授权的 M365/Entra 评估中,获得有效 Graph 令牌后映射租户权限、条件访问策略与 OAuth 应用暴露面;通过 OAuth 同意授权或收件箱转发建立云持久化;利用可更新/动态组演示提权;搜索邮箱、SharePoint/OneDrive 与 Teams 中的敏感数据以佐证影响。对应 MITRE ATT&CK T1098、T1098.003、T1528、T1087.004、T1114.002、T1606.002。

限制与注意事项:需书面授权与范围界定,并持有 Graph 令牌立足点。操作会留下可被检测的痕迹,如 Entra 登录/审计日志中的设备代码授权、应用添加与同意事件、组成员变更、外部转发规则,以及 MicrosoftGraphActivityLogs 中的高频 $search 调用。建议用 -MessageCount 限制搜索量,非必要不改动可分配角色组,并在清理阶段用 Invoke-DeleteOAuthApp 删除注入应用、移除转发规则。具体收费、价格与平台支持等资料暂未提供。