Hola otra vez
.:UND3R:.,
2) Con la dirección del stack me refiero al rango de direcciones destinadas a usarse como pila. Entiendo que te refieres a las direcciones utilizadas en cualquier stackframe de la pila, independientemente del numero de contextos que tenga en ese momento, es decir todas son todas, desde donde empieza el "PRIMER EBP" hasta la cima de la pila ESP. Si es así con un si me bastaría
Lo ultimo que dices despejaba absolutamente mi duda si no es que hubiera leído lo que anteriormente mencionas ya que veo una ligera contradicción.
Esto3) hardcodear claro es una jerga y se refiera a usar una dirección estática y esto en el mayor de los casos posibles debe ser evitado.
Con esto otroPero si por ejemplo la dirección de una instrucción (JMP ESP en este caso) será la misma en cualquier versión (si obviamos ASLR).
Si no hay que confiar en una dirección del stack ya que estas suelen variar dependiendo de los factores que mencionas, por que utilizar por ejemplo las del kernel32? tengo entendido que estas direcciones(JMP ESP del kernel o similares) serán mas o menos "fijas" para ese determinado S.O, es decir el exploit funcionara en cualquier S.O que haga uso de esta librería(siempre y cuando se cargue en la misma dirección de memoria), con esto puedo deducir tres cosas:
1)Nunca hay que confiar en las direcciones del stack por que estas direcciones variaran dependiendo únicamente del programa, contenido etc...Y esto repercutirá en las direcciones que haga uso en el stack.
2)Si confiamos en una librería del sistema, este exploit funcionara únicamente para el sistema que se esta utilizando. Por decirlo de alguna manera el exploit dependerá del S.O en cuestión(teniendo en cuenta lo que mencionaste, versión, sp, idioma etc...)
3)Esto es lo que yo deduzco. Lo lógico seria depender de una librería que haga uso el programa vulnerable, ya que esta se cargara inmediatamente en el momento que se ejecute el programa y como la dirección que contenga el JMP ESP de la librería se le abra asignado en el mismo instante que se carga ya no me importaría saber de antemano la dirección ya que sea cual sea la dirección podrá referenciar SIEMPRE(siempre y cuando no haya ASLR) a la cima de la pila. En este ultimo punto estamos haciendo que el exploit ya no dependa del S.O si no de la aplicación vulnerable en cuestión, de este modo nuestro exploit funcionara haya donde funcione la aplicación saltándonos como digo la dependencia del S.O y ahora la dependencia sera sobre la aplicación asegurándonos así que la explotación se realice con éxito en mas sistemas.
Espero su respuesta, saludos!