Come caricare un LKM dannoso all'avvio?

2

Come potrebbe un cracker forzare il caricamento di un rootkit del kernel all'avvio? C'è un modo per collegare il modulo malizioso con un altro modulo in modo che venga caricato automaticamente senza alcun comando insmod?

    
posta MysticDog 21.12.2017 - 23:38
fonte

1 risposta

4

Supponendo di avere un accesso privilegiato completo al filesystem su un computer Linux, è possibile caricare moduli kernel arbitrari. Esistono diverse tecniche che puoi usare:

  • Specifica il modulo in caricare all'avvio usando vari file di configurazione.
  • Modifica i file in modprobe.d(5) per caricare automaticamente il tuo rootkit ogni volta che un modulo normalmente carica.
  • Modifica modules.dep(5) per specificare il tuo modulo come dipendenza di un altro modulo.
  • Modificare initramfs per includere il modulo al posto di un altro modulo che deve essere caricato.
  • Modifica o sostituisci un modulo del kernel esistente per contenere il tuo carico utile.

La tecnica finale è probabilmente la più invisibile, in quanto non comporta modifiche ai file di configurazione e richiede il reverse engineering o la tracciabilità dell'integrità dei file da rilevare. Nota tuttavia che la firma del modulo del kernel può sconfiggere questo imponendo un firma valida su qualsiasi modulo da caricare. Se il modulo è stato compilato e firmato sullo stesso sistema in cui viene utilizzato, c'è la possibilità che tu possa trovare la chiave di firma nello spazio non allocato del filesystem (dato che è stato creato in fase di compilazione e quindi semplicemente non collegato) , ma è un campo lungo. Se la firma del modulo del kernel è attiva e non è possibile ottenere la chiave di firma, sarà necessario trovare altri metodi per accedere al kernel.

Se vuoi semplicemente caricare automaticamente un modulo all'avvio senza l'interazione dell'utente, potresti essere in grado di farlo, evitando il superamento di insmod . Vari script di generazione di initramfs come dracut , genkernel e mkinitcpio possono essere utilizzati per includere moduli in initramfs e fornire hook per script personalizzati. Puoi caricare il modulo qui.

    
risposta data 22.12.2017 - 02:48
fonte

Leggi altre domande sui tag