🔍 Contexte
Publié sur GitHub par l’utilisateur daem0nc0re dans le dépôt PrivFu (907 étoiles, 129 forks), ce fichier source C# constitue un proof-of-concept (PoC) démontrant l’utilisation du privilège Windows SeLockMemoryPrivilege.
⚙️ Fonctionnement technique
Le PoC illustre comment un processus disposant du privilège SeLockMemoryPrivilege peut :
- Appeler
GetLargePageMinimum()(kernel32.dll) pour obtenir la taille minimale d’une Large Page - Allouer une Large Page en mémoire physique via
VirtualAlloc()avec les flagsMEM_COMMIT | MEM_RESERVE | MEM_LARGE_PAGES - Libérer la mémoire allouée via
VirtualFree() - Gérer proprement l’interruption Ctrl+C avec un handler de nettoyage
🛠️ APIs Windows utilisées
kernel32.dll→GetLargePageMinimum,VirtualAlloc,VirtualFree- Flags d’allocation :
MEM_LARGE_PAGES,MEM_COMMIT,MEM_RESERVE - Protection mémoire :
PAGE_READWRITE
🎯 Objectif du PoC
Le code démontre qu’un attaquant ou un processus disposant de SeLockMemoryPrivilege peut consommer de la mémoire physique via des Large Pages ou AWE (Address Windowing Extensions), ce qui peut être exploité à des fins de déni de service local ou d’abus de privilèges Windows.
📌 Type d’article
Il s’agit d’une analyse technique / publication de code offensif à visée éducative et de recherche, publiée dans le cadre du projet PrivFu dédié à l’exploration des privilèges Windows.
🧠 TTPs et IOCs détectés
TTP
- T1134 — Access Token Manipulation (Privilege Escalation)
- T1106 — Native API (Execution)
IOC
- URLs :
https://github.com/daem0nc0re/PrivFu/blob/main/PrivilegedOperations/SeLockMemoryPrivilegePoC/SeLockMemoryPrivilegePoC.cs - Fichiers :
SeLockMemoryPrivilegePoC.cs
Malware / Outils
- PrivFu (tool)
🔗 Source originale : https://github.com/daem0nc0re/PrivFu/blob/main/PrivilegedOperations/SeLockMemoryPrivilegePoC/SeLockMemoryPrivilegePoC.cs