Stappen Azure - Heavy
Stap 1: Voorbereiding en Scopebepaling
1.1 Stakeholderoverleg en Documentatieverzameling
Inventariseer de Azure-omgeving en dependencies
Breng de volledige Azure-architectuur in kaart (VM’s, AKS, App Services, Function Apps, Storage, Key Vaults, IoT Hubs, etc.).
Maak een diagram waarin ook hybride koppelingen (on-premises, multi-cloud) zichtbaar zijn.
Controleer de huidige beveiligingsrichtlijnen
Raadpleeg ISO 27001 ISMS-documentatie, Tenant Security Baseline, en eventuele eigen securitypolicies.
Kijk specifiek naar Annex A.14 (Systems Acquisition, Development & Maintenance) en A.13 (Communications Security) voor cloud-gerelateerde controles.
Identificeer bedrijfsprocessen en kritieke data
Bepaal welke data (PII, financiële gegevens, intellectueel eigendom) en processen (financiële transacties, productie-applicaties) kritisch zijn.
Check compliance-eisen (GDPR, PCI DSS, HIPAA, SOC 2) en breng deze in verband met de cloudservices in gebruik.
Maak een risico-indeling
Koppel elk kritisch systeem aan mogelijke risico’s zoals integriteitsverlies, datalekken of serviceonderbreking.
Gebruik een risicomatrix (Impact vs. Waarschijnlijkheid) om prioriteiten vast te stellen voor de pentest.
Review van eerdere pentests of audits
Bekijken van bestaande rapporten: wat is eerder gevonden en hoe is daarop gereageerd?
Controleer of eerdere bevindingen opnieuw geverifieerd moeten worden (regressietest).
1.2 Rules of Engagement (RoE)
Testvensters
Spreek expliciet af wanneer disruptieve tests (zoals (mini-)DoS of stress-tests) mogen plaatsvinden.
Definieer ‘business hours’ en ‘maintenance windows’.
Afgesproken tools en methoden
Techniek 1: Scantools (Nessus, OpenVAS, Qualys) en netwerkscans (Nmap).
Techniek 2: Webapp- en API-tests: Burp Suite, OWASP ZAP, Recon-ng.
Techniek 3: Azure CLI/PowerShell-scripts voor enumeratie en configuratietesten.
Techniek 4: Container/AKS-scanners (Trivy, Clair, Kubebench) en SAST/DAST-pipelines.
Techniek 5: Exploitation frameworks (Metasploit/Cobalt Strike) in beperkte, vooraf goedgekeurde scenario’s.
Impactbeperking
Minimaliseer risico op downtime: geen bulk-aanmaken of -verwijderen van resources.
Gebruik speciaal aangemaakte testaccounts voor brute-forcing of credential-stuffing.
Incidentmanagement
Definieer escalatieniveaus: bij kritieke verstoringen (productie-down) → direct telefonisch contact met Security Officer.
Stel SLA’s op voor responstijden (bijv. 15 minuten reactie bij ernstige problemen).
Juridische aspecten
Letter of Authorization door directie en/of CISO ondertekend.
Mogelijk extra NDA’s als er persoonsgegevens van derden in Azure staan.
Stap 2: Reconnaissance
2.1 Externe Inventarisatie
DNS- en subdomeinscans
Techniek 1: Amass of Sublist3r om subdomeinen te detecteren die verwijzen naar *.azurewebsites.net of *.blob.core.windows.net.
Techniek 2: MassDNS voor snellere lookups op grote woordlijsten.
Techniek 3: Reverse DNS-scan op Microsoft IP-ranges met Shodan/Censys.
Techniek 4: Dearchiveer DNSSEC-instellingen, check mogelijke misconfiguraties.
Techniek 5: Kijk naar DKIM/SPF-records (indien mail in Azure, Exchange Online) om spoofingrisico te beoordelen.
Publieke metadata en OSINT
Zoeken naar configbestanden of credentials op GitHub, GitLab, Pastebin, Gist.
Speur persberichten, conferentieslides, social media voor hints over de gebruikte Azure-services.
Cloud Storage Check
Techniek 1: GreyHatWarfare- of Bucketsso-achtige tools voor het vinden van open blob containers.
Techniek 2: Met Python requests attempt indexes op https://accountname.blob.core.windows.net/containername.
Techniek 3: Fuzz container namen met tools als Microburst.
Techniek 4: Check of client-cors-configs niet per ongeluk wildcarden (Access-Control-Allow-Origin: *).
Techniek 5: Kijken of backups of data exports publiek staan (bv. .bak-bestanden, .csv dumps).
Selfscan van publiek toegankelijke endpoints
Fuzzing op *.azurewebsites.net met dirsearch, wfuzz.
SSLyze of testssl.sh om de TLS-sterkte te checken (oude ciphers?).
Reverse IP lookup: welke subdomeinen draaien op hetzelfde IP als *.azurewebsites.net ?
Evaluatie van Cloud Footprint
Bepaal welke delen van Azure publiek toegankelijk (exposed) zijn en noteer IP-ranges.
Maak een prioriteitenlijst van deze componenten voor latere deep-dive.
2.2 Interne Inventarisatie
Tenant Resource Listing
Techniek 1:
Get-AzResource -ResourceGroupName *in PowerShell, parse JSON-resultaten.Techniek 2:
az resource list --output tableom snel te filteren op resource types.Techniek 3: Vergelijk bestaande ARM-templates en Terraform-manifests met de huidige ‘live’ toestand (drift-detectie).
Techniek 4: Microburst of AzureHound (BloodHound-variant voor Azure) om IAM-relaties te visualiseren.
Techniek 5: Let op afgeschermde Previews of Beta-services die onbedoeld actief zijn.
Azure Active Directory Overzicht
Haal lijst op van alle Security en Microsoft 365 Groups.
Inventariseer Applicatie-registraties, OAuth2.0 toestemmingen (met name Graph API).
Check PIM (Privileged Identity Management): wie kan escaleren naar Global Admin?
Beheerderstoegang en Rollen
Identificeer alle Subscription Admins, Resource Group Owners en Tenant Global Admins.
Let op custom roles die potentieel te permissief zijn (“*" in actions).
Controleer Managed Service Identities die per abuis Owner op subscription-level zijn.
Netwerkcomponenten
Overzicht van VNets, Subnetten, NSG’s, Peering-relaties, ExpressRoute, VPN Gateways.
Kijk naar user-defined routes (UDR) die al het verkeer naar onveilige endpoints leiden.
Log en Monitoringconfiguraties
Techniek 1: Check Diagnostic Settings per resource; waar worden logs heen gestuurd (Log Analytics, Event Hub)?
Techniek 2: Check Logging Retention (7 dagen? 90 dagen?).
Techniek 3: Integreer met Microsoft Defender for Cloud?
Techniek 4: Analyseer of KQL-queries in Sentinel bestaan voor kritieke activiteiten.
Techniek 5: Bepaal of men ook custom logs gebruikt (bijv. container logs, func-logs).
Stap 3: Kwetsbaarheidsscans en Configuratieanalyse
3.1 Identiteitsbeheer en Authenticatie
Wachtwoordbeleid en MFA
Techniek 1: PowerShell-script om Password Hash Sync- en MFA-status te controleren.
Techniek 2: Geautoriseerde Password Spray test via dummyaccounts, check of er lock-out policies zijn.
Techniek 3: Hydra op OWA/EAS (Exchange Online) voor legacy auth-checks.
Techniek 4: Inspecteer Azure AD B2B-instellingen (een gast kan anders te veel rechten verkrijgen).
Techniek 5: Check of risicodetecties in Azure AD Identity Protection worden gemeld.
Gast- en serviceaccounts
Filter op ‘UserType = Guest’ en let op inactieve / slapende gastaccounts.
Controleer Service Principals (bijv. MS Graph apps) op “application permissions” (zeer krachtig).
Check licentieconsumptie (Office E3/E5) vs. werkelijk gebruik.
Analyze Legacy Authentication
Techniek 1: Vergeet niet EWS (Exchange Web Services), EAS (Exchange ActiveSync).
Techniek 2: Kijk naar logs in Azure AD Sign-in: filter op “Legacy Authentication = True”.
Techniek 3: Bepaal of Conditional Access legacy protocollen blokkeert.
Techniek 4: Probeer IMAP/POP3 authenticatie met Telnet/Python scripts.
Techniek 5: Check “Security Defaults” in Azure AD als alternatieve baseline.
Policy Management
Techniek 1: Listeer alle Conditional Access Policies (
Get-AzureADPolicy), let op conflicts.Techniek 2: Check Named Locations (IPv4, IPv6 ranges, geolocatie).
Techniek 3: Evalueer Sessiepolicies (continuous access evaluation).
Techniek 4: Custom RBAC-rollen in Azure (Owner, Contributor) – let op misconfiguraties.
Techniek 5: Inspecteer of PIM (Privileged Identity Management) wel actief wordt gebruikt.
Verouderde protocollen
Techniek 1: Banner grab IMAP4/POP3 op M365 endpoints.
Techniek 2: Python scripting (imaplib) om Basic Auth te testen.
Techniek 3: Check op NTLM of on-prem AD Federation Services.
Techniek 4: SAML-assertion vervalsingstesten (indien ADFS/SSO on-prem/hybride).
Techniek 5: Monitor sign-in logs: detecteerde Azure AD deze handmatige testaanval?
3.2 Compute Resources
VM’s en OS-patching
Techniek 1: Nmap-scripts:
nmap -sV --script vuln x.x.x.x -p-Techniek 2: Metasploit auxiliary: smb_version, ssh_login, rdp_scanner.
Techniek 3: Chef InSpec of OpenSCAP benchmarks voor Linux/Windows OS.
Techniek 4: Azure Policy: “VM must have approved patches installed” → check compliance.
Techniek 5: Kijken of Disk Encryption (BitLocker/dm-crypt) actief is en correct geconfigureerd.
AKS en Containers
Techniek 1: kube-hunter of kubectl-get enumeratie (
kubectl get pods -A) check of je overpermissioned bent.Techniek 2: Trivy/Clair scans op images (evt. container registries).
Techniek 3: Kubebench (CIS Benchmark for Kubernetes).
Techniek 4: Check of RBAC cluster-wide te permissief is (“admin:admin”).
Techniek 5: Inspecteer NetworkPolicy: is verkeer tussen pods beperkt?
App Services en Function Apps
Techniek 1: Wappalyzer + OWASP ZAP-proxy om webonderdelen te analyseren (CMS, frameworks).
Techniek 2: SAST (SonarQube) en DAST (ZAP) op het CI/CD-proces (Azure DevOps).
Techniek 3: Inspectie TLS (TLS 1.2+?), clientcertificaten?
Techniek 4: Connection Strings naar databases in plain text?
Techniek 5: Rate-limiting of IP-limiting check (API-tier-limit).
3.3 Opslag en Data Security
Storage Accounts
Techniek 1:
az storage container list --account-name X --output tablecheck public-access.Techniek 2: Fuzz container names (perl- of python-scripts).
Techniek 3: “Secure Transfer Required = Enabled”? Anders is HTTP toegestaan.
Techniek 4: Azure Monitor diag logs: detecteer anonieme requests?
Techniek 5: Check Private Endpoints; zijn er resources toch publiek?
SAS-tokens
Techniek 1: Create SAS-tokens met extreme scope en test of je ongeautoriseerde data kunt exfiltreren.
Techniek 2: Bepaal of er policies zijn op maximale geldigheidsduur.
Techniek 3: Fuzzen van SAS-tokens (kans op brute-forcing is klein maar niet nul).
Techniek 4: Draai test-lambda/azure function die random tokens checkt.
Techniek 5: Lab-scenario: Expire SAS-token; check of logs correct melding geven.
Key Vault
Techniek 1: Key Vault Access Policies: wie mag secrets, keys en certificates beheren?
Techniek 2: Soft-delete en purge protection geactiveerd? Zo niet: direct risico op permanent secret verlies.
Techniek 3: Sleutelrotatie-interval, is dat realistisch (30-90 dagen)?
Techniek 4: Auditing: check of elke secret read in logs verschijnt.
Techniek 5: Probeer “Vault chaining”: secret in Vault A verwijst naar B – check misconfig.
3.4 Netwerkbeveiliging
Virtual Networks en Subnetting
Techniek 1: Volledige portscan (TCP+UDP) van subnet A → B indien interne toegang.
Techniek 2: Validate route tables (UDR) die verkeer omleiden naar externe of onveilige endpoints.
Techniek 3: NSG-rules: let op “ANY,ANY,ALLOW” bovenaan.
Techniek 4: ARP/ND Spoof test in eigen sandbox VM.
Techniek 5: VLAN-hopping (indien ExpressRoute connecties of S2S VPN’s).
Firewall, Application Gateway, VPN
Techniek 1: hping3 mini-DDoS test (met lage packet rate) richting App Gateway.
Techniek 2: Packet capture in Azure Network Watcher om filtering te valideren.
Techniek 3: WAF-regels: check of modsec ruleset up-to-date is (OWASP CRS).
Techniek 4: Inspecteer IPSec / IKEv2 sterkte op Azure VPN Gateway.
Techniek 5: Test of firewall logging is ingeschakeld en of alerts/metrics worden verzameld (Sentinel?).
Monitoring en Logging
Techniek 1: Azure Flow Logs voor NSG: check of enabled en > 0MB logs.
Techniek 2: DDoS Protection Standard: check of subscription is onboarded.
Techniek 3: Packet capturing: Connection Monitor scenario’s.
Techniek 4: SIEM-check in Sentinel: custom KQL queries voor netwerkanomalieën.
Techniek 5: Lateral movement tests (binnen subnets) en kijken of detectie plaatsvindt.
3.5 Applicaties en API’s
Azure App Services
Techniek 1: OWASP ZAP of Burp Site map en spider op *.azurewebsites.net.
Techniek 2: API fuzzing (SoapUI, Postman, boofuzz) met diverse methoden (GET, POST, PUT, DELETE).
Techniek 3: Inspecteer API Management config: throttling, IP white/blacklists.
Techniek 4: Check op XSS (reflected, stored, DOM), SSRF, SQL/Command injecties.
Techniek 5: Kijk of custom domain in App Service TLS correct (geen wildcard mismatch).
Logic Apps en Function Apps
Techniek 1: Inspecteer triggers (“HTTPTrigger” met Anonymous auth is risicovol).
Techniek 2: Invoervalidering: test JSON/XML-injectie, path traversal.
Techniek 3: CI/CD secrets management in repos.
Techniek 4: Check logverbosity, of credentials in plain text in logs.
Techniek 5: Cross-tenant connectors: bijv. link naar externe SharePoint – escalaties?
Key Vault (Herhaling)
Techniek 1: Soft-delete test: remove secret, direct purge → check misconfig.
Techniek 2: Overlapping access policies (Owner + KeyPermissions) => te groot attack surface.
Techniek 3: Automatisering: Terraform config – misconfig?
Techniek 4: Check codesecrets (pfx, private keys) en cryptografische sterkte.
Techniek 5: Evalueer Key Vault daily logs op pattern van misbruik/spam reads.
3.6 Beveiligingstools en Logging
Azure Security Center / Defender
Techniek 1: JIT VM Access test: open RDP/SSH pas na request, check logging.
Techniek 2: Security Score en aanbevelingen – scan in hoeverre die zijn opgevolgd.
Techniek 3: Simuleer ransomware in test-VM; Defender for Cloud moet alarmeren.
Techniek 4: Azure Defender for Containers: check scanning images in ACR.
Techniek 5: Policy compliance-check (CIS, Azure baseline) in Security Center.
Azure Monitor / Log Analytics / Sentinel
Techniek 1: Custom logs config, ex. container logs, function logs, key vault audit logs.
Techniek 2: KQL-queries om brute-force of password spray te detecteren.
Techniek 3: Creëer detectieregels “User logs in from suspicious country” of “Sudden resource creation spike”.
Techniek 4: Test incident creation in Sentinel, observeer escalatie.
Techniek 5: Spear-phishing simulatie, correlatie check in Sentinel/Defender.
Compliance en Governance
Techniek 1: Azure Policy: resource compliance-lijsten (vm, storage, keys).
Techniek 2: Resource tagging: (CostCenter, Env=Prod, Sensitivity=High).
Techniek 3: Azure Blueprints, enforced?
Techniek 4: Azure Advisor recommendations t.b.v. security vs. performance.
Techniek 5: Alert op resource creatie buiten “Allowed locations”.
Stap 4: Resultaatanalyse en Rapportage
4.1 Rapportage van Bevindingen
Kwetsbaarhedenlijst
Techniek 1: CVSS-scores, aangevuld met context (kritieke data, compliance).
Techniek 2: PoC-scripts of tooling-output (screenshots) in bijlage.
Techniek 3: Onderscheid exploitabel vs. potentiële risico’s.
Techniek 4: Link bevindingen aan ISO 27001 Annex A-controls.
Techniek 5: Alle data versleuteld opslaan voor confidentiality.
Impactanalyse
Benoem schade: datalek, credentialscompromis, serviceonderbreking.
Bijvoorbeeld: “Als deze Key Vault-kwetsbaarheid wordt uitgebuit, kan men X, Y, Z.”
Prioritering
High: onmiddellijk oplossen.
Medium: plan voor de korte termijn.
Low: langetermijn / best practice.
Managementsamenvatting
Kort, bondig, met kerncijfers (# crit., # med, # low).
Gevolgen voor compliance, reputatie, continuïteit.
Transparantie
Wat is wél getest, wat is uitgesloten (bv. DoS op productie)?
Garandeer integriteit van de testresultaten.
4.2 Aanbevelingen en Verbeteracties
Technische Adviezen
Techniek 1: MFA-verplichting voor alle beheerders en gevoelige accounts.
Techniek 2: NSG’s opschonen; alleen toegestane ports, JIT Access voor RDP/SSH.
Techniek 3: Key Vault soft-delete + purge protection en sleutelrotatie inplannen.
Techniek 4: Opslagaccounts: “Secure Transfer Required” en private endpoints.
Techniek 5: Container image scanning in CI/CD.
Organisatorische Adviezen
Techniek 1: Maandelijkse account- en autorisatie review.
Techniek 2: Change management aangescherpt voor Azure resource creaties.
Techniek 3: “Security Champions” in ieder development-/DevOps-team.
Techniek 4: Meer training in phishing- en social-engineering scenario’s.
Techniek 5: Regelmatig interne audits op compliance-checks (Azure Policy).
Continuous Monitoring
Techniek 1: Sentinel-dashboards voor IAM-anomalieën (bijv. “Owner role assigned om 03:00u”).
Techniek 2: SAST/DAST-integratie in de DevOps-pipeline (Azure DevOps, GitHub Actions).
Techniek 3: Alerts op resource spikes of grote data-exfil.
Techniek 4: “Azure Security Benchmark” mapping naar eigen policies.
Techniek 5: Eventuele automatische mitigaties (bijv. resource isoleren bij vermoede inbraak).
4.3 Nazorg en Validatie
Hertesten
Techniek 1: Mini-pentest op de aangepaste resources (patchverificatie).
Techniek 2: Scripting retest: “High vulnerabilities” direct opnieuw scannen.
Techniek 3: E2E scenario-validate: compromised user → privileges?
Techniek 4: CI/CD pipeline-check: zijn security-plugins nu geactiveerd?
Techniek 5: Logs nalopen om te checken of nieuwe regels/policies afdoende zijn.
Documentatie
ISMS en risicoregister bijwerken met bevinding→actie→status.
Bewaar de testresultaten, PoC’s en rapporten conform Annex A.8 (Asset Management).
Continue Verbetering
Techniek 1: Lessons-learned sessie, verbeterpunten voor volgende pentest.
Techniek 2: KPI’s instellen: “Binnen 2 dagen fix voor kritieke issues.”
Techniek 3: Security Champions programma uitbreiden.
Techniek 4: Periodieke compliance-checks in de pipeline (Terraform/ARM-lint).
Techniek 5: Feedbackloop: managementbesluiten → updates in beleid → pentest → audit.
Stap 5: Borging in ISO 27001 Framework
Updaten van het Risicoregister
Techniek 1: Link elke bevinding aan specifieke ISO 27001 Annex A-controles.
Techniek 2: Bepaal rest-risico na implementatie van mitigerende maatregelen.
Techniek 3: Stel nieuwe of gewijzigde controls voor (bv. strengere NAC, extra detection rules).
Techniek 4: Definieer eigenaar en deadline van iedere risicobeheersactie.
Techniek 5: Monitor voortgang van risico-oplossing via ISMS-rapportages.
Management Review
Techniek 1: Presentatie van bevindingen met visuals (grafieken, trending van vulnerabilities).
Techniek 2: Betrek DPO (Data Protection Officer) en CISO bij privacy- en complianceaspecten.
Techniek 3: Budget en resourcebeslissingen voor implementatie van fixes.
Techniek 4: Afstemmen frequentie van toekomstige pentests (bijv. halfjaarlijks, jaarlijks).
Techniek 5: Nieuwe securitydoelstellingen formuleren (bijv. “MFA coverage 100% in Q3,” “Geen kritieke findings bij volgende audit”).
Continue PDCA-cyclus
Plan: Leg vast welke findings urgent zijn (High) en welke middellang (Medium).
Do: Implementeer technische en organisatorische verbeteringen (configupdates, training, etc.).
Check: Validate de effectiviteit middels retest, logging, interne audits.
Act: Optimaliseer beleid en procedures, stel nieuwe KPI’s en herhaal de cycle.
Zie Red Teaming Sheets voor meer pwness
Last updated