[Linux-Biella] Fw: Exploitation: Returning into libc

Andrea Ferraris linux@ml.bilug.linux.it
Wed, 28 Jan 2004 18:55:32 +0100


>From: "Emanuele Aina" <faina.mail@tiscali.it>
> Andrea Ferraris riportò:
>
> > Io non  ho tempo di leggerlo, ma se a qualcuno puo`
> > interessare ha voglia di farcene un riassunto?
>
> [NB: è il mio primo approccio a tali techiche, quindi prendete le mie
> parole con molta cautela]
>
> Riassumendo: le tecniche buffer overflow richiedono che lo stack sia
> eseguibile per contenere le istruzioni che l'attaccante vuole eseguire
> ma, recentemente, l'uso di stack non eseguibili (PaX, propolice, etc...)
> rende impossibile ciò.
>
> In questo documento si propone che l'attaccante, invece che fornire del
> proprio codice, usi il buffer overflow per lanciare una funzione di
> libreria, passandole attraverso lo stack parametri opportuni.
>
> La tecnica qui esposta consiste nel mettere gli argomenti della funzione
> nello stack (usando variabili d'ambiente e appositi programmini),
> sovrascrivere l'indirizzo che andrà messo nell'EIP al ritorno dalla
> funzione con l'indirizzo della funzione system() della libc e ottenere
> in questo modo una shell (con i privilegi del programma bucato).
>
> Conclusione: gli stack non eseguibili non sono la panacea di tutti i
> buffer overflow.

Grazie 1000!!!

e tanti cari saluti,

Andrea