Exploitation Tools

GraphRunner : The Dual-Use Toolset For Microsoft 365 Security

GraphRunner is a powerful post-exploitation toolset designed for interacting with the Microsoft Graph API, enabling red teams and attackers to perform reconnaissance, persistence, and data exfiltration from Microsoft Entra ID (Azure AD) accounts.

Developed by Beau Bullock and Steve Borosh of Black Hills Information Security, GraphRunner provides a streamlined approach to exploiting vulnerabilities within Microsoft 365 environments.

Key Components

GraphRunner is composed of three primary components:

  • PowerShell Script: Houses the majority of modules for reconnaissance, persistence, and data extraction.
  • HTML GUI: A web-based interface that leverages access tokens to navigate and extract user account data.
  • PHP Redirector: Captures OAuth authorization codes during consent grant attacks.

GraphRunner offers a wide array of functionalities:

  • Data Exfiltration: Search and export emails, SharePoint files, OneDrive content, and Teams conversations.
  • Reconnaissance: Identify misconfigured mailboxes, dump conditional access policies, and analyze user attributes.
  • Privilege Escalation: Clone security groups, exploit modifiable group memberships, and deploy malicious apps.
  • OAuth Flow Exploitation: Tools to complete OAuth flows for consent grant attacks.
  • Tenant Mapping: Modules like Invoke-GraphRecon gather tenant information such as directory sync settings, app permissions, and user settings.
  • Cross-Platform Compatibility: Works seamlessly on Windows and Linux without relying on third-party libraries.

GraphRunner requires authenticated access tokens to operate. Users can start by importing the PowerShell script and running the Get-GraphTokens module to authenticate.

The tool also supports importing tokens from other tools for broader compatibility. Once authenticated, users can leverage modules like Invoke-DumpApps to identify potentially malicious applications or Get-DynamicGroups to analyze exploitable group memberships.

While GraphRunner is a valuable tool for red teams, it poses significant risks if misused by threat actors. Its ability to bypass security configurations, exfiltrate sensitive data, and escalate privileges makes it a critical focus for defenders.

Organizations should monitor Graph API activity closely and enforce strict conditional access policies to mitigate potential abuse.

GraphRunner exemplifies the dual-use nature of cybersecurity tools—offering both offensive capabilities for ethical hacking and defensive insights for securing Microsoft 365 environments.

Varshini

Varshini is a Cyber Security expert in Threat Analysis, Vulnerability Assessment, and Research. Passionate about staying ahead of emerging Threats and Technologies.

Recent Posts

Install Pip on Ubuntu 18.04: Python 3 and Python 2 Setup Guide

Pip is the official package manager for Python and the standard way to install libraries from…

1 day ago

Install R on Ubuntu 18.04 from CRAN: Statistical Computing Setup

R is an open-source programming language and environment built for statistical computing and data visualization. It…

1 day ago

Install Jenkins on Ubuntu 18.04: CI/CD Server Setup Guide

Jenkins is an open-source automation server that makes it easy to build CI/CD pipelines. Continuous integration…

1 day ago

Install Android Studio on Ubuntu 18.04 with Snap and OpenJDK 8

Android Studio is the official IDE for Android development, built on JetBrains' IntelliJ IDEA platform. It…

1 day ago

Install and Configure GitLab on Ubuntu 18.04 with Omnibus

GitLab is a web-based, open-source Git repository manager written in Ruby. It includes built-in tools for…

1 day ago

Install Anaconda on Ubuntu 18.04: Python Data Science Setup Guide

Anaconda is the most widely used Python distribution for data science and machine learning. It bundles…

2 days ago