
Divulgazione di indirizzi kernel dai consumer ETW. Richiede privilegi di amministratore.
Questo repository contiene un PoC per un programma che utilizza ETW per far trapelare indirizzi di memoria del kernel. Lo fa creando un consumer (potenzialmente verso quasi qualsiasi provider, dato che quasi tutti fanno trapelare indirizzi del kernel) e richiedendo uno stack trace. Una volta ricevuto lo stack trace, viene analizzato per estrarre gli indirizzi di memoria del kernel. Poiché Microsoft non considera l'accesso amministratore al kernel come un confine di sicurezza, questa situazione non cambierà tanto presto. Potrebbe essere utile in alcuni scenari di exploitation (ad es. per far trapelare l'indirizzo di base del kernel se si sa che un provider ETW fa trapelare un indirizzo del kernel che si trova a un certo offset dall'indirizzo di base del kernel o qualsiasi altro indirizzo interessante) o semplicemente come trucco da festa.
Tieni presente che sono necessari privilegi amministrativi per iniziare a consumare dagli ETW provider. Se esiste già un programma che consuma eventi ETW e l'utente normale ha accesso alla traccia, anche l'utente normale potrà far trapelare indirizzi del kernel. Non fornisce alcuna fuga di dati reali del kernel, solo indirizzi del kernel (tranne forse in casi estremi).

Puoi vedere un esempio di come usarlo in EtwLeakKernel. Puoi anche usare qualsiasi altro consumer ETW e richiedere lo stack; in questo esempio viene usato Microsoft-Windows-Kernel-Network.
git clone https://github.com/Idov31/EtwLeakKernel --recursive