Ir al contenido principal

Entradas

Mostrando las entradas etiquetadas como ROP

Binary Exploitation (XXI): Solución Reto ROP Emporium "write4"

Continúo poniendo las soluciones de un   sitio   que he encontrado  para aprender ROP , ‘ Return Oriented Programming’  (en español, Programación Orientada al Retorno),  a través de una serie de desafíos  diseñados para enseñar diversas técnicas. Como siempre utilizo la versión de 64 bits del desafío. En este post la  solución al reto que lleva por título "write4" , y que, en mi opinión, presenta un  nivel de dificultad alto (★★ ★ ★ ☆) . -  Enunciado : Además, se explica lo siguiente : On completing our usual checks for interesting strings and symbols in this binary we're confronted with the stark truth that our favourite string "/bin/cat flag.txt" is not present this time. Although you'll see later that there are other ways around this problem, such as resolving dynamically loaded libraries and using the strings present in those, we'll stick to the challenge goal which is learning how to get data into the target process's virtual addres...

Binary Exploitation (XX): Solución Reto ROP Emporium "callme"

Continúo poniendo las soluciones de un   sitio   que he encontrado  para aprender ROP , ‘ Return Oriented Programming’  (en español, Programación Orientada al Retorno),  a través de una serie de desafíos  diseñados para enseñar diversas técnicas. Como siempre utilizo la versión de 64 bits del desafío. En este post la  solución al reto que lleva por título "callme" , y que, en mi opinión, presenta un  nivel de dificultad medio (★★ ★ ☆ ☆) . -  Enunciado : Además, se explica que la PLT ( 'Procedure Linkage Table' ) se utiliza para resolver en tiempo de ejecución direcciones de funciones en bibliotecas importadas, y a modo de instrucciones se proporcionan las siguientes : Important: To dispose of the need for any RE I'll tell you the following: You must call the callme_one() , callme_two() and callme_three() functions in that order, each with the arguments 0xdeadbeef , 0xcafebabe , 0xd00df00d e.g. callme_one(0xdeadbeef, 0xcafebabe, 0xd00d...

Binary Exploitation (XIX): Solución Reto ROP Emporium "split"

Continúo poniendo las soluciones de un   sitio   que he encontrado para aprender ROP , ‘ Return Oriented Programming’  (en español, Programación Orientada al Retorno),  a través de una serie de desafíos  diseñados para enseñar diversas técnicas. Como siempre utilizo la versión de 64 bits del desafío. En este post la  solución al reto que lleva por título "split" , y que, en mi opinión, presenta un  nivel de dificultad medio (★★ ★ ☆☆) . -  Enunciado : -  Solución: 1.-  Se proporciona un ejecutable (split) ; lo primero que hago es ejecutarlo  y veo que es vulnerable a un ataque de desbordamiento de  'buffer'  (en inglés,  'buffer overflow' ): 2.-  Compruebo los mecanismos de seguridad del binario  utilizando  ‘checksec’   y veo que ‘NX’ está habilitado, lo que significa que  la pila es no ejecutable : 3.-  Decompilo el binario  usando  ‘Ghidra’   y veo que en la función ...

Binary Exploitation (XVIII): Solución Reto ROP Emporium "ret2win"

He encontrado un sitio para aprender ROP , ‘ Return Oriented Programming’ (en español, Programación Orientada al Retorno), a través de una serie de desafíos diseñados para enseñar diversas técnicas. En la medida que sea capaz de ir resolviéndolos iré poniendo las soluciones a los mismos . Utilizaré siempre la versión de 64 bits del desafío. En este post la solución al reto que lleva por título "ret2win" , y que, en mi opinión, presenta un nivel de dificultad bajo (★★ ☆ ☆☆) . - Enunciado : - Solución: 1.- Se proporciona un ejecutable (ret2win) ; lo primero que hago es ejecutarlo y veo que es vulnerable a un ataque de desbordamiento de 'buffer' (en inglés, 'buffer overflow' ): 2.-  Compruebo los mecanismos de seguridad del binario utilizando ‘checksec’   y veo que ‘NX’ está habilitado, lo que significa que la pila es no ejecutable : 3.-  Decompilo el binario usando ‘Ghidra’   y veo que en la función main() se realiza una llamada a la función pwnme() : ...