Detecting Misconfigured Azure Storage
Overview
Cybersecurity skill for detecting misconfigured azure storage. Follows industry best practices and security standards.
When to Use
Trigger phrases:
"detecting misconfigured azure storage"
"Detecting misconfigured Azure Storage accounts including publicly accessible blo"
When performing a security audit of Azure Storage accounts across subscriptions
When responding to Microsoft Defender for Storage alerts about anonymous access or data exfiltration
When compliance requires verification of encryption, network restrictions, and access logging
When investigating potential data exposure through publicly accessible blob containers
When onboarding Azure subscriptions and establishing storage security baselines
Do not use for Azure SQL or Cosmos DB security auditing (use dedicated database security tools), for real-time threat detection on storage operations (use Defender for Storage), or for Azure Files or Data Lake Gen2 specific auditing without adapting the checks.
When NOT to Use
- When you lack proper authorization for testing
- For production systems without change management
- When the task requires legal or compliance expertise beyond technical scope
Prerequisites
- Azure CLI installed and authenticated (
az login) with Reader and Storage Account Contributor roles
- Az PowerShell module installed for advanced queries (
Install-Module Az.Storage)
- Microsoft Defender for Storage enabled for threat detection
- Access to Azure Resource Graph for cross-subscription queries
- ScoutSuite or Prowler Azure provider for automated assessment
Workflow
# Example: IOC detection
import re
IOC_PATTERNS = {
"ip": r"\b(?:\d{1,3}\.){3}\d{1,3}\b",
"domain": r"\b[a-z0-9-]+\.[a-z]{2,}\b",
"hash_md5": r"\b[a-f0-9]{32}\b",
"hash_sha256": r"\b[a-f0-9]{64}\b",
}
def extract_iocs(text: str) -> dict:
return {k: re.findall(v, text) for k, v in IOC_PATTERNS.items()}
- Define Detection Scope — Identify the specific misconfigured azure storage techniques or indicators to hunt. Map to MITRE ATT&CK tactics/techniques where applicable.
- Collect Baseline Data — Gather historical logs and establish normal behavior patterns for misconfigured azure storage.
- Build Detection Queries — Write detection rules, Sigma rules, or SIEM queries targeting misconfigured azure storage indicators.
- Execute Hunts — Run queries against the collected data, starting with broad filters and narrowing down.
- Triage Results — Investigate alerts, filter false positives, and validate findings against known-good behavior.
- Document Findings — Record confirmed detections, IOCs, and affected systems. Update detection rules based on findings.
Tools
- SIEM Platform — Central log aggregation and query execution
- Sigma Rules — Vendor-agnostic detection rule format
- MITRE ATT&CK Navigator — Technique mapping and coverage analysis
Process
- Reconnaissance — Gather target information, identify attack surface, enumerate services
- Analysis/Exploitation — Execute the technique, analyze results, document findings
- Reporting — Document IOCs, write findings, provide remediation recommendations
Verification
Anti-Rationalization Table
| Rationalization |
Reality |
| "We are too small to be targeted" |
Automated attacks target everyone. Size does not matter. |
| "Security slows us down" |
A breach slows you down 100x more. Build security in from the start. |
| "We will fix it after launch" |
Vulnerabilities in production are exploited within hours. Fix before deploy. |
1---2name: detecting-misconfigured-azure-storage3description: Use when detecting misconfigured Azure Storage accounts including publicly accessible blob containers, missing encryption settings, overly permissive SAS tokens, disabled logging, and network access violations using Azure CLI, PowerShell, and Microsoft Defender for Storage. . Use when working with detecting misconfigured azure storage.4license: Apache-2.05---67# Detecting Misconfigured Azure Storage89## Overview1011Cybersecurity skill for detecting misconfigured azure storage. Follows industry best practices and security standards.1213## When to Use14**Trigger phrases:**15- "detecting misconfigured azure storage"16- "Detecting misconfigured Azure Storage accounts including publicly accessible blo"171819- When performing a security audit of Azure Storage accounts across subscriptions20- When responding to Microsoft Defender for Storage alerts about anonymous access or data exfiltration21- When compliance requires verification of encryption, network restrictions, and access logging22- When investigating potential data exposure through publicly accessible blob containers23- When onboarding Azure subscriptions and establishing storage security baselines2425**Do not use** for Azure SQL or Cosmos DB security auditing (use dedicated database security tools), for real-time threat detection on storage operations (use Defender for Storage), or for Azure Files or Data Lake Gen2 specific auditing without adapting the checks.262728## When NOT to Use2930- When you lack proper authorization for testing31- For production systems without change management32- When the task requires legal or compliance expertise beyond technical scope333435## Prerequisites3637- Azure CLI installed and authenticated (`az login`) with Reader and Storage Account Contributor roles38- Az PowerShell module installed for advanced queries (`Install-Module Az.Storage`)39- Microsoft Defender for Storage enabled for threat detection40- Access to Azure Resource Graph for cross-subscription queries41- ScoutSuite or Prowler Azure provider for automated assessment4243## Workflow4445```python46# Example: IOC detection47import re4849IOC_PATTERNS = {50 "ip": r"\b(?:\d{1,3}\.){3}\d{1,3}\b",51 "domain": r"\b[a-z0-9-]+\.[a-z]{2,}\b",52 "hash_md5": r"\b[a-f0-9]{32}\b",53 "hash_sha256": r"\b[a-f0-9]{64}\b",54}5556def extract_iocs(text: str) -> dict:57 return {k: re.findall(v, text) for k, v in IOC_PATTERNS.items()}58```59601. **Define Detection Scope** — Identify the specific misconfigured azure storage techniques or indicators to hunt. Map to MITRE ATT&CK tactics/techniques where applicable.612. **Collect Baseline Data** — Gather historical logs and establish normal behavior patterns for misconfigured azure storage.623. **Build Detection Queries** — Write detection rules, Sigma rules, or SIEM queries targeting misconfigured azure storage indicators.634. **Execute Hunts** — Run queries against the collected data, starting with broad filters and narrowing down.645. **Triage Results** — Investigate alerts, filter false positives, and validate findings against known-good behavior.656. **Document Findings** — Record confirmed detections, IOCs, and affected systems. Update detection rules based on findings.6667## Tools6869- **SIEM Platform** — Central log aggregation and query execution70- **Sigma Rules** — Vendor-agnostic detection rule format71- **MITRE ATT&CK Navigator** — Technique mapping and coverage analysis727374## Process75761. **Reconnaissance** — Gather target information, identify attack surface, enumerate services771. **Analysis/Exploitation** — Execute the technique, analyze results, document findings781. **Reporting** — Document IOCs, write findings, provide remediation recommendations7980## Verification8182- [ ] All misconfigured azure storage procedures executed completely and documented83- [ ] Findings validated against multiple data sources84- [ ] False positives identified and filtered85- [ ] Results documented with evidence and timestamps86- [ ] Recommendations provided with risk-based prioritization8788## Anti-Rationalization Table8990| Rationalization | Reality |91|---|---|92| "We are too small to be targeted" | Automated attacks target everyone. Size does not matter. |93| "Security slows us down" | A breach slows you down 100x more. Build security in from the start. |94| "We will fix it after launch" | Vulnerabilities in production are exploited within hours. Fix before deploy. |