Cuando tratamos de descubrir alguna vulnerabilidad o forma de explotarla, hay dos obstaculos que nos no permiten hacerlo. En linux existen algunos tipos de protcciones una de ellas es: "exec-shield" o "Virtual Addres Space Randomization".
esta a su vez lo que hace es crear memorias virtuales en proceso de ejecución de un programa u aplicación aleatorio/a. Para que vallan cambiando en cada ejecución su dirección de retorno y todo exploit para dicha vulnerabilidad quede obsoleto.
Pero aquí voy a explicar un metodo para deshabilitar esta protección.
#include
unsigned long esp(void){
__asm__("movl %esp, %eax");
}
int main(int argc, char *argv[]){
printf("0x%08x\n",esp());
return 0;
}
Luego ejecutamos "./vuln"
Aver que nos dice "0x9aee9600"
Otra vez "0x1f59dcb0"
Otra vez "0x180e1800".
Si se fijan hay está la protección contra el Stack Överflow, porque nos cambia la dirección en cada ejecución del programa osea vería la dirección.
Para poder obtener direcciones constantes o sea que no varíen tenemos que deshabilitar la protección, para esto hacemos lo siguiente: "echo 0 > /proc/sys/kernel/randomize_va_space". Probemos a ver que nos dice "cat echo > /proc/sys/kernel/randomize_va_space". Vemos que nos da "0", antes nos daba "1", porque se controla mediante 1 true & 0 false.
Ahora como ya hemos deshabilitado la protección, entonces nos queda probar a ver, como ya saben en la primera prueba varíaban las direcciones en cada ejecución del programa, ahora veremos que pasa.
Ejecutemos el programa a ver: "./vuln"
Nos pasa lo siguiente "0xffffe710
root@F1R3544:/home/no/Escritorio# ./esp
0xffffe710
root@F1R3544:/home/no/Escritorio# ./esp
0xffffe710.
Como ven aquí no nos varía la dirección, pero esto es porque hemos deshabilitado la protección.
Amigo esto es todo bye hasta luego.
No hay comentarios:
Publicar un comentario