Aquí está el escenario, parte de un ejercicio de tipo wargame / CTF. Existe un programa vulnerable que se ejecuta como un servicio en el host remoto. Tengo acceso a una copia del binario, que tiene un desbordamiento de pila de un scanf sin marcar.
Soy capaz de desencadenar el código de desbordamiento y ejecución, pero tengo problemas para averiguar qué usar para la dirección de retorno. Si ejecuto el binario en mi máquina de prueba, solo puedo obtener un shell si conozco aproximadamente la dirección de mi shellcode en la pila. En el momento del desbordamiento, ninguno de los registros contiene la ubicación del shellcode. Mi idea era que debería poder forzar la dirección de retorno, pero eso no ha funcionado ni en mi instancia de prueba (ASLR desactivado) ni en el servicio remoto (estado ASLR desconocido).