Skip to content

Commit b83ae4b

Browse files
committed
Updated command and control rules
1 parent ab11d40 commit b83ae4b

15 files changed

Lines changed: 244 additions & 195 deletions

detections/sentinel/browser/browser-extension-install-from-temp-or-user-profile.yml

Lines changed: 15 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,47 +1,46 @@
1-
title: Browser Extension Install from Temp or User Profile
1+
title: Browser Extension Files Created by Non-Browser Process
22
id: SENT-BROW-0001
33
status: experimental
4-
description: Detects possible browser extension installation or staging from temporary or user-writable locations, aligned to Red Canary reporting on browser-extension threats and browser-centric compromise.
4+
description: Detects suspicious creation of browser extension files or folders in browser profile extension directories by non-browser processes, which may indicate unauthorized extension staging or installation.
55
author: Adam Ring
66
date: 2026-03-20
77
modified: 2026-03-20
88
logsource:
99
product: windows
10-
service: file_creation
10+
category: file_event
1111
platform: microsoft_sentinel
1212
query_language: kql
1313
query: |
1414
DeviceFileEvents
15-
| where FolderPath has "\\User Data\\Default\\Extensions\\"
16-
or FolderPath has "\\User Data\\Profile "
17-
| where InitiatingProcessFileName in~ ("chrome.exe","msedge.exe","brave.exe","firefox.exe","explorer.exe","msiexec.exe")
18-
| where FolderPath has_any ("\\Downloads\\","\\Temp\\","\\AppData\\Local\\","\\AppData\\Roaming\\")
19-
| project Timestamp,DeviceName,InitiatingProcessAccountName,InitiatingProcessFileName,FileName,FolderPath
15+
| where FolderPath has_any ("\\Chrome\\User Data\\Default\\Extensions\\","\\Chrome\\User Data\\Profile ","\\Edge\\User Data\\Default\\Extensions\\","\\Edge\\User Data\\Profile ","\\BraveSoftware\\Brave-Browser\\User Data\\Default\\Extensions\\")
16+
| where FileName in~ ("manifest.json") or FolderPath matches regex @"\\Extensions\\[a-z]{32}\\"
17+
| where InitiatingProcessFileName !in~ ("chrome.exe","msedge.exe","brave.exe","firefox.exe")
18+
| project Timestamp, DeviceName, InitiatingProcessAccountName, InitiatingProcessFileName, InitiatingProcessCommandLine, FileName, FolderPath, SHA1, ReportId
2019
severity: medium
2120
risk_score: 60
2221
tactics:
2322
- Persistence
24-
- Credential Access
2523
techniques:
2624
- T1176
2725
kill_chain_phases:
2826
- Persistence
2927
data_sources:
3028
- DeviceFileEvents
3129
falsepositives:
32-
- Legitimate browser extension installs by users
33-
- Managed extension deployment
30+
- Legitimate enterprise software deploying approved extensions
31+
- Browser migration or profile restore activity
32+
- Developer testing of unpacked extensions
3433
triage:
35-
- Review the extension path, extension ID, and whether the browser is enterprise-managed
36-
- Validate whether the extension is on the approved list
37-
- Check for recent browser updates, compromised extension reports, or suspicious outbound requests
34+
- Review the extension path, manifest, and extension ID
35+
- Determine whether the extension is approved or enterprise-managed
36+
- Review the initiating process and command line for archive extraction, scripting, or installer behavior
37+
- Check for related browser credential theft, suspicious outbound traffic, or new persistence nearby
3838
validation:
39-
- Install a benign test extension in a lab and compare path patterns
39+
- Install a benign test extension and compare normal browser-created file patterns versus non-browser initiated writes
4040
lifecycle: experimental
4141
owner: Detection Engineering
4242
tags:
4343
- attack.persistence
44-
- attack.credential-access
4544
- attack.t1176
4645
- browser-extension
4746
- chrome
Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,24 @@
1-
title: Clipboard Data Collection
1+
title: Suspicious Clipboard Read or Clipboard Utility Execution
22
id: SENT-COLL-0001
33
status: experimental
4-
description: Detects PowerShell or command-line usage that reads or manipulates clipboard contents, which may indicate collection of copied data or credentials.
4+
description: Detects suspicious clipboard read activity or clipboard utility execution that may indicate collection of copied data, secrets, or credentials.
55
author: Adam Ring
66
date: 2026-03-06
7-
modified: 2026-03-06
7+
modified: 2026-03-26
88
platform: microsoft_sentinel
99
query_language: kql
1010
logsource:
1111
product: windows
1212
category: process_creation
1313
query: |
1414
DeviceProcessEvents
15-
| where FileName in~ ("powershell.exe","pwsh.exe","cmd.exe")
16-
| where ProcessCommandLine has_any ("Get-Clipboard","Set-Clipboard","clip.exe")
17-
| project Timestamp, DeviceName, AccountName, FileName, ProcessCommandLine
15+
| where FileName in~ ("powershell.exe","pwsh.exe","cmd.exe","clip.exe")
16+
| where ProcessCommandLine has_any ("Get-Clipboard","[Windows.Forms.Clipboard]::GetText","GetText()","clip.exe")
17+
| where ProcessCommandLine !has "Set-Clipboard"
18+
| where InitiatingProcessFileName !in~ ("Code.exe","devenv.exe","powershell_ise.exe")
19+
| project Timestamp, DeviceName, AccountName, FileName, ProcessCommandLine, InitiatingProcessFileName, InitiatingProcessCommandLine, SHA1, ReportId
1820
severity: medium
19-
risk_score: 60
21+
risk_score: 55
2022
tactics:
2123
- Collection
2224
techniques:
@@ -26,18 +28,19 @@ kill_chain_phases:
2628
data_sources:
2729
- DeviceProcessEvents
2830
falsepositives:
29-
- Benign clipboard scripting or user automation
30-
- Support workflows that sanitize clipboard content
31+
- Legitimate administrator or developer clipboard scripting
32+
- Automation workflows that intentionally read clipboard contents
33+
- User troubleshooting or local productivity scripts
3134
triage:
32-
- Review why clipboard access was needed on the host
33-
- Determine whether the user was performing routine admin work
34-
- Check for concurrent archiving or exfiltration activity
35+
- Review whether the account normally uses PowerShell or command-line clipboard access
36+
- Check whether clipboard reads occurred near archive creation, browser credential access, or outbound transfers
37+
- Review the initiating process and surrounding process tree for scripting, LOLBins, or user-writable execution paths
3538
validation:
36-
- Run Get-Clipboard in a lab PowerShell session
39+
- Run Get-Clipboard in a lab PowerShell session and compare with normal admin activity
3740
lifecycle: experimental
3841
owner: Detection Engineering
3942
tags:
4043
- attack.collection
4144
- attack.t1115
4245
- sentinel
43-
- collection
46+
- collection
Lines changed: 46 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,53 @@
1-
title: Data Collection from Local System
2-
id: dodea-sig-018-data-collection-from-local-system
1+
title: Suspicious Access to Sensitive Local User Documents
2+
id: SENT-COLL-0005
33
status: experimental
4-
description: Detects enumeration or access to sensitive files on the local system
4+
description: Detects processes accessing potentially sensitive document types in common user data paths, which may indicate collection or staging from the local system.
55
author: Adam Ring
6-
date: 2025-07-31 00:00:00+00:00
7-
tags:
8-
- attack.collection
9-
- attack.t1005
10-
- ckc.actions-on-objectives
6+
date: 2026-03-26
7+
modified: 2026-03-26
8+
platform: microsoft_sentinel
9+
query_language: kql
1110
logsource:
1211
product: windows
13-
category: process_creation
14-
detection:
15-
selection:
16-
query: >-
17-
DeviceFileEvents | where FolderPath has_any ("C:\Users\", "Desktop",
18-
"Documents")
19-
20-
| where FileName endswith ".docx" or FileName endswith ".pdf" or FileName endswith ".xls" or FileName endswith ".csv"
21-
22-
| project TimeGenerated, DeviceName, FileName, FolderPath, ActionType
23-
condition: selection
24-
falsepositives:
25-
- None known
26-
level: medium
12+
category: file_event
13+
query: |
14+
DeviceFileEvents
15+
| where ActionType in~ ("FileCreated","FileModified","FileRead","FileAccessed")
16+
| where FolderPath has_any ("\\Users\\","\\Desktop\\","\\Documents\\","\\Downloads\\")
17+
| where FileName endswith ".docx"
18+
or FileName endswith ".pdf"
19+
or FileName endswith ".xls"
20+
or FileName endswith ".xlsx"
21+
or FileName endswith ".csv"
22+
or FileName endswith ".pptx"
23+
or FileName endswith ".txt"
24+
| where InitiatingProcessFileName !in~ ("explorer.exe","SearchIndexer.exe","OneDrive.exe","MsMpEng.exe")
25+
| summarize FileCount=count(), DistinctPaths=dcount(FolderPath), Files=make_set(FileName,20) by DeviceName, InitiatingProcessAccountName, InitiatingProcessFileName, InitiatingProcessCommandLine, bin(Timestamp, 15m)
26+
| where FileCount >= 25 and DistinctPaths >= 3
27+
severity: medium
28+
risk_score: 57
2729
tactics:
28-
- collection
30+
- Collection
2931
techniques:
30-
- t1005
32+
- T1005
33+
kill_chain_phases:
34+
- Collection
35+
data_sources:
36+
- DeviceFileEvents
37+
falsepositives:
38+
- Backup, indexing, sync, or anti-malware activity
39+
- Bulk document processing by IT or approved business tooling
40+
- User-driven search, migration, or archival workflows
41+
triage:
42+
- Identify the process and account accessing the files
43+
- Determine whether the host or user normally performs bulk document access
44+
- Review for nearby archive creation, cloud upload, email exfiltration, or removable media usage
45+
validation:
46+
- Use a benign script in a lab to access many files across user folders and tune thresholds against normal activity
3147
lifecycle: experimental
48+
owner: Detection Engineering
49+
tags:
50+
- attack.collection
51+
- attack.t1005
52+
- sentinel
53+
- collection
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
title: Microsoft Graph Mail Access Burst
2+
id: SENT-COLL-0004
3+
status: experimental
4+
description: Detects bursts of Microsoft Graph mail search or mail access activity that may indicate post-compromise mailbox collection or reconnaissance.
5+
author: Adam Ring
6+
date: 2026-03-20
7+
modified: 2026-03-26
8+
logsource:
9+
product: m365
10+
service: cloud_app
11+
platform: microsoft_sentinel
12+
query_language: kql
13+
query: |
14+
CloudAppEvents
15+
| where Application == "Microsoft Graph"
16+
| where ActionType has_any ("SearchQueryPerformed","MailItemsAccessed","MessageBind")
17+
| extend User = tostring(coalesce(AccountUpn, AccountDisplayName, AccountObjectId))
18+
| extend ClientIP = tostring(IPAddress)
19+
| summarize ActionCount=count(), Actions=make_set(ActionType,10), IPs=make_set(ClientIP,10) by bin(TimeGenerated, 30m), User, Application
20+
| where ActionCount >= 20
21+
severity: medium
22+
risk_score: 70
23+
tactics:
24+
- Collection
25+
techniques:
26+
- T1114
27+
kill_chain_phases:
28+
- Collection
29+
data_sources:
30+
- CloudAppEvents
31+
falsepositives:
32+
- Migration tools
33+
- eDiscovery, journaling, or approved admin search workflows
34+
- Application integrations that legitimately access mail at scale
35+
triage:
36+
- Validate whether the user or application normally performs high-volume Graph mail access
37+
- Check for nearby device code sign-ins, consent grants, OAuth abuse, or risky sign-in activity
38+
- Determine whether the activity targeted high-value mailboxes or was followed by mail export, forwarding, or download behavior
39+
validation:
40+
- Tune thresholds against known mail clients, admin workflows, and approved tenant applications
41+
lifecycle: experimental
42+
owner: Detection Engineering
43+
tags:
44+
- attack.collection
45+
- attack.t1114
46+
- graph
47+
- mailbox
48+
- sentinel

detections/sentinel/collection/graph-mail-search-keyword-burst.yml

Lines changed: 0 additions & 46 deletions
This file was deleted.
Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,20 @@
1-
title: Mass File Enumeration in User Data Paths
1+
title: Mass File Access in User Data Paths by Uncommon Process
22
id: SENT-COLL-0002
33
status: experimental
4-
description: Detects processes enumerating many files in user data paths, which can indicate staging for collection.
4+
description: Detects high-volume access to files in user data paths by uncommon processes, which can indicate collection or staging activity.
55
author: Adam Ring
66
date: 2026-03-06
7-
modified: 2026-03-06
7+
modified: 2026-03-26
88
platform: microsoft_sentinel
99
query_language: kql
1010
logsource:
1111
product: windows
1212
category: file_event
1313
query: |
1414
DeviceFileEvents
15-
| where FolderPath has_any ("\Users\","\Desktop\","\Documents\","\Downloads\")
16-
| summarize FileTouches=count(), Paths=dcount(FolderPath) by DeviceName, InitiatingProcessAccountName, InitiatingProcessFileName, bin(Timestamp, 15m)
15+
| where FolderPath has_any ("\\Users\\","\\Desktop\\","\\Documents\\","\\Downloads\\")
16+
| where InitiatingProcessFileName !in~ ("explorer.exe","SearchIndexer.exe","OneDrive.exe","MsMpEng.exe","svchost.exe")
17+
| summarize FileTouches=count(), Paths=dcount(FolderPath), SamplePaths=make_set(FolderPath,20) by DeviceName, InitiatingProcessAccountName, InitiatingProcessFileName, InitiatingProcessCommandLine, bin(Timestamp, 15m)
1718
| where FileTouches >= 200 and Paths >= 3
1819
severity: medium
1920
risk_score: 58
@@ -27,17 +28,20 @@ kill_chain_phases:
2728
data_sources:
2829
- DeviceFileEvents
2930
falsepositives:
30-
- Backup, indexing, or anti-malware scanning
31-
- Bulk file management by IT administrators
31+
- Backup, indexing, sync, or anti-malware scanning
32+
- Bulk file handling by administrators or approved enterprise tooling
33+
- Software inventory or migration utilities
3234
triage:
33-
- Identify the process touching large numbers of files
34-
- Determine whether normal tooling explains the volume
35-
- Review for compression or outbound transfer soon after
35+
- Identify the process touching large numbers of files and whether it is normal for the host
36+
- Review the command line, signer, path, and parent process for suspicious execution context
37+
- Check whether archive creation, cloud upload, email transfer, or removable media usage followed soon after
3638
validation:
37-
- Use a benign script to recurse through user folders in a lab
39+
- Use a benign script to recurse through user folders in a lab and tune thresholds against normal platform noise
3840
lifecycle: experimental
3941
owner: Detection Engineering
4042
tags:
4143
- attack.collection
44+
- attack.t1005
45+
- attack.t1039
4246
- sentinel
43-
- collection
47+
- collection

0 commit comments

Comments
 (0)