CYFIRMA - Attack Surface - Cloud Weakness High Rule
| Id | 87cd8b10-90f6-4967-a4a7-2142e848ec8f |
| Rulename | CYFIRMA - Attack Surface - Cloud Weakness High Rule |
| Description | “This rule detects cloud storage buckets (e.g., AWS S3) that are publicly accessible without authentication. Such misconfigurations can lead to data exfiltration, compliance violations, and reputational damage. The detection is based on Cyfirma’s Attack Surface Intelligence.” |
| Severity | High |
| Tactics | InitialAccess Collection Discovery Exfiltration |
| Techniques | T1087 T1087.004 |
| Required data connectors | CyfirmaAttackSurfaceAlertsConnector |
| Kind | Scheduled |
| Query frequency | 5m |
| Query period | 5m |
| Trigger threshold | 0 |
| Trigger operator | gt |
| Source Uri | https://github.com/Azure/Azure-Sentinel/blob/master/Solutions/Cyfirma Attack Surface/Analytic Rules/ASCloudWeaknessHighRule.yaml |
| Version | 1.0.1 |
| Arm template | 87cd8b10-90f6-4967-a4a7-2142e848ec8f.json |
// High Severity - Attack Surface - Cloud Weakness - Unauthorized Public Cloud Storage Exposure Detected
let timeFrame = 5m;
CyfirmaASCloudWeaknessAlerts_CL
| where severity == 'Critical' and TimeGenerated between (ago(timeFrame) .. now())
| extend
Description=description,
FirstSeen=first_seen,
LastSeen=last_seen,
RiskScore=risk_score,
Domain=asset_name,
AlertUID=alert_uid,
UID=uid,
Source=source,
SourceType=source_type,
CreatedDate=created_date,
Impact=impact,
ProviderName='CYFIRMA',
ProductName='DeCYFIR/DeTCT'
| project
TimeGenerated,
Description,
Domain,
RiskScore,
FirstSeen,
LastSeen,
AlertUID,
UID,
Source,
SourceType,
CreatedDate,
Impact,
ProviderName,
ProductName
description: |
"This rule detects cloud storage buckets (e.g., AWS S3) that are publicly accessible without authentication.
Such misconfigurations can lead to data exfiltration, compliance violations, and reputational damage.
The detection is based on Cyfirma's Attack Surface Intelligence."
tactics:
- InitialAccess
- Collection
- Discovery
- Exfiltration
requiredDataConnectors:
- dataTypes:
- CyfirmaASCloudWeaknessAlerts_CL
connectorId: CyfirmaAttackSurfaceAlertsConnector
alertDetailsOverride:
alertDisplayNameFormat: 'CYFIRMA - High Severity Alert - Unauthorized Public Cloud Storage Exposure Detected - Domain: {{Domain}} '
alertDescriptionFormat: 'CYFIRMA - High Severity Alert - Unauthorized Public Cloud Storage Exposure Detected - {{Description}} '
alertDynamicProperties:
- value: ProductName
alertProperty: ProductName
- value: ProviderName
alertProperty: ProviderName
incidentConfiguration:
groupingConfiguration:
enabled: false
lookbackDuration: PT5H
reopenClosedIncident: false
matchingMethod: AllEntities
createIncident: true
id: 87cd8b10-90f6-4967-a4a7-2142e848ec8f
severity: High
eventGroupingSettings:
aggregationKind: AlertPerResult
status: Available
customDetails:
CreatedDate: CreatedDate
FirstSeen: FirstSeen
SourceType: SourceType
Impact: Impact
UID: UID
LastSeen: LastSeen
RiskScore: RiskScore
AlertUID: AlertUID
Source: Source
TimeGenerated: TimeGenerated
query: |
// High Severity - Attack Surface - Cloud Weakness - Unauthorized Public Cloud Storage Exposure Detected
let timeFrame = 5m;
CyfirmaASCloudWeaknessAlerts_CL
| where severity == 'Critical' and TimeGenerated between (ago(timeFrame) .. now())
| extend
Description=description,
FirstSeen=first_seen,
LastSeen=last_seen,
RiskScore=risk_score,
Domain=asset_name,
AlertUID=alert_uid,
UID=uid,
Source=source,
SourceType=source_type,
CreatedDate=created_date,
Impact=impact,
ProviderName='CYFIRMA',
ProductName='DeCYFIR/DeTCT'
| project
TimeGenerated,
Description,
Domain,
RiskScore,
FirstSeen,
LastSeen,
AlertUID,
UID,
Source,
SourceType,
CreatedDate,
Impact,
ProviderName,
ProductName
OriginalUri: https://github.com/Azure/Azure-Sentinel/blob/master/Solutions/Cyfirma Attack Surface/Analytic Rules/ASCloudWeaknessHighRule.yaml
kind: Scheduled
queryPeriod: 5m
name: CYFIRMA - Attack Surface - Cloud Weakness High Rule
queryFrequency: 5m
triggerThreshold: 0
relevantTechniques:
- T1087
- T1087.004
version: 1.0.1
entityMappings:
- entityType: DNS
fieldMappings:
- identifier: DomainName
columnName: Domain
triggerOperator: gt