
Fuga de direcciones del kernel desde consumidores de ETW. Requiere privilegios de administrador.
Este repositorio contiene un PoC para un programa que utiliza ETW para filtrar direcciones de memoria del kernel. Lo hace creando un consumidor (podría ser para casi cualquier proveedor, ya que casi todos filtran direcciones del kernel) y solicitándole un seguimiento de pila. Una vez que se recibe el seguimiento de pila, se analiza para extraer las direcciones de memoria del kernel. Dado que Microsoft no considera la transición de administrador a kernel como un límite de seguridad, esta situación no cambiará pronto. Puede ser útil en algunos escenarios de explotación (por ejemplo, querer filtrar la dirección base del kernel si sabes que un proveedor ETW filtra una dirección del kernel que está en un cierto desplazamiento de la dirección base del kernel o cualquier otra dirección interesante) o simplemente como un truco de fiesta.
Ten en cuenta que se requieren privilegios administrativos para comenzar a consumir de los proveedores ETW. Si ya existe un programa que consume eventos ETW al que un usuario normal tiene acceso al seguimiento, el usuario normal también podrá filtrar direcciones del kernel. No proporciona ninguna filtración de datos reales del kernel, solo direcciones del kernel (excepto quizás en casos extremos).

Puedes ver un ejemplo de cómo usarlo en EtwLeakKernel. También puedes usar cualquier otro consumidor ETW y solicitar la pila; en este ejemplo se usa Microsoft-Windows-Kernel-Network.
git clone https://github.com/Idov31/EtwLeakKernel --recursive