Detection rules › Splunk

Gsuite suspicious calendar invite

Status
experimental
Group by
_time, email
Author
Rod Soto, Teoderick Contreras
Source
github.com/splunk/security_content

The following analytic detects suspicious calendar invites sent via GSuite, potentially indicating compromised accounts or malicious internal activity. It leverages GSuite calendar logs, focusing on events where a high volume of invites (over 100) is sent within a 5-minute window. This behavior is significant as it may involve the distribution of malicious links or attachments, posing a security risk. If confirmed malicious, this activity could lead to widespread phishing attacks, unauthorized access, or malware distribution within the organization.

MITRE ATT&CK coverage

TacticTechniques
Initial AccessT1566 Phishing

Rule body splunk

name: Gsuite suspicious calendar invite
id: 03cdd68a-34fb-11ec-9bd3-acde48001122
version: 7
creation_date: '2021-10-24'
modification_date: '2026-05-13'
author: Rod Soto, Teoderick Contreras
status: experimental
type: Hunting
description: The following analytic detects suspicious calendar invites sent via GSuite, potentially indicating compromised accounts or malicious internal activity. It leverages GSuite calendar logs, focusing on events where a high volume of invites (over 100) is sent within a 5-minute window. This behavior is significant as it may involve the distribution of malicious links or attachments, posing a security risk. If confirmed malicious, this activity could lead to widespread phishing attacks, unauthorized access, or malware distribution within the organization.
data_source: []
search: |-
    `gsuite_calendar`
      | bin span=5m _time
      | rename parameters.* as *
      | search target_calendar_id!=null email="*yourdomain.com"
      | stats  count values(target_calendar_id) values(event_title) values(event_guest)
        BY email _time
      | where count >100
      | `gsuite_suspicious_calendar_invite_filter`
how_to_implement: In order to successfully implement this search, you need to be ingesting logs related to gsuite (gsuite:calendar:json) having the file sharing metadata like file type, source owner, destination target user, description, etc. This search can also be made more specific by selecting specific emails, subdomains timeframe, organizational units, targeted user, etc. In order for the search to work for your environment please update `yourdomain.com` value in the query with the domain relavant for your organization.
known_false_positives: This search will also produce normal activity statistics. Fields such as email, ip address, name, parameters.organizer_calendar_id, parameters.target_calendar_id and parameters.event_title may give away phishing intent.For more specific results use email parameter.
references:
    - https://www.techrepublic.com/article/how-to-avoid-the-dreaded-google-calendar-malicious-invite-issue/
    - https://gcn.com/cybersecurity/2012/09/the-20-most-common-words-in-phishing-attacks/280956/
analytic_story:
    - Spearphishing Attachments
asset_type: GSuite
mitre_attack_id:
    - T1566
product:
    - Splunk Enterprise
    - Splunk Enterprise Security
    - Splunk Cloud
category: cloud
security_domain: threat

Stages and Predicates

Stage 1: search

`gsuite_calendar`

Stage 2: bucket

| bin span=5m _time

Stage 3: rename

| rename parameters.* as *

Stage 4: search

| search target_calendar_id!=null email="*yourdomain.com"

Stage 5: stats

| stats  count values(target_calendar_id) values(event_title) values(event_guest)
    BY email _time

Stage 6: where

| where count >100

Stage 7: search

| `gsuite_suspicious_calendar_invite_filter`

Indicators

Each row is a field, operator, and value that the rule matches. The corpus column counts how many other rules in the catalog look for the same combination: high numbers point to widely-used, community-vetted indicators. Blank or 1 shows that the indicator is specific to this rule.

FieldKindValues
countgt
  • 100
emaileq
  • "*yourdomain.com"
sourcetypeeq
  • gsuite:calendar:json
target_calendar_idne
  • null