🔍 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.dllGetLargePageMinimum, 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