gdb exploit - porque no se executa fuera de GDB el exploit?

Iniciado por proxy_lainux, Octubre 01, 2018, 01:18:35 AM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Hola

Tiene un buen rato que no intento practicar los exploit en linux, y ya no recuerdo algo que suele pasar al hacer un exploit con gdb.

Cuando cargas una app en gdb se carga en una memoria diferente a cuando se ejecuta de forma normal, y si esp se encuentra en cierta dirección, se carga diferente en memoria al ejecutarlo fuera de gdb, por ejemplo

0xffffd2fa -GDB
0xffffd25c - fuera de GDB


recuerdo que se hace una suma de algo para ejecutar un exploit... recuerdo que al principio le iba atinando poco a poco, algo así.

0xffffd25c -- 0xffffd250 -- 0xffffd24d ...etc

hasta que de repente me daba la shell

después encontre que algo se sumaba para encontrar la verdadera dirección sin tener que atinarle, funcionaba con NOP slide pero ya no recuerdo que se hacia.

¿Alguien de aqui recuerda como se encontraba la verdadera dirección de ESP de una app vulnerable fuera de GDB?

porque cuando busco esp de un buffer en gdb, encuentro ret y busco como brincar a la mitad de los nop para ejecutar la shell, dentro de GDB no hay problema pero cuando lo ejecuto fuera de GDB me dice que hay un error de segmentación y ya no recuerdo que hacia para acomodar la dirección esp y llegar a los NOP.
 
Espero alguien me pueda decir que es lo que se hace para acomodar las cosas dentro y fuera de GDB

Saludos.