Hack-cessibility When DLL Hijacks Meet Windows Helpers #1534
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
🤖 Automated Content Update
This PR was automatically generated by the HackTricks News Bot based on a technical blog post.
📝 Source Information
🎯 Content Summary
What the post proves (dated October 28, 2025): Windows Narrator.exe still performs a predictable localization DLL load that can be hijacked for arbitrary code execution and persistence. Using Procmon, the author observed Narrator probing a OneCore TTS localization DLL and confirmed that a planted DLL is loaded and its
DllMain(DLL_PROCESS_ATTACH)executes without requiring any exports.Discovery with Process Monitor (Procmon): Filter on 🔧 Technical Details
Narrator DLL search-order hijack: Abuse Narrator’s localization probe by placing a malicious DLL at
%windir%\System32\speech_onecore\engines\tts\msttsloc_onecoreenus.dll. On Narrator start, Windows loads the DLL and executesDllMain(DLL_PROCESS_ATTACH)even without exports, granting immediate code execution.Silencing the assistive tech: To avoid OPSEC noise, enumerate Narrator threads at attach time and suspend the primary UI/voice thread (
OpenThread+SuspendThread). Continue payload execution in your own thread so no speech/highlighting occurs.Persistence via Accessibility configuration: Set
REG_SZ configurationunderHKCU/HKLM\Software\Microsoft\Windows NT\CurrentVersion\Accessibilityto an AT name (e.g., Narrator). HKCU yields user persistence at logon; HKLM launches the AT at the logon screen asSYSTEM.🤖 Agent Actions
I explored the repository and found no existing page dedicated to Windows Accessibility/Narrator persistence, but there is an appropriate, existing page for DLL search-order hijacking: src/windows-hardening/windows-local-privilege-escalation/dll-hijacking/README.md. The blog’s technique is fundamentally a deterministic DLL hijack of Narrator’s OneCore TTS localization probe, with persistence and RDP-trigger angles, so I added a concise, highly technical case-study section there.
What I updated
Why this location
No other files were modified or created.
This PR was automatically created by the HackTricks Feed Bot. Please review the changes carefully before merging.