Azure - Microsoft Azure
3 min readArticle
Microsoft's cloud platform. Especially dominant in enterprise environments because of tight Active Directory integration (Azure AD / Entra ID). If you're doing enterprise security work, you'll encounter Azure constantly — it's where most corporate identities live now.
Core Services
| Service | What It Is |
|---|---|
| Azure AD / Entra ID | Identity and access (cloud AD) |
| Azure VM | Virtual machines |
| Azure Blob Storage | Object storage (like S3) |
| Azure App Service | Web app hosting |
| Azure Functions | Serverless |
| Azure SQL | Managed SQL databases |
| Azure Key Vault | Secrets, certificates, keys |
| Azure Monitor | Logging and monitoring |
| Azure Defender | Security Center / threat detection |
| Azure VNet | Virtual network |
Azure CLI Setup
bash
# Install
curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash
# Login
az login
# Or login with service principal
az login --service-principal -u APP_ID -p PASSWORD --tenant TENANT_ID
# Set default subscription
az account set --subscription "My Subscription"
# Current identity
az account show
Common Commands
bash
# List resource groups
az group list --output table
# List VMs
az vm list --output table
az vm list-ip-addresses
# List storage accounts
az storage account list --output table
# List app services
az webapp list --output table
# List users (Azure AD)
az ad user list --output table
# List service principals
az ad sp list --output table
# Check role assignments
az role assignment list --output table
Azure AD / Entra ID (Security Focus)
bash
# List all users
az ad user list --query "[].{UPN:userPrincipalName, DisplayName:displayName}" -o table
# Get user details
az ad user show --id [email protected]
# List groups
az ad group list -o table
# List members of a group
az ad group member list --group "Global Admins" -o table
# List conditional access policies (requires Graph API or portal)
az rest --method GET --url "https://graph.microsoft.com/v1.0/identity/conditionalAccess/policies"
Storage Account Enumeration
bash
# Check if blob containers are public
az storage container list --account-name mystorageaccount --output table
# List blobs in a container
az storage blob list --account-name mystorageaccount --container-name mycontainer --output table
# Download a blob
az storage blob download --account-name myaccount --container-name mycontainer \
--name file.txt --file ./local_file.txt
Common Security Misconfigurations
- Publicly accessible blob containers
- Service principals with excessive permissions (Owner/Contributor)
- Legacy authentication protocols enabled (bypass MFA)
- No Conditional Access policies
- Guest users with too many permissions
- Management ports (RDP/SSH) open to internet
- No Azure Defender/Defender for Cloud enabled
- Logging not configured (no diagnostic settings)
- Azure AD Connect sync with pass-through auth vulnerabilities
AADInternals (Azure AD Attack Tool)
powershell
# Install
Install-Module AADInternals
# Get tenant info (no auth needed)
Get-AADIntLoginInformation -UserName [email protected]
# Enumerate users (if accessible)
Invoke-AADIntUserEnumerationAsOutsider -Domain "target.com"
See Also
- aws-amazon-web-services-guide - AWS comparison
- google-cloud-platform-guide - GCP
- powershell-scripting-guide - Azure PowerShell module
techzonesite.comUnlock Your IT Potential