Inleiding — waarom non-admin persistence onderschat wordt
De meeste endpoint-hardening richt zich op admin-elevation: UAC, LAPS, Just-In-Time admin. Logisch — maar het laat een grote attack surface open. Een aanvaller die één user-account compromitteert (phishing, browser-exploit, malafide installer) kan vier essentiële doelen bereiken zonder ooit admin nodig te hebben: persistence over reboots, omleiding van system-binaries, exfiltratie van AI-platform-data en een browser↔OS bridge die geen Web Store-review passeert.
De WinRunElevated-tool (deel F) test vier van deze vectoren in een gecontroleerd sandbox-scenario. Hieronder de techniek-uitleg per vector, met defensie en detectie. Geen exploit-code — conceptuele beschrijving, gericht op IT-managers en security-professionals.
F2 — HKCU\Environment PATH-hijack
De aanvaller prepend zijn eigen map aan de user-PATH
Locatie: HKCU\Environment → "Path" (REG_EXPAND_SZ)
Techniek
Schrijf naar de user-PATH-key in het registry, voeg een sandbox-directory toe vóór de bestaande waarde, plaats daar een dummy ipconfig.exe en broadcast WM_SETTINGCHANGE. Vanaf dat moment resolves elke nieuwe cmd-sessie van die user de aanvaller-binary eerst, niet die uit System32. Geldt voor ipconfig, whoami, git, npm — elk commando waar de aanvaller een gelijknamige dummy heeft.
Schade-scenario
Phishing-mail met "factuur-update.zip" → user pakt uit → setup.exe draait → schrijft HKCU\Environment + plaatst een handvol gespoofte binaries (ipconfig.exe, nslookup.exe, whoami.exe) in %LOCALAPPDATA%\.... Maandenlang wordt elke diagnose-aanroep door deze user gekaapt: het echte commando draait ook (om geen verdenking te wekken), maar de aanvaller logt parameters, exfiltreert data of injecteert side-payloads. Geen admin nodig. Persistent over herstart.
Defensie
GPO om environment-editing voor users te beperken (Disable changing environment variables). EDR-baseline op user-PATH-content: elke afwijking van het verwachte profiel is een rode vlag. Application Control die alleen getekende binaries uit Program Files / System32 toestaat.
Detectie
Sysmon Event ID 13 (RegistryValueSet) gefilterd op HKCU\Environment. PowerShell-baseline: Get-ItemProperty HKCU:\Environment wekelijks vergelijken met golden image. SIEM-alert op nieuwe paden in user-PATH.
F3 — Recall AI-database leesbaarheid (Win11+ Copilot+)
Windows Recall: elke 5 seconden een screenshot, OCR'd, lokaal opgeslagen
Locatie: %LOCALAPPDATA%\CoreAIPlatform.00\UKP\{GUID}\ukp.db + ImageStore\*.png
Wat dit is
Windows Recall is Microsofts AI-feature voor Copilot+ PC's. Het systeem maakt continu screenshots, voert OCR uit op de inhoud (tekst van Outlook, Teams-chats, Excel, browser, alles wat zichtbaar is) en bewaart dat in een SQLite-database plus de bijbehorende PNG-bestanden. Doel: zoeken in je eigen geschiedenis ("toon me dat bonnetje van vorige week").
Het beveiligingsprobleem
De database en images zijn leesbaar voor de user zelf — geen admin vereist. Sinds Recall v2 (november 2024) is de data versleuteld met EFS, maar de sleutel zit in user-DPAPI — toegankelijk voor elk proces dat in user-context draait. Met andere woorden: een gewone .exe die de user dubbelklikt kan in seconden de Recall-historie indexeren.
Schade-scenario
Info-stealer (geen admin nodig, niet eens een installer) leest ukp.db, exporteert OCR-tekst van de laatste 30 dagen, exfiltreert via DNS of HTTPS. Resultaat: wachtwoorden die ooit op het scherm gestaan hebben (password-manager auto-fill, kort zichtbaar), e-mails, banking-pagina's, MFA-codes die in een SMS-prompt op het scherm verschenen. Alles wat het oog ooit zag, is nu data.
Defensie
GPO DisableAIDataAnalysis in Computer Configuration → Administrative Templates → Windows Components → Windows AI. Conditional Access in Entra ID die Copilot+ endpoints alleen toestaat als managed met deze GPO. DLP-monitoring op read-access van CoreAIPlatform.00\UKP path. In hoog-risico omgevingen: Copilot+ hardware vermijden tot enterprise-controls volwassen zijn.
Detectie
Sysmon Event ID 11 (FileCreate) op de UKP\ImageStore path — copy-operations zijn verdacht. Sysmon Event ID 1 (process access) of EID 10 (ProcessAccess) op ukp.db door processen die niet Recall.exe zelf zijn. Microsoft Defender for Endpoint heeft sinds Q1 2026 een sensor voor "Recall data access by non-Recall process".
F4 — Native Messaging Host registratie
Een lokale bridge tussen browser-extensie en willekeurige executable
Locatie: HKCU\Software\Google\Chrome\NativeMessagingHosts\<name> + manifest.json in user-folder
Techniek
Native Messaging Hosts (NMH) zijn een legitieme Chrome/Edge-feature: een extensie kan via stdin/stdout communiceren met een lokale executable. Registratie vereist alleen een HKCU-registry-key die naar een lokaal manifest.json wijst, dat op zijn beurt naar een .exe verwijst. Geen admin, geen UAC, geen Web Store-review.
In combinatie met een developer-mode extensie (sideloaded "unpacked", niet uit de Web Store) ontstaat een volledig browser↔OS-kanaal: cookies, page-content, geheugen-strings, lokaal-bestanden — alles bidirectioneel uitwisselbaar zonder MOTW-flag of code-signing.
Schade-scenario
Phishing-pagina toont een misleidende install-instructie: "installeer onze productiviteits-extensie via developer mode". User opent chrome://extensions, schakelt developer mode aan, laadt een unpacked-folder. De bijbehorende setup.exe (uit dezelfde ZIP) registreert tegelijkertijd de NMH-host. Vanaf dat moment: permanente C2 via browser-traffic dat er volledig legitiem uitziet. De extensie staat niet in de Web Store dus geen takedown-mechanisme; de NMH-key staat in HKCU dus geen admin-detectie via standaard scans.
Defensie
GPO ExtensionInstallBlocklist → * + ExtensionInstallAllowlist → expliciet whitelist. DeveloperToolsAvailability op disabled in Edge/Chrome management policies. NMH-whitelist via NativeMessagingAllowlist / NativeMessagingBlocklist (Chrome 84+, Edge 84+). Voor Chrome Enterprise: ExtensionDeveloperModeSettings → disabled.
Detectie
Sysmon Event ID 13 op HKCU\Software\Google\Chrome\NativeMessagingHosts\* en HKCU\Software\Microsoft\Edge\NativeMessagingHosts\* + de Mozilla-variant. Sysmon Event ID 11 op manifest.json-bestanden in user-profiles. Periodieke audit van geregistreerde NMH-hosts via Intune-script.
F5 — PowerShell $PROFILE injection
Code die uitgevoerd wordt bij elke nieuwe PowerShell-sessie
Locatie: $HOME\Documents\PowerShell\Microsoft.PowerShell_profile.ps1 (PS 7) + WindowsPowerShell\ (PS 5.1)
Techniek
Schrijf of append een script naar het profile-pad in de user-documents-folder. PowerShell laadt dit bestand automatisch bij elke nieuwe sessie — voor de prompt verschijnt, zonder waarschuwing. Geen admin nodig: het is de user-eigen Documents-folder.
Schade-scenario
Living-off-the-land payload + profile-injection: een aanvaller compromiteert een ontwikkelaar-account (de doelgroep die het meeste PowerShell gebruikt) en injecteert één regel in $PROFILE: . \\share\helper.ps1. Vervolgens opent een IT-admin op datzelfde endpoint PowerShell voor troubleshooting — en heeft daarmee onbedoeld een achterdeur geactiveerd. Variant: het profile injecteert een function-override van Get-Credential die wachtwoorden eerst exfiltreert.
Defensie
GPO PowerShell-policy: ConstrainedLanguage mode via AppLocker/WDAC — profile-scripts met .NET-types worden geweigerd. Signed-scripts-only policy: Set-ExecutionPolicy AllSigned via Computer Configuration. Periodieke baseline-check van profile.ps1 mtime + content-hash via Intune.
Detectie
Event 4104 (PowerShell ScriptBlockLogging) met ScriptBlockText dat profile-paden bevat. Sysmon Event ID 11 op *\PowerShell\*profile.ps1 — legitieme wijzigingen zijn zeldzaam. Baseline-monitoring profile.ps1 mtime/size via dagelijkse scheduled task in golden-image deployment.
Impact-matrix — de vier vectoren naast elkaar
| Vector | Admin nodig? | Persistent over reboot? | Schade-categorie | Standaard EDR-detectie? |
|---|---|---|---|---|
| F2 — HKCU PATH-hijack | Nee | Ja, permanent | Command-interception, side-payload, recon | Beperkt — vereist baseline-vergelijking |
| F3 — Recall AI-data | Nee | Niet nodig (data is al statisch) | Massale credential/data-exfiltratie | Nieuw — alleen Defender for Endpoint sinds Q1 2026 |
| F4 — Native Messaging Host | Nee | Ja, tot extensie verwijderd | Browser↔OS C2-kanaal | Zelden — legitieme feature |
| F5 — PowerShell $PROFILE | Nee | Ja, bij elke nieuwe PS-sessie | Code-execution bij elke admin-troubleshoot | Goed — mits ScriptBlockLogging aanstaat |
Negen tegenmaatregelen — gecombineerde checklist
De volgende negen maatregelen dekken samen alle vier de vectoren. Geen volgordedwang — begin bij de maatregel die het minst impact heeft op uw productie-omgeving en bouw op.
- GPO PowerShell-policy met ConstrainedLanguage + AllSigned — sluit F5 ($PROFILE injection) volledig af en maakt F2 (PATH-hijack via PS) zwaarder. Vereist whitelist-werk maar is de gouden standaard.
- GPO DisableAIDataAnalysis op alle Copilot+ endpoints — sluit F3 (Recall) volledig af. Een one-liner in Computer Configuration → Windows AI. Geen impact op productiviteit voor zakelijke users.
- GPO ExtensionInstallBlocklist + DeveloperToolsAvailability=disabled — sluit F4 (NMH via dev-mode extensies) af. Combineer met expliciete allowlist voor de extensies die u wél toestaat.
- NativeMessagingBlocklist / NativeMessagingAllowlist — tweede laag voor F4. Voorkomt ook NMH-registratie via productie-extensies die later compromised raken.
- GPO "Disable changing environment variables" — sluit F2 (PATH-hijack) af voor gewone users. Vereist toetsen of er legitieme tools zijn die hier afhankelijk van zijn (CI-scripts, ontwikkelaar-tooling).
- Sysmon EID 13 + baselining op HKCU-keys — detectie-laag voor F2 en F4. Configureer Sysmon-config met TargetObject-filters op
HKCU\Environmenten alle browser-NMH-paden. - PowerShell ScriptBlockLogging (Event 4104) verplicht — detectie-laag voor F5 en algemeen PowerShell-misbruik. Doorsturen naar SIEM met alerts op profile-paths.
- Conditional Access + Intune-compliance: Copilot+ endpoints alleen managed — voor organisaties met Copilot+ hardware: forceer dat alleen endpoints met de AI-GPO toegang krijgen tot bedrijfsdata.
- Periodieke endpoint-baseline rapportage — via Intune of SCCM dagelijks scannen: HKCU\Environment-content, NMH-registraties, profile.ps1 hash, Recall-GPO-status. Afwijking = ticket.
Wat de Werkplek-Beveiliging-Test aantoont
De WPB-test draait deel F van WinRunElevated v0.3.0 "Shimmer" in een gecontroleerd sandbox-scenario. Geen schadelijke payload, geen exfiltratie — alleen het bewijs of de techniek bij uw werkplek-policy door de bewakers heen komt. Per vector krijgt u een groen/oranje/rood resultaat:
MITRE ATT&CK-mapping — voor uw security-team
| Vector | MITRE Technique | Tactic |
|---|---|---|
| F2 — PATH-hijack | T1574.007 (Path Interception by PATH Environment Variable), T1112 (Modify Registry) | Persistence / Defense Evasion |
| F3 — Recall data | T1005 (Data from Local System), T1555 (Credentials from Password Stores) | Collection / Credential Access |
| F4 — NMH | T1176 (Browser Extensions), T1556 (Modify Authentication Process) | Persistence / Command and Control |
| F5 — $PROFILE | T1546.013 (PowerShell Profile), T1059.001 (PowerShell) | Persistence / Execution |
| Algemeen | T1547.001 (Registry Run Keys), T1059 (Command and Scripting Interpreter) | Persistence / Execution |
Hoe nu verder?
Drie concrete vervolgstappen die elke IT-manager binnen twee weken kan zetten:
- Audit uw Copilot+ exposure via Intune-rapport: welk percentage endpoints heeft Recall ingeschakeld? Welk percentage heeft
DisableAIDataAnalysis-GPO actief? Dit is binnen de organisatie meestal de eerste niet-gemeten attack surface. - Schakel Sysmon EID 13 baseline-monitoring in op HKCU\Environment en alle NMH-paden. Geen actie verandert, maar u krijgt zichtbaarheid. Vereiste vooraf voor elke serieuze maatregel daarna.
- Pilot Constrained Language Mode + ExtensionInstallBlocklist op één team. Meet false-positives en gebruikersimpact. Schaal op naar de hele organisatie. Combineer met de WPB-test om periodiek de werking te valideren.
iCt Horse helpt organisaties met evidence-based security research. Niet met PowerPoints — met werkende tests op echte werkplekken. Voor een audit van uw endpoint-configuratie op deze vier vectoren: info@icthorse.nl.
Bron-pagina: https://icthorse.nl/wpb-test/ · Test-tool: WinRunElevated v0.3.0 "Shimmer", deel F · iCt Horse Security Research · KvK 96787112