In che modo un rootkit ring 3 riesce a modificare i file in / etc e / o / usr?

5

A articolo recente ha spinto la mia curiosità; per favore, spogliati con me, non sono un esperto di sicurezza ma solo un amministratore di Linux.

Questo indica che il rootkit viene eseguito da userspace, ma modifica /etc/so.preload e crea file in /usr/share . Con quale meccanismo è possibile? Che l'articolo non menzionasse per quanto ne so.

    
posta tink 07.09.2016 - 04:22
fonte

1 risposta

2

Stai solo chiedendo in che modo un programma in modalità utente può scrivere file? User-mode (ring 3) non significa non privilegiato, sebbene la modalità kernel (ring 0, l'opposto della modalità utente) implichi privilegi. Ogni volta che sudo un comando, stai eseguendo il codice ring 3 che può modificare file arbitrari. I programmi utente "root" vengono eseguiti nell'anello 3 proprio come chiunque altro.

Un rootkit come questo ovviamente richiede privilegi (cioè root) per l'installazione. Fa cose come creare un utente, che può essere fatto con il codice userspace (ci sono alcune chiamate nel kernel, ma non è necessario installare un modulo del kernel per farlo) ma non può essere fatto da un utente non privilegiato.

Come nota a margine, i rootkit in modalità utente sono più deboli di quelli in modalità kernel. In pratica, il codice di terze parti essenzialmente non effettua mai una chiamata di sistema direttamente , perché le chiamate di sistema non sono come quelle "normali" ei dettagli sono specifici della piattaforma e dell'implementazione e potrebbero cambiare tra principali revisioni del kernel. Creare syscalls direttamente dal tuo codice lo renderà probabilmente non portatile ed è facile da rovinare. Tuttavia, è possibile e, in tal caso, ignorerai lo shim che il rootkit in modalità utente ha configurato per manomettere le tue syscalls.

    
risposta data 07.09.2016 - 09:00
fonte

Leggi altre domande sui tag