miércoles, 13 de junio de 2007

Smashing the stack


Últimamente me he estado dedicando a mi otro proyecto, el cual os anuncié en el anterior post, y dado que mi tiempo es limitado no he podido actualizar nada aquí. Aprovechando la ocasión, os vuelvo a invitar a que entréis en el blog Metal&Magic si queréis leer algunos artículos en un tono desenfadado y pasar un buen rato.
Bueno, a lo que íbamos, el post es para informaros de un artículo, ya todo un clásico, que leí hace bastante tiempo y que no hace mucho, buscando por internet otras cosas volví a encontrar; así que se me ocurrió postear el link.
El artículo en cuestión es ni más ni menos que "Smashing the stack for fun and profit", en el cual se habla todo lo que concierne a la pila y a eso que supongo que habréis oido del "buffer overflow".

Se trata, muy por encima, de aprovechar que ciertas funciones de librería (por ejemplo strcpy()) no chequean que el tamaño de los parámetros no exceda el límite reservado y, por ejemplo, de esta manera, copiando "algo" sobre un buffer de menor tamaño que ese algo sobrescribiremos lo que haya continuación. Y si casualmente sobrescribimos la dirección de memoria donde está almacenado el valor de retorno de la pila y "casualmente" machacamos esa posición con la dirección de comienzo de un código ejecutable (¿Por qué no una shell?) que, casualidades del destino, hemos insertado en el buffer copiado...pues obtendremos una shell gracias al programita en cuestión (¿demasiadas veces la palabra "casualidad"?).
De todas formas, advertir que en la actualidad, la mayoría de los SO no permiten ejecutar nada en el espacio de la pila.
Pues nada, aquí os dejo el link y espero que le echéis un vistazo porque, a pesar de estar en inglés, está muy bien explicado y es, desde mi punto de vista, muy interesante:

SMASHING THE STACK FOR FUN AND PROFIT

He leido también otros métodos de explotar fallos de buffer overflow mediante la concatenación de strings, aprovechando que estén en memoria uno a continuación de otro. Si me apetece y tengo tiempo, quizás escriba algo acerca de ello :P.

P.D: algún día retomaré esto con ganas otra vez...

No hay comentarios: