🔍 Contexte
Article technique publié le 4 mai 2026 par Remco van der Meer sur incendium.rocks, présentant des mises à jour du projet MS-RPC-Fuzzer et les résultats obtenus, notamment la découverte d’une escalade de privilèges vers NT AUTHORITY\SYSTEM.
🛠️ Améliorations du fuzzer MS-RPC
Deux fonctionnalités majeures ont été implémentées :
- Fuzzing récursif des structures complexes : trois fonctions coopérantes (
New-FuzzedInstance,Get-FuzzFieldValue,New-NdrEmbeddedPointerValue) permettent de traverser récursivement les structures NDR imbriquées, avec des garde-fous anti-récursion infinie (profondeur max 8, ensemble$Visited). - Support des types Union : gestion des unions MS-RPC IDL en sélectionnant aléatoirement un bras (
Arm_N) et en synchronisant le discriminant pour éviter l’erreurNo matching union selector when marshaling.
📡 Remplacement de Process Monitor par ETW
Le fuzzer utilise désormais Event Tracing for Windows (ETW) via P/Invoke sur advapi32.dll et tdh.dll pour surveiller l’activité fichier et registre :
- Provider Microsoft-Windows-Kernel-File (GUID :
EDD08927-9CC4-4E65-B970-C2560FB5C289) - Provider Microsoft-Windows-Kernel-Registry (GUID :
70EB4F03-C1DE-4F73-A051-33D13D5413BD)
Un canary (incendiumrocks_) est préfixé à toutes les chaînes et tableaux d’octets générés. Lorsque ce canary apparaît dans une activité fichier/registre sous une identité privilégiée (SIDs S-1-5-18, S-1-5-19, S-1-5-20), une alerte haute priorité est émise en temps réel.
🚨 Découverte : escalade de privilèges via spoolsv.exe
Le fuzzing a révélé que la procédure RPC RpcInstallPrinterDriverPackageFromConnection (interface 12345678-1234-abcd-ef00-0123456789ab, endpoint ncalrpc:[LRPC-340b3873feba621b77]) dans spoolsv.exe charge un DLL depuis le disque en tant que NT AUTHORITY\SYSTEM à partir d’une entrée contrôlée par l’utilisateur. Les événements sont enregistrés dans Syscalls.json et HighPrivSyscalls.json.
📄 Type d’article
Analyse technique de recherche en vulnérabilité, présentant l’implémentation d’un outil de fuzzing offensif et les résultats de son application sur les interfaces MS-RPC Windows.
🧠 TTPs et IOCs détectés
TTP
- T1068 — Exploitation for Privilege Escalation (Privilege Escalation)
- T1574.001 — Hijack Execution Flow: DLL Search Order Hijacking (Persistence)
- T1106 — Native API (Execution)
IOC
- Fichiers :
spoolsv.exe - Chemins :
C:\windows\system32\spoolsv.exe
Malware / Outils
- MS-RPC-Fuzzer (tool)
🟡 Indice de vérification factuelle : 46/100 (moyenne)
- ⬜ incendium.rocks — source non référencée (0pts)
- ✅ 15000 chars — texte complet (fulltext extrait) (15pts)
- ✅ 2 IOC(s) (6pts)
- ⬜ pas d’IOC vérifié (0pts)
- ✅ 3 TTPs MITRE identifiées (15pts)
- ✅ date extraite du HTML source (10pts)
- ⬜ aucun acteur de menace nommé (0pts)
- ⬜ pas de CVE à vérifier (0pts)
🔗 Source originale : https://www.incendium.rocks/posts/Fuzzing-MS-RPC-structures-and-monitoring/