Detection rules › Kusto
Dataverse - SharePoint document management site added or updated
Identifies modifications of SharePoint document management integration. Document management allows storage of data located externally to Dataverse. Combine this analytics rule with the MSBizApps-Add-SharePointSite-To-Watchlist Playbook to automatically update the Dataverse-SharePointSites watchlist. This watchlist can be used to correlate events between Dataverse and SharePoint when using the Office 365 data connector.
MITRE ATT&CK coverage
| Tactic | Techniques |
|---|---|
| Exfiltration |
Telemetry coverage
| Platform | Record / event type |
|---|---|
| Microsoft 365 | any: Dataverse and model-driven apps audit (catch-all) |
Rule body
id: c4c3510a-0ee0-4561-9835-47882ffa7f46
kind: Scheduled
name: Dataverse - SharePoint document management site added or updated
description: Identifies modifications of SharePoint document management integration.
Document management allows storage of data located externally to Dataverse. Combine
this analytics rule with the MSBizApps-Add-SharePointSite-To-Watchlist Playbook
to automatically update the Dataverse-SharePointSites watchlist. This watchlist
can be used to correlate events between Dataverse and SharePoint when using the
Office 365 data connector.
severity: Informational
status: Available
requiredDataConnectors:
- connectorId: Dataverse
dataTypes:
- DataverseActivity
queryFrequency: 1h
queryPeriod: 1d
triggerOperator: gt
triggerThreshold: 0
tactics:
- Exfiltration
relevantTechniques:
- T1567
- T1537
query: |
let query_frequency = 1h;
DataverseActivity
| where TimeGenerated >= ago(query_frequency)
| where Message in ("Create", "Update") and EntityName == "sharepointsite"
| mv-expand Fields
| where Fields.Name == "absoluteurl"
| extend
SharePointAppId = int(20892),
CloudAppId = int(32780),
AccountName = tostring(split(UserId, '@')[0]),
UPNSuffix = tostring(split(UserId, '@')[1]),
SharePointUrl = tostring(Fields.Value)
| project
TimeGenerated,
UserId,
ClientIp,
Message,
SharePointUrl,
InstanceUrl,
CloudAppId,
SharePointAppId,
AccountName,
UPNSuffix
eventGroupingSettings:
aggregationKind: AlertPerResult
entityMappings:
- entityType: Account
fieldMappings:
- identifier: Name
columnName: AccountName
- identifier: UPNSuffix
columnName: UPNSuffix
- entityType: IP
fieldMappings:
- identifier: Address
columnName: ClientIp
- entityType: CloudApplication
fieldMappings:
- identifier: AppId
columnName: CloudAppId
- identifier: InstanceName
columnName: InstanceUrl
- entityType: CloudApplication
fieldMappings:
- identifier: AppId
columnName: SharePointAppId
- identifier: InstanceName
columnName: SharePointUrl
alertDetailsOverride:
alertDisplayNameFormat: 'Dataverse - Document management enabled or modified in
{{{InstanceUrl}} '
alertDescriptionFormat: '{{UserId}} made changes to document management in {{{InstanceUrl}}.
Sharepoint site {{{SharePointUrl}} was added.'
version: 3.2.0
Stages and Predicates
Parameters
let query_frequency = 1h;
Stage 1: source
DataverseActivity
Stage 2: where
| where TimeGenerated >= ago(query_frequency)
Stage 3: where
| where Message in ("Create", "Update") and EntityName == "sharepointsite"
Stage 4: mv-expand
| mv-expand Fields
Stage 5: where
| where Fields.Name == "absoluteurl"
Stage 6: extend
| extend
SharePointAppId = int(20892),
CloudAppId = int(32780),
AccountName = tostring(split(UserId, '@')[0]),
UPNSuffix = tostring(split(UserId, '@')[1]),
SharePointUrl = tostring(Fields.Value)
Stage 7: project
| project
TimeGenerated,
UserId,
ClientIp,
Message,
SharePointUrl,
InstanceUrl,
CloudAppId,
SharePointAppId,
AccountName,
UPNSuffix
Indicators
These rows show field, operator, and value matches.
| Field | Kind | Values | Search |
|---|---|---|---|
EntityName | eq |
| field:"EntityName" kind:eq value:"sharepointsite" |
Message | in |
| field:"Message" kind:in |
Name | eq |
| field:"Name" kind:eq value:"absoluteurl" |
Output fields
These fields are emitted when the rule matches.
| Field | Source |
|---|---|
AccountName | project |
ClientIp | project |
CloudAppId | project |
InstanceUrl | project |
Message | project |
SharePointAppId | project |
SharePointUrl | project |
TimeGenerated | project |
UPNSuffix | project |
UserId | project |