💼 Management Samenvatting
UAC token filtering voor lokale accounts op netwerk inloggen voorkomt pass-the-hash lateral movement attacks waarbij aanvallers lokale admin credentials gebruiken om zich over het netwerk te verspreiden.
✓ Windows 11
✓ Windows Server
PASS-THE-HASH LATERAL MOVEMENT: Aanvallers compromitteren één machine → Dumpen lokale admin password hash (via Mimikatz) → Gebruiken deze hash om in te loggen op andere machines die DEZELFDE lokale admin credentials hebben → Lateral movement door hele netwerk. PROBLEEM: Veel organisaties gebruiken DEZELFDE lokale administrator password op alle machines (via golden image, handmatige sync, of LAPS niet geïmplementeerd). Als LocalAccountTokenFilterPolicy is 1 (MISCONFIGURED): Lokale beheerdersaccounts krijgen volledige admin privileges bij netwerk logon, Pass-the-hash works perfect, Lateral movement is triviaal. Als LocalAccountTokenFilterPolicy is 0 of niet-existent (SECURE): Lokale beheerdersaccounts krijgen FILTERED token bij netwerk logon (stripped van admin privileges), Pass-the-hash attacks falen (insufficient privileges), Lateral movement geblokkeerd. UITZONDERING: ingebouwde RID-500 Administrator account BYPASSED deze filtering altijd (reason: LAPS migratie of recovery scenarios). Daarom moet RID-500 uitgeschakeld zijn (separate control). REAL-WORLD IMPACT: Pre-mitigation: Ransomware compromises 1 machine → Pass-the-hash to 100+ machines binnen hours → volledige network versleuteling. Post-mitigation: Ransomware kan niet spread via local admin PTH → Breach contained. ALTERNATIVE: Microsoft LAPS (Local Administrator Password Solution) is unique random passwords per machine.
Connection:
RegistryRequired Modules:
Implementatie
Zorg ervoor dat LocalAccountTokenFilterPolicy NIET ingeschakeld is: Registry: HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\beleidsregels\System\LocalAccountTokenFilterPolicy. veilige STATE: Key NOT EXISTS (Standaard veilige behavior), OR: Key exists met value is 0 (explicit disable). VULNERABLE STATE: Key value is 1 (Schakelt in pass-the-hash, Schakelt uit UAC filtering). EFFECT VAN veilige CONFIGURATION (0 of niet-existent): Lokale beheerdersaccounts (behalve RID-500) krijgen filtered tokens bij netwerk logon, Remote admin actions via SMB/WMI/PSRemoting falen voor local admins, Forceert gebruik van domain accounts voor remote management (proper governance). COMPANION CONTROLS: Schakel uit ingebouwde Administrator (RID-500) - separate control, implementeren Microsoft LAPS voor unique local admin passwords, gebruiken domain accounts voor legitimate remote management.
- Controleer registry: Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\beleidsregels\System' -Name LocalAccountTokenFilterPolicy -ErrorAction SilentlyContinue
- Expected: ERROR (key niet exists) is SECURE, OF: Value is 0 is SECURE
- VULNERABLE: Value is 1 is CRITICAL MISCONFIGURATION
- Intune: Zorg ervoor dat LocalAccountTokenFilterPolicy NIET set to 1
- Best practice: Delete key entirely (rely op Standaard veilige behavior)
- OR: expliciet set to 0 via aangepaste OMA-URI beleid
Vereisten
- Windows 10, Windows 11, of Windows Server 2012+
- Microsoft LAPS deployed (AANBEVOLEN companion control)
- Domain accounts geconfigureerd voor remote management (alternative to local admins)
- ingebouwde Administrator (RID-500) disabled (separate control)
Implementatie
VERIFICATION (Standaard is veilige - Zorg ervoor dat niet misconfigured):
- Controleer registry: Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\beleidsregels\System' -Name LocalAccountTokenFilterPolicy -ErrorAction SilentlyContinue
- Expected: ERROR (key niet exists) is SECURE, OF: Value is 0 is SECURE
- VULNERABLE: Value is 1 is CRITICAL MISCONFIGURATION
Gebruik PowerShell-script apply-uac-restrictions-to-local-accounts-on-network-logons-is-set-to-enabled.ps1 (functie Invoke-Remediation) – Verifieer en remediate LocalAccountTokenFilterPolicy (Zorg ervoor dat is 0 of deleted).
via Intune:
- Intune: Zorg ervoor dat LocalAccountTokenFilterPolicy NIET set to 1
- Best practice: Delete key entirely (rely op Standaard veilige behavior)
- OR: expliciet set to 0 via aangepaste OMA-URI beleid
monitoring
Gebruik PowerShell-script apply-uac-restrictions-to-local-accounts-on-network-logons-is-set-to-enabled.ps1 (functie Invoke-Monitoring) – monitor LocalAccountTokenFilterPolicy status.
CRITICAL monitoring: Alert onmiddellijk indien LocalAccountTokenFilterPolicy is 1 detected (potential breach of misconfiguration)
Compliance en Auditing
- CIS Windows Benchmark - UAC restrictions
- BIO 12.02 - Malware/lateral movement prevention
- ISO 27001 A.9.2.3 - Privileged Toegangsbeheer
- NIS2 Artikel 21 - Lateral movement prevention
Remediatie
Gebruik PowerShell-script apply-uac-restrictions-to-local-accounts-on-network-logons-is-set-to-enabled.ps1 (functie Invoke-Remediation) – Herstellen.
Compliance & Frameworks
- CIS M365: Control Windows UAC (L1) - UAC restrictions voor local accounts op network logons
- BIO: 12.02.01 - Lateral movement prevention
- ISO 27001:2022: A.9.2.3 - Management of privileged toegangsrechten
- NIS2: Artikel - Lateral movement prevention
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).
Risico zonder implementatie
Management Samenvatting
Zorg dat LocalAccountTokenFilterPolicy is 0 (of niet-existent) om UAC filtering te behouden en pass-the-hash lateral movement te blokkeren. implementeren Microsoft LAPS voor unique local admin passwords. Voldoet aan CIS, BIO 12.02, ISO 27001 A.9.2.3, NIS2. Implementatie: 1-3 uur. KRITIEKE ANTI-LATERAL-MOVEMENT CONTROL.
- Implementatietijd: 3 uur
- FTE required: 0.02 FTE