tags: windows kernel Kernel_mode User_mode


Nei sistemi operativi esistono due tipologie di modalità che sono User Mode e Kernel Mode, queste due modalità si differenziano dal fatto che la prima è quella su cui gli utenti possono operare attraverso diversi privilegi che possono andare dai privilegi di utenti ai privilegi di ammistratore/root, mentre la seconda viene gestita esclusivamente dal sistema operativo che permette l’accesso al kernel mode solo tramite system calls.

Perché non esiste una “shell Kernel Mode”?

  • Non è progettato per uso interattivo:

    • Il kernel non ha una “shell” nativa come il prompt dei comandi o una bash. La sua funzione principale è gestire risorse e operazioni a basso livello, non fornire un’interfaccia per interazioni dirette.
  • Interfaccia indiretta:

    • Il kernel espone funzionalità alle applicazioni attraverso le System Call. Queste rappresentano l’unico punto di accesso regolamentato.

    • Anche strumenti avanzati come PowerShell o bash lavorano in User Mode.

Possibilità di ottenere privilegi Kernel Mode

In circostanze normali, non è possibile ottenere una shell in Kernel Mode semplicemente usando strumenti standard o meccanismi legittimi del sistema operativo. Tuttavia, ci sono eccezioni:

  • Sfruttamento di vulnerabilità:

    • Se una vulnerabilità viene scoperta in un driver o nel kernel stesso, un attaccante potrebbe sfruttarla per eseguire codice arbitrario in Kernel Mode.

    • Ad esempio, alcune tecniche di privilege escalation abusano di driver con permessi impropri o buffer overflow in codice del kernel.

  • Rootkits:

    • Un rootkit può iniettare codice nel kernel, consentendo all’attaccante di ottenere accesso Kernel Mode e manipolare il sistema senza restrizioni.

    • Exploit: Tecnicamente, esistono exploit (bug di sicurezza) che possono permettere a un utente malintenzionato di elevare i privilegi e accedere al Kernel Mode. Tuttavia, questo è illegale e altamente sconsigliato. I sistemi operativi moderni hanno meccanismi di protezione (come l’ASLR, DEP, ecc.) per rendere questi attacchi molto difficili.