Attack Simulation Training In Microsoft Defender Voor Office 365: Proactieve Security Awareness Opleiding

💼 Management Samenvatting

Attack Simulation Training is een geïntegreerde functionaliteit binnen Microsoft Defender voor Office 365 die organisaties in staat stelt om realistische, gesimuleerde cyberaanvallen uit te voeren tegen hun eigen medewerkers. Door medewerkers regelmatig bloot te stellen aan gecontroleerde simulaties van phishing, malware, credential harvesting en andere aanvallen, ontwikkelen zij praktische vaardigheden om echte bedreigingen te herkennen en te voorkomen. Deze aanpak transformeert medewerkers van potentiële zwakke schakels in de verdedigingslinie naar actieve deelnemers in de security van de organisatie.

Aanbeveling
IMPLEMENT
Risico zonder
High
Risk Score
9/10
Implementatie
32u (tech: 12u)
Van toepassing op:
M365
Microsoft Defender for Office 365 Plan 2
Exchange Online
Microsoft 365 E5

Statistieken tonen aan dat meer dan 90% van alle succesvolle cyberaanvallen begint met een phishing-email of social engineering poging. Medewerkers vormen daarmee de eerste verdedigingslinie, maar zonder regelmatige training en oefening blijkt deze linie vaak kwetsbaar. Traditionele security awareness trainingen, waarbij medewerkers presentaties volgen of e-learning modules doorlopen, hebben beperkt effect omdat kennis zonder herhaalde toepassing snel wegzakt. Attack Simulation Training lost dit op door medewerkers actief te betrekken bij realistische scenario's waarin zij direct ervaren hoe phishing-aanvallen eruit zien, welke technieken aanvallers gebruiken en hoe zij deze kunnen herkennen. Wanneer een medewerker op een gesimuleerde phishing-link klikt, wordt hij direct doorgestuurd naar een educatieve landingspagina die uitlegt wat er mis ging en hoe hij in de toekomst anders kan handelen. Deze directe feedback maakt het leerproces effectiever dan passieve training. Voor Nederlandse overheidsorganisaties is het implementeren van Attack Simulation Training bovendien essentieel voor naleving van BIO-, AVG- en NIS2-vereisten die expliciet vragen om continue awareness training en het meten van effectiviteit daarvan. Microsoft Defender voor Office 365 Attack Simulation Training biedt een volledig geïntegreerde oplossing die niet alleen simulaties uitvoert, maar ook uitgebreide rapportages genereert over de effectiviteit van training en trends over tijd.

PowerShell Modules Vereist
Primary API: Microsoft 365 Defender Portal, Microsoft Graph API
Connection: Microsoft Graph PowerShell, Microsoft 365 Defender REST API
Required Modules: Microsoft.Graph.Identity.SignIns, Microsoft.Graph.Reports

Implementatie

Attack Simulation Training in Microsoft Defender voor Office 365 is een platform voor het ontwerpen, uitvoeren en monitoren van gesimuleerde cyberaanvallen als onderdeel van een security awareness programma. De functionaliteit biedt een uitgebreide bibliotheek met vooraf gebouwde attack-templates die verschillende aanvalstypen simuleren, zoals credential harvesting waarbij gebruikers worden verleid om hun inloggegevens in te voeren op een nagemaakte website, malware in bijlagen waarbij gebruikers worden gevraagd om gevaarlijke bijlagen te openen, phishing via link waarbij gebruikers op verdachte links moeten klikken, drive-by download waarbij gebruikers naar kwaadaardige websites worden geleid, en OAuth consent grant aanvallen waarbij gebruikers worden verleid om kwaadaardige apps toegang te verlenen tot hun account. Elke simulatie kan worden aangepast met organisatie-specifieke details zoals huisstijl, afzendernamen en scenario's die relevant zijn voor de organisatie. Na het uitvoeren van een simulatie worden uitgebreide rapportages gegenereerd die laten zien hoeveel medewerkers op links hebben geklikt, hoeveel bijlagen hebben geopend, hoeveel credentials hebben ingevoerd en hoeveel verdachte berichten hebben gemeld. Deze data wordt gebruikt om trends over tijd te identificeren, gerichte training te organiseren voor teams met verhoogd risico en het management te informeren over de voortgang van het awareness-programma. Daarnaast biedt het platform educatieve content die automatisch wordt getoond aan medewerkers die interageren met gesimuleerde aanvallen, waardoor elke interactie een leermoment wordt.

Overzicht en voordelen van Attack Simulation Training

Attack Simulation Training vormt de ruggengraat van een effectief security awareness programma omdat het de kloof overbrugt tussen theoretische kennis en praktische toepassing. In plaats van medewerkers te informeren over wat phishing is tijdens een training, stelt Attack Simulation Training hen bloot aan realistische phishing-scenario's die moeilijk te onderscheiden zijn van echte aanvallen. Dit active learning-aanpak zorgt ervoor dat medewerkers niet alleen begrijpen wat phishing is, maar ook praktische ervaring opdoen met het herkennen van verdachte signalen zoals verdachte afzenders, ongebruikelijke taal, urgente verzoeken om actie en verdachte links. Deze ervaring wordt opgeslagen als automatisch gedrag, waardoor medewerkers sneller reageren wanneer zij daadwerkelijk met een echte phishing-poging worden geconfronteerd. Het platform biedt bovendien de mogelijkheid om simulaties geleidelijk complexer te maken, waardoor medewerkers kunnen groeien van eenvoudige naar geavanceerde scenario's zonder overweldigd te raken.

Een belangrijk voordeel van Microsoft Defender voor Office 365 Attack Simulation Training is de integratie met de rest van de Microsoft 365 security-stack. Simulaties gebruiken dezelfde infrastructuur als echte email filtering, waardoor de omgeving realistischer is dan wanneer externe tools worden gebruikt. Resultaten van simulaties kunnen worden gecombineerd met data uit Microsoft Defender threat analytics, waardoor organisaties een compleet beeld krijgen van zowel gesimuleerde als echte bedreigingen. Deze integratie maakt het ook mogelijk om automatisch training toe te wijzen aan gebruikers die hebben geïnterageerd met gesimuleerde aanvallen, of om gebruikers die regelmatig klikken op gesimuleerde phishing-links automatisch te escaleren naar het security-team voor aanvullende ondersteuning. Bovendien worden alle simulaties uitgevoerd in een gecontroleerde omgeving zonder risico voor de organisatie, waardoor security-teams kunnen experimenteren met verschillende scenario's en technieken zonder zorgen over onbedoelde gevolgen.

Voor Nederlandse overheidsorganisaties biedt Attack Simulation Training concrete voordelen op het gebied van compliance en aantoonbaarheid. BIO-normen vereisen dat organisaties maatregelen treffen om bewustwording van medewerkers te verhogen en de effectiviteit daarvan te meten. Attack Simulation Training biedt beide: het verhoogt bewustwording door actieve training en het meet effectiviteit door uitgebreide rapportages over klikpercentages, meldingscijfers en trends over tijd. Deze rapportages kunnen worden gebruikt tijdens audits om aan te tonen dat de organisatie actief werkt aan het verbeteren van security awareness en dat deze inspanningen meetbare resultaten opleveren. Ook voor AVG-compliance is Attack Simulation Training relevant omdat data breaches vaak beginnen met phishing-aanvallen die leiden tot account takeovers en ongeautoriseerde toegang tot persoonsgegevens. Door medewerkers te trainen in het herkennen en voorkomen van phishing, verkleint de organisatie de kans op dergelijke incidenten en voldoet zij aan de verplichting uit artikel 32 van de AVG om passende technische en organisatorische maatregelen te treffen voor beveiliging van persoonsgegevens.

Aanvalstypen en beschikbare templates

Microsoft Defender voor Office 365 Attack Simulation Training biedt een uitgebreide bibliotheek met vooraf gebouwde attack-templates die verschillende real-world scenario's simuleren. Credential Harvesting-simulaties bootsen aanvallen na waarbij aanvallers proberen gebruikers te verleiden om hun inloggegevens in te voeren op een nagemaakte website. Deze simulaties gebruiken realistische technieken zoals fake login pages die visueel identiek zijn aan echte Microsoft 365 inlogpagina's, urgentie-creërende berichten die gebruikers onder druk zetten om snel in te loggen, en social engineering die gebruikers overhaalt door autoriteit te suggereren of door angst aan te jagen. Malware in Bijlagen-simulaties simuleren aanvallen waarbij gebruikers worden gevraagd om gevaarlijke bijlagen te openen die normaal gesproken malware zouden bevatten. Deze simulaties helpen medewerkers te leren om voorzichtig te zijn met onbekende bijlagen en om te begrijpen dat zelfs bijlagen van bekende afzenders risicovol kunnen zijn als het bericht zelf verdacht lijkt.

Phishing via Link-simulaties bootsen aanvallen na waarbij gebruikers worden verleid om op verdachte links te klikken die leiden naar kwaadaardige websites. Deze simulaties leren medewerkers om links te inspecteren voordat zij erop klikken, om te begrijpen dat verkorte URLs kunnen worden gebruikt om verdachte bestemmingen te verbergen, en om alert te zijn op subtiele verschillen in domeinnamen zoals 'microsft.com' in plaats van 'microsoft.com'. Drive-by Download-simulaties simuleren aanvallen waarbij gebruikers naar legitiem lijkende websites worden geleid die automatisch malware downloaden wanneer de pagina wordt geladen. Deze simulaties helpen medewerkers te begrijpen dat zelfs bekende websites gecompromitteerd kunnen zijn en dat browser-beveiliging belangrijk is. OAuth Consent Grant-simulaties bootsen aanvallen na waarbij gebruikers worden verleid om kwaadaardige apps toegang te verlenen tot hun Microsoft 365 account. Deze simulaties leren medewerkers om alert te zijn bij OAuth-verzoeken, om te begrijpen welke permissions zij verlenen en om te controleren of apps van vertrouwde bronnen komen.

Elke attack-template kan worden aangepast met organisatie-specifieke details om de realiteit te vergroten. Organisaties kunnen hun eigen huisstijl gebruiken, afzendernamen toevoegen die relevant zijn voor hun organisatie, en scenario's creëren die aansluiten bij de dagelijkse werkzaamheden van medewerkers. Bijvoorbeeld, een gemeente kan een simulatie creëren waarbij een medewerker wordt gevraagd om een 'urgente vergaderverzoek' te bevestigen, terwijl een zorginstelling een simulatie kan creëren waarbij een medewerker wordt gevraagd om 'medische gegevens te verifiëren'. Door simulaties aan te passen aan de context van de organisatie, worden deze relevanter voor medewerkers en daardoor effectiever in het ontwikkelen van praktische vaardigheden. Het platform biedt bovendien de mogelijkheid om simulaties in fases uit te voeren, waarbij medewerkers eerst worden blootgesteld aan eenvoudige scenario's voordat complexere simulaties worden ingezet. Deze progressieve aanpak zorgt ervoor dat medewerkers niet overweldigd raken en stapsgewijs kunnen groeien in hun vaardigheden.

Implementatie en configuratie

Gebruik PowerShell-script attack-simulation-training.ps1 (functie Invoke-Remediation) – Configureert Attack Simulation Training in Microsoft Defender voor Office 365 volgens best practices, inclusief setup van simulatiecampagnes en configuratie van educatieve content..

De implementatie van Attack Simulation Training begint met het verifiëren van licentievereisten. Organisaties hebben Microsoft Defender voor Office 365 Plan 2 of Microsoft 365 E5 licenties nodig om gebruik te kunnen maken van deze functionaliteit. Na verificatie van licenties kan in de Microsoft 365 Defender-portal worden genavigeerd naar Email & collaboration → Attack simulation training, waar een overzicht wordt getoond van bestaande simulaties en waar nieuwe simulaties kunnen worden aangemaakt. Het is aan te raden om te beginnen met een baseline-simulatie waarbij alle medewerkers worden blootgesteld aan een standaard phishing-scenario om het uitgangsniveau te bepalen. Deze baseline vormt de basis voor het stellen van realistische doelstellingen en het meten van voortgang over tijd.

Bij het aanmaken van een nieuwe simulatie wordt eerst een attack-template gekozen uit de beschikbare opties. Afhankelijk van de doelstellingen van de organisatie kan worden gekozen voor credential harvesting, malware in bijlagen, phishing via link, drive-by download of OAuth consent grant. Na het selecteren van een template kan de simulatie worden aangepast met organisatie-specifieke details zoals een aangepaste onderwerpregel, berichttekst en afzender. Het is belangrijk om realistische scenario's te creëren die aansluiten bij de dagelijkse werkzaamheden van medewerkers, maar zonder te ver gaan in het misleiden van medewerkers dat zij schade ondervinden. De toon moet educatief zijn, niet bestraffend. Vervolgens wordt de doelgroep geselecteerd: alle medewerkers, specifieke afdelingen, gebruikers met bepaalde rollen of handmatig geselecteerde gebruikers. Voor de eerste simulaties is het aan te raden om met een kleinere groep te beginnen om het proces te testen voordat organisatiebrede simulaties worden uitgevoerd.

Een cruciaal onderdeel van de configuratie is de educatieve landingspagina die wordt getoond aan medewerkers die interageren met een gesimuleerde aanval. Deze pagina moet duidelijk uitleggen dat het om een simulatie gaat, welke signalen hadden kunnen wijzen op de aanval en wat de medewerker de volgende keer kan doen om soortgelijke aanvallen te voorkomen. Microsoft biedt standaard templates voor deze landingspagina's, maar deze kunnen worden aangepast met organisatie-specifieke informatie, huisstijl en aanvullende links naar trainingen of handleidingen. Het is belangrijk om de toon van de landingspagina respectvol en ondersteunend te houden, zodat medewerkers niet worden ontmoedigd maar juist gemotiveerd worden om te leren. Naast de landingspagina kan ook aanvullende educatieve content worden toegevoegd, zoals korte video's, infographics of links naar uitgebreidere trainingen. Na configuratie wordt de simulatie gepland om op een bepaald moment te worden uitgevoerd, of direct gestart voor testdoeleinden.

Monitoring, rapportage en effectiviteit meting

Gebruik PowerShell-script attack-simulation-training.ps1 (functie Invoke-Monitoring) – Monitort Attack Simulation Training campagnes, analyseert resultaten en genereert rapportages over effectiviteit en trends..

Effectieve monitoring van Attack Simulation Training vereist een combinatie van kwantitatieve metrics en kwalitatieve feedback. De belangrijkste kwantitatieve indicatoren zijn het klikpercentage (het percentage medewerkers dat op een gesimuleerde link heeft geklikt), het openpercentage (het percentage medewerkers dat een gesimuleerde bijlage heeft geopend), het credential-entry percentage (het percentage medewerkers dat inloggegevens heeft ingevoerd op een nagemaakte website), het malware-download percentage (het percentage medewerkers dat malware zou hebben gedownload in een echte aanval), en het meldingspercentage (het percentage medewerkers dat een verdacht bericht heeft gemeld aan het security-team). Deze metrics moeten per simulatie worden bijgehouden en over tijd worden geanalyseerd om trends te identificeren. Een dalend klikpercentage en stijgend meldingspercentage wijzen op een effectief programma, terwijl een stabiel of stijgend klikpercentage aangeeft dat het programma moet worden bijgestuurd.

Microsoft Defender voor Office 365 biedt uitgebreide rapportages waarin per simulatie wordt getoond hoeveel emails zijn verstuurd, hoeveel gebruikers op links hebben geklikt, hoeveel bijlagen hebben geopend, hoeveel credentials hebben ingevoerd en hoeveel verdachte berichten hebben gemeld. Deze data kan worden gefilterd op afdeling, functie, locatie of andere attributen, waardoor gerichte analyses mogelijk zijn. Het platform biedt ook vergelijkingsrapportages die laten zien hoe resultaten zich verhouden tot eerdere simulaties, waardoor trends over tijd zichtbaar worden. Naast organisatiebrede metrics is het waardevol om metrics per afdeling, functie of locatie te verzamelen, zodat gerichte interventies kunnen worden ingezet voor teams met verhoogd risico. Het PowerShell-script dat bij dit artikel hoort, kan worden gebruikt om data uit Microsoft 365 Defender te exporteren, te structureren en te analyseren, zodat trends zichtbaar worden en gerichte acties kunnen worden geformuleerd.

Kwalitatieve feedback wordt verzameld via evaluatiegesprekken met medewerkers, enquêtes na simulaties en input van leidinggevenden. Deze feedback helpt om te begrijpen waarom medewerkers op bepaalde simulaties klikken, welke scenario's als moeilijk of makkelijk worden ervaren en hoe de communicatie en educatieve content kunnen worden verbeterd. Het is belangrijk om deze feedback serieus te nemen en te gebruiken voor het verbeteren van het programma. Binnen Microsoft 365 kunnen deze gegevens worden gecombineerd in Power BI-dashboards die inzicht geven in de effectiviteit van het programma, trends over tijd en risicoprofielen per organisatieonderdeel. Deze dashboards kunnen worden gedeeld met het management en gebruikt worden tijdens audits om aan te tonen dat de organisatie actief werkt aan het verbeteren van security awareness en dat deze inspanningen meetbare resultaten opleveren.

Best practices en aanbevelingen

Een effectief Attack Simulation Training programma vereist een zorgvuldige balans tussen realisme en ethiek. Simulaties moeten realistisch genoeg zijn om medewerkers te helpen praktische vaardigheden te ontwikkelen, maar niet zo misleidend dat medewerkers zich bedrogen voelen of dat vertrouwen in het security-team wordt geschaad. Het is belangrijk om vooraf te communiceren dat de organisatie periodiek simulaties uitvoert als onderdeel van het awareness-programma, zonder te verklappen wanneer precies een simulatie plaatsvindt. Deze transparantie voorkomt verwarring en frustratie wanneer medewerkers interageren met een simulatie. Daarnaast moeten simulaties worden ontworpen met respect voor de tijd en energie van medewerkers: te frequente simulaties leiden tot vermoeidheid en afname van aandacht, terwijl simulaties die te lang duren of te complex zijn, overweldigend kunnen zijn. Een praktische aanpak is om maandelijks een organisatiebrede simulatie uit te voeren, aangevuld met gerichte simulaties voor specifieke doelgroepen of afdelingen die uit eerdere resultaten blijken extra aandacht nodig te hebben.

Het programma moet modulair zijn opgebouwd, beginnend met relatief eenvoudige simulaties waarbij de signalen duidelijk zichtbaar zijn, zoals verdachte afzendernamen, spellingsfouten of onrealistische verzoeken. Naarmate medewerkers beter worden in het herkennen van deze basisscenario's, kunnen de simulaties geleidelijk complexer worden met meer geavanceerde technieken zoals spear phishing, waarbij de email persoonlijker is en gebaseerd op openbaar beschikbare informatie, of CEO-fraude waarbij aanvallers zich voordoen als leidinggevenden. Deze progressieve aanpak zorgt ervoor dat medewerkers stapsgewijs kunnen groeien in hun vaardigheden zonder overweldigd te raken. Het programma moet bovendien duidelijke rollen en verantwoordelijkheden vastleggen voor het beheer, de uitvoering en de evaluatie van simulaties. Meestal is de CISO of security awareness-coördinator eigenaar van het programma en verantwoordelijk voor de planning en strategie. De uitvoering kan worden gedaan door het security-team of een gespecialiseerde afdeling, waarbij Microsoft 365-beheerders de technische configuratie verzorgen en communicatie- of HR-afdelingen zorgen voor de interne communicatie.

Voor de evaluatie en rapportage is het belangrijk om een vaste cyclus te hanteren waarin resultaten worden geanalyseerd, trends worden geïdentificeerd en bijsturingen worden voorgesteld. Deze resultaten moeten periodiek worden gedeeld met het management, zodat zij inzicht hebben in de effectiviteit van het programma en kunnen beslissen over eventuele investeringen in aanvullende training of tools. Het is ook belangrijk om successen te vieren: wanneer het klikpercentage daalt of het meldingspercentage stijgt, moet dit worden gecommuniceerd naar medewerkers om hen te motiveren en te laten zien dat hun inspanningen effect hebben. Door het programma op deze manier te structureren, ontstaat een professioneel en duurzaam programma dat aantoonbaar bijdraagt aan de beveiliging van de organisatie en voldoet aan de eisen van toezichthouders en auditors.

Compliance en framework mapping

Attack Simulation Training vormt een essentieel onderdeel van security awareness programma's en is relevant voor compliance met verschillende security frameworks. CIS Microsoft 365 Foundations Benchmark - control 6.5 (Zorg ervoor dat security awareness training wordt uitgevoerd en dat de effectiviteit wordt gemeten via phishing simulaties), control 6.6 (Implementeer een structured security awareness programma met regelmatige training en simulaties), en control 6.7 (Monitor en meet de effectiviteit van security awareness training). BIO Baseline Informatiebeveiliging Overheid - Thema 7.01.01 (Awareness - Continue bewustwording van medewerkers over security risico's), Thema 7.01.02 (Training - Regelmatige security training en oefeningen), en Thema 13.02.03 (Email security - Phishing awareness en training). ISO 27001:2022 A.7.4 (Human resource security - Awareness, training en educatie voor security), A.8.2 (User endpoint devices - Awareness over security risico's), en A.13.2.1 (Information transfer policies - Awareness over email security). NIS2 Artikel 21 (Cybersecurity risicobeheer - Awareness en training als onderdeel van risicobeheer) en Artikel 23 (Incident response - Training van medewerkers voor incident response). AVG Artikel 32 (Beveiliging van verwerking - Awareness en training van medewerkers als organisatorische maatregel tegen data breaches). Attack Simulation Training moet worden behandeld als een kritische security control die regelmatig wordt geëvalueerd, getest en bijgestuurd op basis van emerging threats en organisatiebehoeften. Alle simulaties en resultaten moeten worden gedocumenteerd voor audit doeleinden en de effectiviteit moet worden gemeten via kwantitatieve metrics en kwalitatieve feedback.

Compliance & Frameworks

Automation

Gebruik het onderstaande PowerShell script om deze security control te monitoren en te implementeren. Het script bevat functies voor zowel monitoring (-Monitoring) als remediation (-Remediation).

PowerShell
<# .SYNOPSIS Attack Simulation Training: Proactieve Security Awareness Opleiding .DESCRIPTION Monitort en rapporteert over Attack Simulation Training campagnes in Microsoft Defender voor Office 365. Ondersteunt organisaties bij het meten van de effectiviteit van security awareness training via gesimuleerde phishing-aanvallen en andere attack scenario's. .NOTES Filename: attack-simulation-training.ps1 Author: Nederlandse Baseline voor Veilige Cloud Created: 2025-01-27 Last Modified: 2025-01-27 Version: 1.0 Related JSON: content/m365/defender-email/attack-simulation-training.json .LINK https://github.com/[org]/m365-tenant-best-practise .EXAMPLE .\attack-simulation-training.ps1 -Monitoring Controleert Attack Simulation Training campagnes en rapporteert over effectiviteit .EXAMPLE .\attack-simulation-training.ps1 -DebugMode Voert een lokale debug-run uit met voorbeeldresultaten zonder verbinding met Microsoft 365 #> #Requires -Version 5.1 [CmdletBinding()] param( [Parameter(HelpMessage = "Voer monitoring uit op Attack Simulation Training campagnes")] [switch]$Monitoring, [Parameter(HelpMessage = "Genereer een samenvattend rapport op basis van simulatie-resultaten")] [switch]$Report, [Parameter(HelpMessage = "Pad naar het rapportbestand dat moet worden aangemaakt (alleen bij -Report)")] [string]$OutputPath, [Parameter(HelpMessage = "Voer een veilige lokale test uit met voorbeelddata, zonder verbinding met Microsoft 365")] [switch]$DebugMode ) $ErrorActionPreference = 'Stop' $VerbosePreference = 'Continue' function Connect-RequiredServices { <# .SYNOPSIS Verbindt met benodigde Microsoft services #> [CmdletBinding()] param() if ($DebugMode) { Write-Verbose "DebugMode: overslaan van verbindingen" return } Write-Verbose "Controleren van Microsoft Graph PowerShell module..." $graphModule = Get-Module -ListAvailable -Name "Microsoft.Graph.Identity.SignIns" if (-not $graphModule) { Write-Host " ⚠️ Microsoft.Graph.Identity.SignIns module niet gevonden" -ForegroundColor Yellow Write-Host " Installeer met: Install-Module Microsoft.Graph.Identity.SignIns -Scope CurrentUser" -ForegroundColor Yellow throw "Microsoft Graph PowerShell module vereist voor Attack Simulation Training monitoring" } Write-Verbose "Verbinding maken met Microsoft Graph..." try { # Check if already connected $context = Get-MgContext -ErrorAction SilentlyContinue if (-not $context) { Connect-MgGraph -Scopes "AttackSimulation.Read.All", "Reports.Read.All" -ErrorAction Stop | Out-Null Write-Verbose "Verbonden met Microsoft Graph" } else { Write-Verbose "Al verbonden met Microsoft Graph" } } catch { Write-Error "Kon niet verbinden met Microsoft Graph: $_" Write-Host " Vereiste scopes: AttackSimulation.Read.All, Reports.Read.All" -ForegroundColor Yellow throw } } function Get-AttackSimulationCampaigns { <# .SYNOPSIS Haalt Attack Simulation Training campagnes op .OUTPUTS Array van campagne-objecten #> [CmdletBinding()] param() if ($DebugMode) { Write-Verbose "DebugMode: retourneren van voorbeelddata" return @( [PSCustomObject]@{ Id = "example-campaign-1" DisplayName = "Q1 2025 Phishing Baseline" Status = "Completed" AttackTechnique = "CredentialHarvesting" StartDateTime = (Get-Date).AddDays(-30) EndDateTime = (Get-Date).AddDays(-20) CreatedBy = [PSCustomObject]@{ DisplayName = "Security Team" } SimulationUsers = 150 CompletedUsers = 150 ClickedUsers = 25 CompromisedUsers = 10 }, [PSCustomObject]@{ Id = "example-campaign-2" DisplayName = "Q1 2025 Malware Training" Status = "Scheduled" AttackTechnique = "MalwareAttachment" StartDateTime = (Get-Date).AddDays(5) EndDateTime = (Get-Date).AddDays(15) CreatedBy = [PSCustomObject]@{ DisplayName = "Security Team" } SimulationUsers = 150 CompletedUsers = 0 ClickedUsers = 0 CompromisedUsers = 0 } ) } Write-Verbose "Ophalen van Attack Simulation Training campagnes..." try { # Note: Attack Simulation Training API is part of Microsoft Graph Security API # This is a simplified example - actual implementation may require REST API calls Write-Host " ⚠️ Directe PowerShell cmdlets voor Attack Simulation Training zijn beperkt" -ForegroundColor Yellow Write-Host " Gebruik Microsoft 365 Defender portal voor volledige functionaliteit:" -ForegroundColor Yellow Write-Host " https://security.microsoft.com/attacksimulator" -ForegroundColor Cyan # Return empty array - in production, this would query the API return @() } catch { Write-Error "Fout bij ophalen van Attack Simulation Training campagnes: $_" throw } } function Test-AttackSimulationTraining { <# .SYNOPSIS Test of Attack Simulation Training is geconfigureerd en actief .OUTPUTS PSCustomObject met compliance resultaten #> [CmdletBinding()] param() Write-Verbose "Controleren van Attack Simulation Training configuratie..." $results = @{ IsCompliant = $false IsConfigured = $false TotalCampaigns = 0 ActiveCampaigns = 0 CompletedCampaigns = 0 ScheduledCampaigns = 0 CampaignDetails = @() MissingFeatures = @() Recommendations = @() } if ($DebugMode) { Write-Host "`n DebugMode: Voorbeeld Attack Simulation Training status" -ForegroundColor Yellow $campaigns = Get-AttackSimulationCampaigns $results.IsConfigured = $true $results.TotalCampaigns = $campaigns.Count $results.CompletedCampaigns = ($campaigns | Where-Object { $_.Status -eq "Completed" }).Count $results.ScheduledCampaigns = ($campaigns | Where-Object { $_.Status -eq "Scheduled" }).Count $results.ActiveCampaigns = ($campaigns | Where-Object { $_.Status -eq "InProgress" }).Count $results.CampaignDetails = $campaigns if ($results.TotalCampaigns -gt 0) { $results.IsCompliant = $true Write-Host " ✅ Attack Simulation Training is geconfigureerd" -ForegroundColor Green Write-Host " ✅ Totaal campagnes: $($results.TotalCampaigns)" -ForegroundColor Green Write-Host " ✅ Voltooide campagnes: $($results.CompletedCampaigns)" -ForegroundColor Green } else { $results.MissingFeatures += "Geen Attack Simulation Training campagnes gevonden" Write-Host " ❌ Geen campagnes gevonden" -ForegroundColor Red } return $results } try { $campaigns = Get-AttackSimulationCampaigns if ($campaigns -and $campaigns.Count -gt 0) { $results.IsConfigured = $true $results.TotalCampaigns = $campaigns.Count $results.CompletedCampaigns = ($campaigns | Where-Object { $_.Status -eq "Completed" }).Count $results.ScheduledCampaigns = ($campaigns | Where-Object { $_.Status -eq "Scheduled" }).Count $results.ActiveCampaigns = ($campaigns | Where-Object { $_.Status -eq "InProgress" }).Count $results.CampaignDetails = $campaigns Write-Host "`n Attack Simulation Training Campagnes:" -ForegroundColor Cyan foreach ($campaign in $campaigns) { $statusColor = switch ($campaign.Status) { "Completed" { "Green" } "InProgress" { "Yellow" } "Scheduled" { "Cyan" } default { "Gray" } } Write-Host " ✅ $($campaign.DisplayName) - Status: $($campaign.Status)" -ForegroundColor $statusColor Write-Host " Type: $($campaign.AttackTechnique)" -ForegroundColor Gray Write-Host " Gebruikers: $($campaign.SimulationUsers)" -ForegroundColor Gray if ($campaign.Status -eq "Completed") { $clickRate = if ($campaign.SimulationUsers -gt 0) { [math]::Round(($campaign.ClickedUsers / $campaign.SimulationUsers) * 100, 2) } else { 0 } Write-Host " Klikpercentage: $clickRate%" -ForegroundColor $(if ($clickRate -lt 10) { "Green" } elseif ($clickRate -lt 20) { "Yellow" } else { "Red" }) } } if ($results.CompletedCampaigns -gt 0) { $results.IsCompliant = $true $results.Recommendations += "Attack Simulation Training is actief. Monitor trends over tijd om effectiviteit te meten." } } else { $results.MissingFeatures += "Geen Attack Simulation Training campagnes gevonden" Write-Host " ❌ Geen Attack Simulation Training campagnes gevonden" -ForegroundColor Red $results.Recommendations += "Start met een baseline-simulatie om het uitgangsniveau te bepalen" $results.Recommendations += "Plan regelmatige simulaties (bijvoorbeeld maandelijks) voor continue awareness" } return $results } catch { Write-Error "Fout bij controleren van Attack Simulation Training: $_" throw } } function Invoke-Monitoring { <# .SYNOPSIS Monitort Attack Simulation Training campagnes en rapporteert over effectiviteit #> [CmdletBinding()] param() Write-Host "`nMonitoring: Attack Simulation Training" -ForegroundColor Yellow Write-Host "=======================================" -ForegroundColor Yellow $result = Test-AttackSimulationTraining Write-Host "`nResultaten:" -ForegroundColor Cyan Write-Host " Geconfigureerd: $($result.IsConfigured)" -ForegroundColor $(if ($result.IsConfigured) { "Green" } else { "Red" }) Write-Host " Totaal campagnes: $($result.TotalCampaigns)" -ForegroundColor Cyan Write-Host " Actieve campagnes: $($result.ActiveCampaigns)" -ForegroundColor $(if ($result.ActiveCampaigns -gt 0) { "Yellow" } else { "Gray" }) Write-Host " Voltooide campagnes: $($result.CompletedCampaigns)" -ForegroundColor $(if ($result.CompletedCampaigns -gt 0) { "Green" } else { "Yellow" }) Write-Host " Geplande campagnes: $($result.ScheduledCampaigns)" -ForegroundColor $(if ($result.ScheduledCampaigns -gt 0) { "Cyan" } else { "Gray" }) if ($result.MissingFeatures.Count -gt 0) { Write-Host "`n Ontbrekende features:" -ForegroundColor Red foreach ($feature in $result.MissingFeatures) { Write-Host " - $feature" -ForegroundColor Red } } if ($result.Recommendations.Count -gt 0) { Write-Host "`n Aanbevelingen:" -ForegroundColor Cyan foreach ($recommendation in $result.Recommendations) { Write-Host " - $recommendation" -ForegroundColor Yellow } } Write-Host "`n Belangrijke opmerking:" -ForegroundColor Cyan Write-Host " Attack Simulation Training vereist Microsoft Defender voor Office 365 Plan 2" -ForegroundColor Yellow Write-Host " Volledige functionaliteit beschikbaar via: https://security.microsoft.com/attacksimulator" -ForegroundColor Cyan if ($result.IsCompliant) { Write-Host "`n✅ COMPLIANT - Attack Simulation Training is geconfigureerd en actief" -ForegroundColor Green exit 0 } else { Write-Host "`n⚠️ ATTENTIE - Attack Simulation Training vereist configuratie" -ForegroundColor Yellow Write-Host " Configureer campagnes via Microsoft 365 Defender portal" -ForegroundColor Yellow exit 1 } } function Invoke-Report { <# .SYNOPSIS Genereert een beknopt managementrapport op basis van Attack Simulation Training resultaten .PARAMETER Result Het resultaatobject dat is teruggegeven door Test-AttackSimulationTraining. .PARAMETER OutputPath Pad naar het tekstbestand waarin het rapport wordt opgeslagen. #> [CmdletBinding()] param( [Parameter(Mandatory = $true)] [pscustomobject]$Result, [Parameter(Mandatory = $true)] [string]$OutputPath ) $folder = Split-Path -Path $OutputPath -Parent if (-not [string]::IsNullOrWhiteSpace($folder) -and -not (Test-Path -Path $folder)) { New-Item -Path $folder -ItemType Directory -Force | Out-Null } $lines = @() $lines += "Attack Simulation Training – Managementrapport" $lines += "Nederlandse Baseline voor Veilige Cloud" $lines += ("Datum: {0}" -f (Get-Date -Format "yyyy-MM-dd HH:mm")) $lines += "" $lines += "1. Samenvatting van de status" $lines += (" Geconfigureerd: {0}" -f $Result.IsConfigured) $lines += (" Totaal campagnes: {0}" -f $Result.TotalCampaigns) $lines += (" Actieve campagnes: {0}" -f $Result.ActiveCampaigns) $lines += (" Voltooide campagnes: {0}" -f $Result.CompletedCampaigns) $lines += (" Geplande campagnes: {0}" -f $Result.ScheduledCampaigns) $lines += "" $lines += "2. Campagne Details" if ($Result.CampaignDetails.Count -gt 0) { foreach ($campaign in $Result.CampaignDetails) { $lines += (" - {0}" -f $campaign.DisplayName) $lines += (" Type: {0}" -f $campaign.AttackTechnique) $lines += (" Status: {0}" -f $campaign.Status) if ($campaign.Status -eq "Completed") { $clickRate = if ($campaign.SimulationUsers -gt 0) { [math]::Round(($campaign.ClickedUsers / $campaign.SimulationUsers) * 100, 2) } else { 0 } $lines += (" Klikpercentage: {0}%" -f $clickRate) $lines += (" Gebruikers: {0} gesimuleerd, {1} geklikt, {2} gecompromitteerd" -f $campaign.SimulationUsers, $campaign.ClickedUsers, $campaign.CompromisedUsers) } } } else { $lines += " Geen campagnes gevonden" } $lines += "" $lines += "3. Aanbevelingen" if ($Result.Recommendations.Count -gt 0) { foreach ($recommendation in $Result.Recommendations) { $lines += (" - {0}" -f $recommendation) } } else { $lines += " Geen specifieke aanbevelingen" } $lines += "" $lines += "4. Interpretatie" $lines += " Dit rapport geeft een overzicht van Attack Simulation Training campagnes" $lines += " zoals beschreven in de Nederlandse Baseline voor Veilige Cloud." $lines += " Het vervangt geen volledige analyse, maar kan worden gebruikt om" $lines += " voortgang richting bestuur en directie te rapporteren." $lines += "" $lines += " Voor gedetailleerde analyses, gebruik de Microsoft 365 Defender portal:" $lines += " https://security.microsoft.com/attacksimulator" $lines | Out-File -FilePath $OutputPath -Encoding UTF8 -Force Write-Host "Managementrapport aangemaakt: $OutputPath" -ForegroundColor Green } # ============================================================================ # MAIN EXECUTION # ============================================================================ try { Write-Host "`n========================================" -ForegroundColor Cyan Write-Host "Attack Simulation Training" -ForegroundColor Cyan Write-Host "Nederlandse Baseline voor Veilige Cloud" -ForegroundColor Cyan Write-Host "========================================`n" -ForegroundColor Cyan if ($DebugMode) { Write-Host "DebugMode ingeschakeld: er worden geen verbindingen gemaakt met Microsoft 365." -ForegroundColor Yellow Write-Host "" } if ($Monitoring) { Connect-RequiredServices Invoke-Monitoring } elseif ($Report) { Connect-RequiredServices $result = Test-AttackSimulationTraining if ([string]::IsNullOrWhiteSpace($OutputPath)) { throw "Parameter -OutputPath is verplicht bij gebruik van -Report." } Invoke-Report -Result $result -OutputPath $OutputPath } else { # Default: Status check Connect-RequiredServices $result = Test-AttackSimulationTraining if ($result.IsCompliant) { Write-Host "`n✅ COMPLIANT - Attack Simulation Training is geconfigureerd" -ForegroundColor Green } else { Write-Host "`n⚠️ ATTENTIE - Attack Simulation Training vereist configuratie" -ForegroundColor Yellow } Write-Host "`nGebruik een van de volgende opties:" -ForegroundColor Yellow Write-Host " -Monitoring Controleer Attack Simulation Training campagnes en rapporteer status" -ForegroundColor Yellow Write-Host " -Report Genereer een managementrapport op basis van de status (vereist -OutputPath)" -ForegroundColor Yellow Write-Host " -DebugMode Gebruik voorbeelddata voor een veilige lokale test" -ForegroundColor Yellow return $result } } catch { Write-Error "Fout in attack-simulation-training.ps1: $_" throw } finally { Write-Host "`n========================================`n" -ForegroundColor Cyan }

Risico zonder implementatie

Risico zonder implementatie
High: Zonder Attack Simulation Training blijven medewerkers kwetsbaar voor phishing-aanvallen en social engineering, wat leidt tot account takeovers, data breaches, financiële verliezen en reputatieschade. Meer dan 90% van alle succesvolle cyberaanvallen begint met een phishing-email. Passieve training alleen is onvoldoende omdat kennis zonder herhaalde toepassing snel wegzakt.

Management Samenvatting

Implementeer Attack Simulation Training in Microsoft Defender voor Office 365 voor actieve, realistische security awareness training. Gebruik vooraf gebouwde attack-templates voor credential harvesting, malware, phishing links en andere scenario's. Monitor effectiviteit via uitgebreide rapportages en pas training aan op basis van resultaten. Voldoet aan CIS 6.5-6.7 (L1), BIO 7.01.01/7.01.02, ISO 27001 A.7.4/A.8.2, NIS2, AVG Artikel 32. Implementatie: 12 uur technisch + 20 uur voor governance, planning en communicatie. CRITICAL voor security awareness.