Reto Reversing: Agente Mr

Publicado el Publicada en Auditoría y CTF, Reversing

Buenos días!! Hoy os propongo un reto de reversing nivel introducción para todos aquellos que quieran iniciarse en el mundo del análisis estático y dinámico de binarios en x86. Para el desarrollo del reto recomiendo la herramienta Radare2 aunque como muchos saben existen otras muy buenas como GDB, Binary Ninja, Hopper, IDA etc… El equipo técnico consiguió […]

Smashing Rabbit – Basic ROP. Usando buffer para sobreescritura de EIP apuntando a función que llama a «/bin/bash» (X)

Publicado el 1 comentarioPublicada en Explotación

[Resumen]: Tenemos que explotar un ROP usando un buffer para la sobreescritura de EIP protegido con NX habilitado. [Técnica]: ROP. Usando un buffer para la sobreescritura de EIP apuntando a la función not_called() y ejecutar un /bin/bash protegido con NX habilitado. [Informe]: Recolección de información Primero debemos obtener la información necesaria para realizar la explotación […]

Smashing Rabbit – Format String. Bypass en la estructura de control por escritura en memoria de un valor (IX)

Publicado el Publicada en Explotación

[Resumen]: Tenemos que explotar format string para obtener una shell. Código: #undef _FORTIFY_SOURCE #include <stdio.h> #include <unistd.h> #include <string.h> int x = 3; void be_nice_to_people() { // /bin/sh is usually symlinked to bash, which usually drops privs. Make // sure we don’t drop privs if we exec bash, (ie if we call system()). gid_t gid […]

Smashing Rabbit – Buffer overflow sobreescribiendo EIP, stack canary con float value y shellcode mod 0x0b (VIII)

Publicado el Publicada en Explotación, Reversing

[Resumen]: Tenemos que explotar un Buffer Overflow protegido con un stack canary float value. [Tecnica]: Smashing Stack sobreescribiendo EIP con una direccion de memoria controlada por nosotros apuntando al inicio del buffer + shellcode mod 0x0b + float value(stack canary). [Informe]: Recolección de información Comenzamos analizando estáticamente el código desensamblado del binario. La función más resañable […]

Reto Reversing: Missile launch code

Publicado el Publicada en Auditoría y CTF, Reversing

Buenos días!! Hoy os propongo un reto de reversing nivel introducción para todos aquellos que quieran iniciarse en el mundo del análisis estático y dinámico de binarios compilado en una Raspberry Pi 2 con un procesador ARM v7-M de 32 bits. Para el desarrollo del reto recomiendo la herramienta Radare2 aunque como muchos saben existen otras muy buenas […]

Smashing Rabbit – Explotacion variable entorno, buffer oveflow sobreescribiendo EIP (VII)

Publicado el Publicada en Explotación, Reversing

Narnia1 Buenos días!! En esta entrada veremos como explotar una variable de entorno llamada EGG. A grandes rasgos el binario busca una variable de entorno especificada  e intentara ejecutar sin ningún tipo de filtro o seguridad lo contenido en la variable, «Muy seguro»!! La página que usaremos sera Overthewire Nos conectamos vía ssh: ssh narnia1@narnia.labs.overthewire.org -p 2226 […]

Reto Reversing: Linux binary

Publicado el Publicada en Auditoría y CTF, Reversing

Buenos días!! Hoy os propongo un reto de reversing nivel introducción para todos aquellos que quieran iniciarse en el mundo del análisis estático y dinámico de binarios compilado en una arquitectura de 64 bits, en este caso de Linux. Para el desarrollo del reto recomiendo la herramienta Radare2 aunque como muchos saben existen otras muy buenas […]

Smashing Rabbit – Classic Buffer Overflow (VI)

Publicado el Publicada en Explotación, Reversing

Buenos días!! En esta entrada veremos algo más básico que la anterior en la que explotaremos un buffer overflow (bof). Me diréis que ya existe una entrada sobre bof pero es interesante profundizar!. Narnia0 La página que usaremos sera Overthewire Nos conectamos vía ssh: ssh narnia0@narnia.labs.overthewire.org -p 2226 User:narnia0 Password:narnia0 Código fuente: #include <stdio.h> #include <stdlib.h> int […]

Smashing Rabbit – Explotacion de escritura con puntero a si mismo y bypass (V)

Publicado el Publicada en Explotación, Reversing

Buenas tardes, hice un reto muy interesante hace tiempo y tenia guardado el documento por si necesitaba recordar algo y decidí publicarlo en el blog, espero que os sea de utilidad. El reto del que hablo es de la magnifica web Overthewire #include <stdlib.h> #include <unistd.h> #include <string.h> #include <stdio.h> #define e(); if(((unsigned int)ptr & 0xff000000)==0xca000000) […]

Scripting con IDAPython – Creamos, creativos y crecemos

Publicado el 1 comentarioPublicada en Programación, Reversing

Buenos días a todos! Tenía ganas de escribir esta entrada para poder introduciros en el mundo del Reversing aunque desde hace tiempo ya ofrecí ese «input» más concretamente el verano pasado. Os recomiendo la serie de entradas sobre Reversing desde 0 «Diseccionando binarios» Muchos ya habrán visto los cuatro vídeos que grabe con respecto al […]