Detection rules › Panther

Azure Storage File Share Created or Modified

Severity
informational
Log types
Azure.MonitorActivity
Tags
Exfiltration, Exfiltration Over Alternative Protocol, Collection, Data from Cloud Storage, AZT702, AZT702.1, File Share Mounting, Storage Account File Share NFS/SMB Mount
Reference
https://microsoft.github.io/Azure-Threat-Research-Matrix/Impact/AZT702/AZT702-1
Source
github.com/panther-labs/panther-analysis

Detects when an Azure Storage file share is created or modified. File shares can be mounted as network drives using SMB or NFS protocols, providing persistent access to storage. Adversaries may create or modify file shares to establish data exfiltration channels or mount shares to local systems for easier data transfer. While file share operations are common in legitimate scenarios, monitoring these activities helps establish baselines and identify unusual patterns that may indicate data exfiltration.

MITRE ATT&CK coverage

Rule body yaml

AnalysisType: rule
Filename: azure_storage_fileshare_modified.py
RuleID: "Azure.MonitorActivity.Storage.FileShareModified"
DisplayName: "Azure Storage File Share Created or Modified"
Enabled: true
LogTypes:
  - Azure.MonitorActivity
Severity: Info
Description: >
  Detects when an Azure Storage file share is created or modified. File shares can be mounted as
  network drives using SMB or NFS protocols, providing persistent access to storage. Adversaries may
  create or modify file shares to establish data exfiltration channels or mount shares to local systems
  for easier data transfer. While file share operations are common in legitimate scenarios, monitoring
  these activities helps establish baselines and identify unusual patterns that may indicate data exfiltration.
Reports:
  MITRE ATT&CK:
    - TA0010:T1048 # Exfiltration: Exfiltration Over Alternative Protocol
    - TA0009:T1530 # Collection: Data from Cloud Storage
Tags:
  - Exfiltration
  - Exfiltration Over Alternative Protocol
  - Collection
  - Data from Cloud Storage
  - AZT702
  - AZT702.1
  - File Share Mounting
  - Storage Account File Share NFS/SMB Mount
Runbook: |
  1. Find all storage account operations by the callerIpAddress in the 6 hours before and after this alert to identify if this is part of a data staging or exfiltration pattern
  2. Query for the storage account configuration to determine if the file share has public access or is restricted to specific networks
  3. Check if the callerIpAddress has created or modified file shares in the past 30 days to determine if this is normal administrative behavior
Reference: https://microsoft.github.io/Azure-Threat-Research-Matrix/Impact/AZT702/AZT702-1
SummaryAttributes:
  - resourceId
  - callerIpAddress
  - correlationId
Tests:
  - Name: File Share Created
    ExpectedResult: true
    Log:
      {
        "time": "2025-12-23T10:30:00.0000000Z",
        "resourceId": "/subscriptions/12345678-1234-1234-1234-123456789abc/resourceGroups/storage-rg/providers/Microsoft.Storage/storageAccounts/mystorageaccount/fileServices/default/shares/data-share",
        "operationName": "Microsoft.Storage/storageAccounts/fileServices/shares/write",
        "operationVersion": "2021-09-01",
        "category": "Administrative",
        "resultType": "Success",
        "resultSignature": "201",
        "callerIpAddress": "1.1.1.1",
        "correlationId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
        "level": "Informational",
        "location": "eastus",
        "tenantId": "87654321-4321-4321-4321-111111111111"
      }
  - Name: File Share Modified
    ExpectedResult: true
    Log:
      {
        "time": "2025-12-23T11:00:00.0000000Z",
        "resourceId": "/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/prod-rg/providers/Microsoft.Storage/storageAccounts/prodstorage/fileServices/default/shares/backup-share",
        "operationName": "Microsoft.Storage/storageAccounts/fileServices/shares/write",
        "category": "Administrative",
        "resultType": "Succeeded",
        "callerIpAddress": "2.2.2.2",
        "correlationId": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
        "level": "Information",
        "location": "westeurope",
        "tenantId": "22222222-2222-2222-2222-222222222222"
      }
  - Name: Case Insensitive Match
    ExpectedResult: true
    Log:
      {
        "time": "2025-12-23T12:00:00.0000000Z",
        "resourceId": "/subscriptions/33333333-3333-3333-3333-333333333333/resourceGroups/app-rg/providers/Microsoft.Storage/storageAccounts/appstorage/fileServices/default/shares/app-data",
        "operationName": "microsoft.storage/storageaccounts/fileservices/shares/write",
        "category": "Administrative",
        "resultType": "Success",
        "callerIpAddress": "3.3.3.3",
        "correlationId": "c3d4e5f6-a7b8-9012-cdef-333333333333",
        "level": "Informational",
        "location": "centralus",
        "tenantId": "33333333-3333-3333-3333-333333333333"
      }
  - Name: Different Operation
    ExpectedResult: false
    Log:
      {
        "time": "2025-12-23T16:00:00.0000000Z",
        "resourceId": "/subscriptions/77777777-7777-7777-7777-777777777777/resourceGroups/storage-rg/providers/Microsoft.Storage/storageAccounts/storage/fileServices/default/shares/share",
        "operationName": "Microsoft.Storage/storageAccounts/fileServices/shares/read",
        "category": "Administrative",
        "resultType": "Success",
        "callerIpAddress": "7.7.7.7",
        "correlationId": "a7b8c9d0-e1f2-3456-0123-777777777777",
        "tenantId": "77777777-7777-7777-7777-777777777777"
      }

Detection logic

Condition

operationName in "MICROSOFT.STORAGE/STORAGEACCOUNTS/FILESERVICES/SHARES/WRITE"
resultType in ["Success", "Succeeded"]

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
operationNamein
  • MICROSOFT.STORAGE/STORAGEACCOUNTS/FILESERVICES/SHARES/WRITE
resultTypein
  • Succeeded
  • Success