Título: Es posible crear una shellcode a partir de un binario programado en C? Publicado por: Percontex en 8 Abril 2012, 08:25 am A partir de este link:
http://es.wikipedia.org/wiki/Shellcode Dan como ejemplo este código en C: Código: #include <stdio.h> Luego del debug de únicamente la funcion main se tiene esto: Código: 80483a4: 55 push %ebp Y por último al "extraer" la shellcode queda así: Código: \x55\x89\xe5\x83\xe4\xf0\x83\xec\x20\xc7\x44\x24\x18\xa8\xf3\x0a\x08\xc7\x44\x24\x1c\x00\x00\x00\x00\x8b\x44\x24\x18\xc7\x44\x24\x08\x00\x00\x0\x00\x8d\x54\x24\x18\x89\x54\x24\x04\x89\x04\x24\xe8\x1b\xac\x00\x00\xc9\xc3\x90 Y al agregarla a algún script en C para compilar y probarla: Código: // shellcode.c Al momento de hacer ./shellcode arroja una violación de segmento y no se ejecuta sh :( Al menos en la Wikipedia parece permitir la posibilidad de crear una shellcode desde un binario programado en C, pero leyendo otra documentación me parece que únicamente se logra crear en lenguajes de bajo nivel como asm. Entonces amigos, es posible crear una shellcode desde un programa binario en C?, o únicamente se pude obtener de archivos asm? Título: Re: Es posible crear una shellcode a partir de un binario programado en C? Publicado por: Sagrini en 8 Abril 2012, 15:22 pm No es posible hacerlo directamente, ya que una shellcode no puede contener bytes nulos (y el binario tiene muchísimos). La idea es escribir en ensamblador una a una todas las líneas que ejecutan la shellcode.
Título: Re: Es posible crear una shellcode a partir de un binario programado en C? Publicado por: Percontex en 9 Abril 2012, 01:52 am No es posible hacerlo directamente, ya que una shellcode no puede contener bytes nulos (y el binario tiene muchísimos). La idea es escribir en ensamblador una a una todas las líneas que ejecutan la shellcode. Eso me temía, bueno tocará comenzar a estudiar a fondo ensamblador :) |