hackweb
appunti di hacking e tecnologia
IT EN
menù principale
menù utente
non sei loggato

Exploitation del kernel Linux: da utente a ring 0

22 settembre 2024 · 1 min di lettura · #linux #kernel #exploitation

Il kernel è il livello più privilegiato: un bug lì (in una syscall, un driver, il networking) permette a un processo non privilegiato di ottenere l'esecuzione in kernel mode e diventare root.

Le classi e le mitigazioni

Bug tipici: use-after-free e overflow in slab (kmalloc), race condition (il celebre Dirty COW/Dirty Pipe), null-deref. L'obiettivo spesso è sovrascrivere cred del processo o dirottare un puntatore a funzione del kernel.

Difese del kernel: KASLR (randomizza la base), SMEP/SMAP (il kernel non esegue/legge memoria userland), KPTI, stack canary. Gli exploit moderni usano leak per battere KASLR e tecniche come cross-cache o ROP kernel.

// obiettivo classico: commit_creds(prepare_kernel_cred(0)) -> root

Difesa

Patch tempestive (i bug kernel sono pubblici in fretta), abilita tutte le mitigazioni, riduci la superficie (blocca syscall inutili con seccomp, moduli non necessari), namespaces/lockdown, e kernel hardening (grsecurity-like, KSPP). Meno codice kernel esposto, meno bug raggiungibili.


« torna alla home

ultimi post
 
il tuo indirizzo IP:
216.73.216.108
visitatore #1
MOTD:
Ogni astrazione perde da qualche parte.
Qui guardiamo dove.
argomenti