[FLUG] Re: Seria vulnerabilità di Linux :D

  • From: BlueRaven <blueraven@xxxxxxxxx>
  • To: fanolug@xxxxxxxxxxxxx
  • Date: Thu, 15 May 2003 16:05:30 +0200

Mailing List del Fortunae LUG
=============================

On Thu, May 15, 2003 at 12:51:01PM +0200, legion wrote:

[ptrace bug]
> qualcuno mi sa spiegare in poche parole cosa usa questo exploit per
> avere una suid shell?

Il kernel ha una lunga storia di bug exploitabili tramite ptrace, ma
suppongo tu ti riferisca all'ultimo uscito.
Lo spiego un po' a grandi linee, spero i coder C mi perdoneranno qualche
imprecisione linguistica. :-)
Il concetto è semplice: quando il sistema ha bisogno di una feature
contenuta in un modulo, il kernel crea un processo, gli assegna i permessi
di root (EUID e EGID 0) e questo, a sua volta, chiama modprobe per caricare
il modulo.
Il problema risiede nel fatto che, nel tempo che intercorre tra
l'assegnazione dei permessi di root e la chiamata a modprobe, è possibile
attaccarsi a questo processo con la ptrace() e inserire nel suo spazio di
memoria codice arbitrario.
Quando il flusso di esecuzione raggiunge l'indirizzo di memoria
prestabilito, viene eseguito lo shellcode e il gioco è fatto.
Si sfrutta quel che in gergo si chiama una "race condition", una sorta di
gara di velocità con il processo bersaglio.
Ovviamente, per funzionare, è necessario che il kernel sia compilato col
supporto per i moduli.

-- 
#include <best/regards.h>

BlueRaven

"One world, one Web, one program" - Microsoft Promo ad.
"Ein volk, ein Reich, ein Fuhrer" - Adolf Hitler.
-- 
Bill Gates : "No! Nel nostro software non ci sono bug significativi che un 
numero significativo di utenti vuol vedere corretti."

Other related posts: