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.
-