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.