Foro de elhacker.net

Seguridad Informática => Bugs y Exploits => Mensaje iniciado por: Belial & Grimoire en 13 Mayo 2012, 01:34 am



Título: porque al usar breakpoint con GDB no me aparece nada?[RESUELTO]
Publicado por: Belial & Grimoire en 13 Mayo 2012, 01:34 am
hola

estaba practicando sobre exploits en linux

ya entendi como hacer una shell con asm y obtener los opcodes, para hacer la shellcode usando nasm y hexadump, estuve leyendo el tuto de Smashing The Stack For Fun And Profit tambien

ahorita estaba recordando unos post sobre eso y quise volver a intentarlo

antes no me salia ciertas cosas que ya comprendi...

ahora tengo un problema con GDB, cuando uso este codigo

Código:
#include <stdio.h>
#include <string.h>
 
int vuln (char *buff)
{
    char buffer [36];
    strcpy (buffer, buff);
}
 
int main (int argc, char *argv [])
{
    vuln (argv [1]);
}
 
int feo ()
{
    printf ("Eres feo!!!");
    exit (0);
}

lo executo con gdb y coloco esto, en mi version debian le tuve que cambiar los nop's porque se necesitó mas

Código:
r $(perl -e 'print "\x90" x 23 . "B" x 25 . "XXXX"')

ahora me aparece esto correctamente

Código:
/vuln $(perl -e 'print "\x90" x 23 . "B" x 25 . "XXXX"')

Program received signal SIGSEGV, Segmentation fault.
0x58585858 in ?? ()

aqui supuestamente me deberia de aparecer algo asi usando un break en la funcion vuln

Código:
(gdb) br vuln
Breakpoint 1 at 0x804842a: file vuln.c, line 8.
(gdb) r AAA
The program being debugged has been started already.
Start it from the beginning? (y or n) y

Starting program: /home/juanra/Escritorio/Shell/vuln AAA

Breakpoint 1, vuln (buff=0xbffffb5f "AAA") at vuln.c:8
8        strcpy (buffer, buff);

pero a mi no me sale eso, de hecho no sale nada

Código:
(gdb) br vuln
Breakpoint 1 at 0x804845a
(gdb) r AAA
The program being debugged has been started already.
Start it from the beginning? (y or n) y

Starting program: /home/gazette/ejemplo_profit/exploit_foro/vuln AAA

Breakpoint 1, 0x0804845a in vuln ()


que podria estar saliendo mal, ya intente incluso usar el break con buff y buffer y tampoco

espero me puedan ayudar, porque apenas estoy tratando de entender como encontrar el RET para el exploit

salu2


Título: Re: porque al usar breakpoint con GDB no me aparece nada?
Publicado por: Ivanchuk en 14 Mayo 2012, 08:42 am
Hola,

Lo compilaste con informacion de debug?

$gcc -ggdb -fno-stack-protector vuln.c

Saludos


Título: Re: porque al usar breakpoint con GDB no me aparece nada?
Publicado por: Belial & Grimoire en 14 Mayo 2012, 20:28 pm
a ya, si faltaba ggdb no me acordaba de ese comando, solo de las protecciones

Código:
--no-stack-protector -z execstack

gracias