jan-karel.nl
Home / Securitymaatregelen / Netwerk & Active Directory / Detectie & Evasion Stoppen

Detectie & Evasion Stoppen

Detectie & Evasion Stoppen

Detectie Die Echt Iemand Wakker Maakt

Aanvalspaden worden klein zodra rechten, segmenten en beheerkanalen consequent zijn ingericht.

In Detectie & Evasion Stoppen ontstaat waarde wanneer detectie direct bruikbaar is voor opvolging, niet alleen voor rapportage.

Zo beperk je niet alleen de kans op incidenten, maar vooral ook de omvang en duur als er iets misgaat.

Directe maatregelen (15 minuten)

Waarom dit telt

De kern van Detectie & Evasion Stoppen is risicoreductie in de praktijk. Technische context ondersteunt de maatregelkeuze, maar implementatie en borging staan centraal.

Verdediging: Hoe Je Dit Allemaal Stopt

In 1987 deed een Duitse informaticus genaamd Bernd Fix iets dat niemand eerder had gedaan: hij schreef een programma dat een ander programma onschadelijk maakte. Het Vienna-virus – een simpel stukje code dat .com-bestanden op DOS-systemen infecteerde – was het doelwit. Fix analyseerde het, begreep het, en neutraliseerde het. Het was het eerste gedocumenteerde geval van antivirussoftware. En het was het startschot van een wapenwedloop die nu bijna veertig jaar duurt en geen teken van vermoeidheid vertoont. (De wapenwedloop dan. Bernd Fix is inmiddels waarschijnlijk wel moe.)

Het is alsof Fix een kat-en-muisspel begon waarvan de regels elke zes maanden veranderen. Eerst waren er virussen die bestanden infecteerden, en er kwamen scanners die naar bekende byte-patronen zochten. Toen kwamen er polymorfe virussen die zichzelf bij elke kopie herschreven, en de scanners moesten gedrag gaan herkennen in plaats van handtekeningen. Toen kwamen er rootkits die zich verstopten voor het besturingssysteem zelf, en de scanners moesten op kernelniveau gaan opereren. En nu – nu zitten we in een wereld waar aanvallers AMSI patchen in het geheugen, ETW-providers uitschakelen, en PowerShell-logging omzeilen met technieken die zes maanden geleden nog niet bestonden. De kat rent. De muis rent harder.

Na twintig technieken om verdedigingen te omzeilen, is het tijd om de andere kant van het verhaal te vertellen. Want dit is geen boek voor aanvallers – het is een boek voor verdedigers die willen begrijpen hoe aanvallers denken. En de les van die twintig technieken is niet dat verdediging zinloos is. De les is dat passieve verdediging zinloos is. Een antivirusprogramma dat je installeert en vergeet, is als een rookmelder zonder batterij: het hangt er, het ziet er professioneel uit, en op het moment dat het ertoe doet, doet het precies niets.

De vraag is niet “kunnen aanvallers onze detectie omzeilen?” Natuurlijk kunnen ze dat. De vraag is: hoe moeilijk maken we het? Elke laag die een aanvaller moet doorbreken – AMSI, AppLocker, EDR, Script Block Logging, Credential Guard, netwerksegmentatie – kost tijd, maakt lawaai, en vergroot de kans op ontdekking. Een aanvaller die zes bypasses moet uitvoeren voordat hij zijn eigenlijke tooling kan draaien, is een aanvaller die zes keer zoveel sporen achterlaat. En sporen zijn wat verdedigers nodig hebben.

Dit is waar het ongemakkelijke deel begint. Want de technieken in het vorige hoofdstuk – AMSI-patches, ETW-blindspots, CLM-escapes, process injection – zijn niet theoretisch. Ze werken. Ze werken vandaag, tegen actuele versies van Windows en actuele EDR-producten. De aanvaller heeft een structureel voordeel: hij hoeft maar een weg naar binnen te vinden, terwijl de verdediger alle wegen moet bewaken. Het is een asymmetrie die zo oud is als het beroep zelf, en er is geen magische oplossing.

Maar er zijn wel praktische oplossingen. En die beginnen niet bij het kopen van het duurste EDR-product op de markt (hoewel dat ook helpt), maar bij het fundamenteel begrijpen van wat je verdedigt en waarom. PowerShell Script Block Logging is waardeloos als niemand de logs leest. Credential Guard is nutteloos als het niet op alle machines is uitgerold. AppLocker is een grap als de helft van de LOLBins op de whitelist staat. De technologie is er. Het ontbreekt aan discipline.

Wat volgt is het verdedigingshandboek: concrete maatregelen, gerangschikt van meest naar minst effectief, met de eerlijke kanttekening dat geen enkele maatregel op zichzelf voldoende is. Defence in depth is geen marketingterm – het is de enige strategie die werkt tegen een tegenstander die elke individuele laag kan omzeilen.

EDR: Endpoint Detection and Response

Moderne EDR-oplossingen gaan verder dan signature-based detection. Ze kijken naar gedragingen:

  • API hooking: EDR plaatst hooks op Windows API-functies zoals VirtualAllocEx, WriteProcessMemory, en CreateRemoteThread. Elke call wordt gelogd en geanalyseerd.
  • ETW (Event Tracing for Windows): EDR-producten registreren zich als ETW-consumers en ontvangen events van de kernel, AMSI, en applicaties.
  • Memory scanning: Periodiek scannen van procesgeheugen op bekende patronen, zelfs als er niets op schijf staat.
  • Procesrelaties: Als mshta.exe een powershell.exe-kindproces start, of als svchost.exe plotseling een netwerverbinding maakt naar een extern IP-adres, genereert dat een alert.

Constrained Language Mode – Goed Geconfigureerd

CLM is niet waardeloos als het correct is geconfigureerd:

  • Combineer CLM met WDAC (Windows Defender Application Control) in plaats van AppLocker.
  • Verwijder PowerShell v2: Disable-WindowsOptionalFeature -Online -FeatureName MicrosoftWindowsPowerShellV2Root.
  • Blokkeer InstallUtil.exe en MSBuild.exe als ze niet nodig zijn.

Code Signing

Vereisen dat alle scripts en executables digitaal ondertekend zijn, is een van de meest effectieve verdedigingen:

  • Set-ExecutionPolicy AllSigned voor PowerShell.
  • WDAC-beleid dat alleen ondertekende binaries toelaat.
  • Certificaat-pinning voor interne tools.

Het is niet waterdicht – gestolen code signing-certificaten zijn een ding – maar het verhoogt de lat aanzienlijk.

Praktische Hardening Checklist

  1. Schakel PowerShell v2 uit.
  2. Implementeer WDAC in plaats van (of naast) AppLocker.
  3. Activeer en monitor Script Block Logging.
  4. Blokkeer LOLBins die niet nodig zijn (mshta.exe, cscript.exe, wscript.exe).
  5. Monitor procesrelaties – welk proces start welk kindproces.
  6. Implementeer Credential Guard om credential dumping te beperken.
  7. Patch, patch, patch. De meeste AMSI-bypasses werken tegen specifieke versies. Updates breken ze.

Een Woord over de Antivirus-Industrie

Er is een oude wijsheid: als je een idioot een mooi pak aantrekt, krijg je geen slimmer persoon – je krijgt een idioot in een mooi pak.

De antivirus-industrie heeft vijftig miljard dollar per jaar aan mooie pakken aangetrokken. Ze verkoopt reactieve detectie als proactieve bescherming. Ze noemt signature-updates “threat intelligence.” Ze plakt machine learning-labels op patroonherkenning die een informaticstudent in een weekend zou kunnen schrijven. En ze adverteert met detectiepercentages van 99,9% – wat indrukwekkend klinkt tot je beseft dat er elke dag drie miljoen nieuwe malware-samples verschijnen, en 0,1% daarvan drieduizend gemiste detecties per dag betekent.

Het echte probleem is niet dat AV slecht is. AV vangt het leeuwendeel van commodity malware. Het probleem is dat organisaties denken dat AV genoeg is. Dat ze een product installeren, achterover leunen, en denken: “We zijn beveiligd.” Dat is alsof je een slot op je voordeur zet en concludeert dat je huis inbraakvrij is, terwijl het raam op de eerste verdieping open staat, de achterdeur niet op slot zit, en je de reservesleutel onder de deurmat hebt gelegd.

Beveiliging is geen product. Het is een proces. Het is lagen – defence in depth. AMSI plus AppLocker plus EDR plus netwerksegmentatie plus monitoring plus incident response plus – en dit is het belangrijkste – mensen die weten wat ze doen.

De technieken in dit hoofdstuk bewijzen dat geen enkele laag onkwetsbaar is. Maar elke laag maakt de aanval moeilijker, duurder, en – cruciaal – detecteerbaarder. Een aanvaller die vijf bypasses moet uitvoeren, maakt vijf keer zoveel geluid als een aanvaller die er nul hoeft uit te voeren. En geluid is wat verdedigers nodig hebben.

Verder Lezen

  • LOLBAS Project: https://lolbas-project.github.io – De complete catalogus van Living Off The Land Binaries, Scripts, en Libraries.
  • AMSI.fail: Verzameling van publieke AMSI-bypasses.
  • Donut: https://github.com/TheWover/donut – Converteert .NET assemblies naar position-independent shellcode.
  • NetLoader: Laadt .NET assemblies in memory met automatische AMSI/ETW bypass.
  • Shellter: https://www.shellterproject.com – Dynamic PE infection tool.
  • DefenderCheck / ThreatCheck: Tools om te identificeren welke bytes in een binary gedetecteerd worden.

En zo eindigt ons rondje door het landschap van evasion. Bijna dertig technieken, verdeeld over zes categorieen, elk met hun eigen charme en hun eigen detectiemethoden. De wapenwedloop gaat door. De aanvaller vindt een bypass, de verdediger schrijft een detectieregel, de aanvaller past de bypass aan, de verdediger update de regel. Het is een dans die al begon bij het Trojaanse paard en die niet snel zal ophouden. Het minste wat je kunt doen, is de danspassen kennen.

In het volgende hoofdstuk pakken we iets groters aan: laterale beweging door het netwerk. Want een voet tussen de deur is leuk, maar de kluis staat aan de andere kant van het gebouw.

Op de hoogte blijven?

Ontvang maandelijks cybersecurity-inzichten in je inbox.

← Netwerk & Active Directory ← Home