Detections

Explore public detection logic contributed by the community across SIEM and rule languages.

3,864 detections

This rule detects suspicious activity involving an initial successful authentication to Office 365, followed by a non-interactive sign-in to Azure Activity (Entra ID) from the same user and IP address, but with different session IDs, applications, and user agents. This pattern is indicative of token theft and reuse, potentially using tools like GraphRunner, where an adversary uses a stolen token to perform non-interactive actions. The rule specifically looks for a mismatch in session ID, application, and user agent between the initial interactive login and the subsequent non-interactive login, while the user and IP remain consistent. The user agent strings are specifically chosen to align with those used by the GraphRunner tool.
avatar
Google SecOps@GoogleSecOps
avatar
Google SecOps Detection Rules
2 years ago
5055
This rule detects attempts to retrieve the Microsoft Graph authorization policy, specifically targeting the `/policies/authorizationPolicy` endpoint. This policy contains sensitive information about who can create applications, invite guest users, and other critical settings within Entra ID (formerly Azure AD). Such requests are typically made by administrators for review or modification, and unexpected calls to this endpoint could indicate reconnaissance or unauthorized access attempts. The rule filters for successful GET requests (HTTP 200) and excludes known Azure IP ranges to reduce false positives.
avatar
Google SecOps@GoogleSecOps
avatar
Google SecOps Detection Rules
2 years ago
0053
This rule detects the enumeration of applications and service principals within Microsoft Entra ID (formerly Azure AD) via the Microsoft Graph API. Specifically, it looks for two sequential GET requests: one to the `/v1.0/applications` endpoint and another to the `/v1.0/servicePrincipals(appId='<GUID>')/appRoleAssignedTo` endpoint. This activity is indicative of tools like GraphRunner's Invoke-DumpApps function, which collects information about applications, external applications, and users who have consented to permissions within those applications. The rule correlates these events by IP address and session ID within a 5-minute window.
avatar
Google SecOps@GoogleSecOps
avatar
Google SecOps Detection Rules
2 years ago
0052
This rule identifies enumeration of user inboxes within an Entra ID tenant via the Microsoft Graph API. It specifically looks for multiple GET requests to the `/v1.0/users/*/mailFolders/Inbox/messages` endpoint from a single IP address and session within a 5-minute window. The detection is based on the behavior of tools like Invoke-GraphOpenInboxFinder in GraphRunner, but is applicable to any tool performing similar inbox scanning. The rule provides outcomes detailing the number of scanned users, successful accesses (HTTP 200), forbidden accesses (HTTP 403), and not found inboxes (HTTP 404).
avatar
Google SecOps@GoogleSecOps
avatar
Google SecOps Detection Rules
2 years ago
0052
This rule detects multiple failed attempts (401 Unauthorized status) to download the same file from OneDrive via the Microsoft Graph API. This behavior may indicate a permissions issue for the user attempting the download or could be an indicator of an adversary attempting to access unauthorized files.
avatar
Google SecOps@GoogleSecOps
avatar
Google SecOps Detection Rules
2 years ago
0049
This rule detects successful user logins to the "Azure Active Directory PowerShell" application within Entra ID (formerly Azure AD). While legitimate administrative tasks may involve this application, the rule's description highlights that programmatic access to Azure AD should generally occur through other applications. Therefore, direct logins to this specific PowerShell application could indicate suspicious activity, such as an attacker using compromised credentials to gain access to user information or perform administrative actions. The rule focuses on successful login events and groups them by user over a 5-minute window, which can help identify clustered or repeated login attempts by a single user.
avatar
Google SecOps@GoogleSecOps
avatar
Google SecOps Detection Rules
2 years ago
1047
This rule detects the use of the GraphRunner tool's Invoke-GraphRecon command to enumerate permissions and conditional access data within the Microsoft Graph API. It specifically looks for a sequence of three API calls: 'estimateAccess', '/me', and 'policies/authorizationPolicy' originating from the same IP address and within a 5-minute window. This activity is indicative of an attacker or red teamer performing reconnaissance on an Azure AD environment.
avatar
Google SecOps@GoogleSecOps
avatar
Google SecOps Detection Rules
2 years ago
0047
This rule detects when a user attempts to download multiple unique files from OneDrive via the Microsoft Graph API, and these download attempts result in a 401 Unauthorized status code. This behavior may indicate a permissions issue for the user, potentially due to misconfiguration, revoked access, or an attempt to access unauthorized resources.
avatar
Google SecOps@GoogleSecOps
avatar
Google SecOps Detection Rules
2 years ago
0047
Detects when mail items are accessed via API through an Entra ID application that is not explicitly approved. This rule specifically looks for 'MailItemsAccessed' events in Office 365 where the accessing application's ClientAppId does not match known legitimate Microsoft applications like Exchange Online, Substrate Context Service, or Microsoft Office. This could indicate unauthorized access to mailboxes by a suspicious application.
avatar
Google SecOps@GoogleSecOps
avatar
Google SecOps Detection Rules
2 years ago
1047
This rule detects API requests to the Microsoft Graph search/query endpoint. This endpoint can be used by adversaries to enumerate items such as SharePoint site URLs, which is a common technique used by tools like GraphRunner's Get-SharePointSiteURLs function. The detection specifically looks for successful POST requests to 'https://graph.microsoft.com/v1.0/search/query'.
avatar
Google SecOps@GoogleSecOps
avatar
Google SecOps Detection Rules
2 years ago
0045
This rule detects the successful creation of a new group within Microsoft Graph API. It specifically looks for HTTP POST requests to the `/v1.0/groups` endpoint that result in a 201 (Created) HTTP response code. The rule's description indicates it can be triggered by the `Invoke-SecurityGroupCloner` function from the GraphRunner tool, which is used for cloning security groups.
avatar
Google SecOps@GoogleSecOps
avatar
Google SecOps Detection Rules
2 years ago
1044
This rule identifies API requests made to the Microsoft Graph API to access user mailboxes and retrieve a specified number of messages. It specifically looks for GET requests to the `/v1.0/users/*/mailFolders/*/messages?$top=` endpoint with a successful HTTP 200 response. This activity could indicate an attacker attempting to exfiltrate emails from a compromised mailbox.
avatar
Google SecOps@GoogleSecOps
avatar
Google SecOps Detection Rules
2 years ago
1042
This rule identifies when the HTTP DELETE method is used within the Microsoft Graph API. This can indicate administrative activities such as deleting users, groups, or other resources. The rule specifically looks for network HTTP events where the product event type is 'Microsoft Graph Activity' and the HTTP method is 'DELETE'. It excludes IP addresses within a specific Azure CIDR range (20.151.0.0/16) to reduce noise from internal Azure operations. Further tuning can be applied to target specific API endpoints or user agents.
avatar
Google SecOps@GoogleSecOps
avatar
Google SecOps Detection Rules
2 years ago
1040
This rule detects requests to the Microsoft Graph API endpoint for listing applications (https://graph.microsoft.com/v1.0/applications). This activity can be indicative of reconnaissance by an attacker attempting to enumerate applications within an Entra ID (Azure AD) environment. The rule specifically looks for successful GET requests (HTTP 200 response code) to this endpoint.
avatar
Google SecOps@GoogleSecOps
avatar
Google SecOps Detection Rules
2 years ago
0038
This rule detects calls to the undocumented 'Estimate Access' API in Microsoft Graph. This API is used by tools like GraphRunner for reconnaissance purposes, specifically to determine what actions a user can perform. While not inherently malicious, its use can indicate an adversary attempting to enumerate permissions or discover accessible resources within an Azure environment. The rule filters for successful POST requests to the specific beta endpoint and excludes certain Microsoft IP ranges to reduce false positives.
avatar
Google SecOps@GoogleSecOps
avatar
Google SecOps Detection Rules
2 years ago
0036
Detects when a user is removed from a group in Microsoft Teams. This could indicate an attempt to remove a user's access to sensitive team resources or a legitimate administrative action.
avatar
Google SecOps@GoogleSecOps
avatar
Google SecOps Detection Rules
2 years ago
0036
This rule detects the enumeration of both users and group members within an Entra ID (formerly Azure Active Directory) tenant via the Microsoft Graph API. It specifically looks for two distinct HTTP GET requests originating from the same IP address and within a 15-minute window: one targeting the `/v1.0/users` endpoint and another targeting the `/v1.0/groups/*/members` endpoint. This activity is often associated with reconnaissance efforts, such as those performed by tools like GraphRunner, to map out an organization's user and group structure.
avatar
Google SecOps@GoogleSecOps
avatar
Google SecOps Detection Rules
2 years ago
0035
This rule detects the creation of new applications within Microsoft Entra ID (formerly Azure AD). While application creation can be a legitimate administrative activity, frequent or unauthorized creation of applications can indicate malicious activity, such as an attacker establishing persistence, creating backdoors, or setting up infrastructure for further attacks. The rule specifically looks for 'Add application' events in the Azure AD Directory Audit logs.
avatar
Google SecOps@GoogleSecOps
avatar
Google SecOps Detection Rules
2 years ago
0034
This rule detects HTTP 400 Bad Request errors when attempting to interact with the Microsoft Graph API's /v1.0/groups endpoint via a POST request. This specific activity can indicate a failed attempt to duplicate a group, potentially by tools like GraphRunner's Invoke-SecurityGroupCloner function. It focuses on identifying issues during group creation or modification operations within Azure AD through the Graph API.
avatar
Google SecOps@GoogleSecOps
avatar
Google SecOps Detection Rules
2 years ago
0033
This rule detects attempts to enumerate updatable groups within Microsoft Entra ID (formerly Azure Active Directory) using the Microsoft Graph API. Specifically, it looks for a combination of a GET request to the `/v1.0/groups` endpoint and a POST request to the `/beta/roleManagement/directory/estimateAccess` endpoint within a 5-minute window from the same IP address and session. This activity is indicative of tools like GraphRunner's `Get-UpdatableGroups` function, which adversaries might use to identify groups they can modify for privilege escalation or persistence.
avatar
Google SecOps@GoogleSecOps
avatar
Google SecOps Detection Rules
2 years ago
0033
This rule detects successful group deletion events within Microsoft Entra ID (formerly Azure AD). It specifically looks for audit logs where the event type is 'GROUP_DELETION', the product event type is 'Delete group', the product is 'Azure AD Directory Audit', the vendor is 'Microsoft', and the security result indicates the action was 'ALLOW'. The rule also groups these events by user over a 5-minute window.
avatar
Google SecOps@GoogleSecOps
avatar
Google SecOps Detection Rules
2 years ago
0032
Page 177 of 184