Solucion a Mi Primer Exploit

hola amigos soy flamer de nuevo y he llamado el titulo mi primer exploit por que es el primero que resuelvo pero no se si es exploit o solo un simple reto ya que esta muy sencillo de resolver.

bueno el reto ya es viejo y fue expuesto en el foro https://underc0de.org y aquí el link del hilo:

https://underc0de.org/foro/wargames-202/reto-genera-tu-exploit!

y como dise hdbreaker que es el autor de este reto, tenemos que ejecutar la calculadora.

bueno así que manos a la obra, primero lo analizaremos con el RDG Detector y nos muestra lo siguiente:


que esta compilado en Dev-C++, así que ahora lo abriremos con el ollydbg y buscamos las string así:




y si se fijan un poco la primera linea nos marca el nombre de un archivo llamado "config.txt" así que daremos doble clic sobre esa linea


y nos muestra la siguiente imagen


ahora si observan la flecha roja verán que apunta ala palabra "system" y se preguntaran ¿y eso que?, bueno system es un comando del Dev-C++ que se encarga de ejecutar un comando de consola, en pocas palabras del ms-dos.

y ahora dirán ¿que esta ejecutando aquí? pues fácil esta ejecutando el comando "pause".

ahora no olvidemos el objetivo del reto que es ejecutar la calculadora de windows, y para eso solo bastaría con tan solo modificar la palabra "pause" a "calc" y con eso finalizamos el reto, pero yo en este tutorial iré mas allá, ejecutaremos varios comandos a la ves y para eso veremos que ase esta parte del código mostrada en la imagen de arriba.

primera mente en la linea 004013D2 vemos que abre el archivo config.txt y luego en la linea 004013F2 lee el contenido de este archivo para luego imprimirlo usando el comando printf en la linea 0040141A.

y si observan un poco la dirección encargada de imprimir el contenido del archivo es la dirección 0028FF10




ahora bien la dirección encargada de ejecutar el comando pause es 00440011




como dije anterior mente podemos finalizar el reto modificando el contenido de esta dirección pero mejor haremos algo mejor modificaremos la linea 0040141F y borramos la dirección encargada de ejecutar el pause y pondremos la dirección encargada de imprimir el contenido del archivo config.txt.

para eso damos doble clic en la linea 0040141F y le escribimos la linea del código alterado

Codigo Normal:

MOV DWORD PTR SS:[ESP],OFFSET 00440011

Codigo Alterado:

MOV DWORD PTR SS:[ESP],OFFSET 0028FF10


ahora después de esto aguardamos los cambios y modificamos el contenido del archivo config.txt por este:

"notepad&calc&taskmgr&%temp%&regedit"


y ahora si ejecutamos el archivo reto y como ven se ejecuta lo escrito en el archivo config.txt

bueno amigos eso es todo, el reto lo pueden descargar del hilo oficial pero por si el link se llega a cae aquí esta el mio:

http://www.mediafire.com/download/32bhbj0l2qye5uc/RetoExploit.rar


saludos Flamer