[Linux-Biella] Fw: Exploitation: Returning into libc
Emanuele Aina
linux@ml.bilug.linux.it
Tue, 27 Jan 2004 17:58:43 +0100
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.
--
Buongiorno.
Complimenti per l'ottima scelta.