Explotando la corrupción de memoria en arquitectura ARM

Como ya he dicho muchas otras veces, la mejor forma de aprender es practicando (…y enseñando).

Explotación de vulnerabilidades en general en arquitecturas x86, son bien conocidas y hay documentación por doquier, de forma gratuita online y en libros, pero cuando nos enfrentamos a arquitecturas ARM, la documentación ya no es tan abundante.

Con el boom de la tecnología móvil y el famoso Internet of things (IoT), la arquitectura ARM está en nuestro día a día y posiblemente interactuemos con ella mucho más de lo que nos imaginemos.

Así como decía, nada como practicar y de hecho el motivo de esta entrada, es hablaros de este pequeño proyecto, cuyo contenido es una simple aplicación vulnerable para correr en un sistema con arquitectura ARM. El objetivo consiste en ser capaz de ejecutar código en el sistema. Dicha aplicación la puedes correr sobre un Raspberry Pi y contiene además del ejecutable, su código fuente e incluso un exploit ya escrito para ganar acceso en el sistema.

Lo ideal es que intentes explotar la vulnerabilidad sin mirar la solución o el código fuente. Si te quedas atascado, lo siguiente sería hacer ingeniería inversa al ejecutable, si te quedas sin ideas, entonces mira el código fuente y como último recurso echa mano del exploit.

Las instrucciones de instalación las tienes en la misma página del repositorio anteriormente enlazado.

Happy exploiting!