PoC SeLockMemoryPrivilege : allocation de Large Pages via VirtualAlloc sous Windows
đ 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 flags MEM_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. ...