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


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

+  Foro de elhacker.net
|-+  Sistemas Operativos
| |-+  GNU/Linux
| | |-+  Mensaje ¿nucleo? fallo de segmentacion ::: Desactivando la protección
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Mensaje ¿nucleo? fallo de segmentacion ::: Desactivando la protección  (Leído 1,240 veces)
Garfield07


Desconectado Desconectado

Mensajes: 1.123


¡Este año voy a por todas! JMJ 2011


Ver Perfil WWW
Mensaje ¿nucleo? fallo de segmentacion ::: Desactivando la protección
« en: 31 Diciembre 2010, 17:08 »

Modifico : Ubuntu 9.04 64 bits modo de compatibilidad !

Buenas, escribo esto por un problema que me ha surgido al intentar explotar una sencilla aplicación evidentemente vulnerable... El caso es que al saber cuantos nops le tengo que meter a la pila para que vaya, me ha dado un bonito error.
Mi code (para no entenderlo xD):
Código
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
int main (int argc, char *argv [])
{
char buffer [8];
strcpy (buffer, argv [1]);
 
printf ("You said : %s", buffer);
return 0;
}
El fallo:
Citar
*** stack smashing detected ***: ./code terminated
======= Backtrace: =========
/lib/tls/i686/cmov/libc.so.6(__fortify_fail+0x48)[0xb77d4ef8]
/lib/tls/i686/cmov/libc.so.6(__fortify_fail+0x0)[0xb77d4eb0]
./code[0x80484b6]
[0x41414141]
======= Memory map: ========
08048000-08049000 r-xp 00000000 08:06 5267571    /home/juanra/Escritorio/code
08049000-0804a000 r--p 00000000 08:06 5267571    /home/juanra/Escritorio/code
0804a000-0804b000 rw-p 00001000 08:06 5267571    /home/juanra/Escritorio/code
09d9d000-09dbe000 rw-p 09d9d000 00:00 0          [heap]
b76d6000-b76d7000 rw-p b76d6000 00:00 0
b76d7000-b7833000 r-xp 00000000 08:06 353269     /lib/tls/i686/cmov/libc-2.9.so
b7833000-b7834000 ---p 0015c000 08:06 353269     /lib/tls/i686/cmov/libc-2.9.so
b7834000-b7836000 r--p 0015c000 08:06 353269     /lib/tls/i686/cmov/libc-2.9.so
b7836000-b7837000 rw-p 0015e000 08:06 353269     /lib/tls/i686/cmov/libc-2.9.so
b7837000-b783a000 rw-p b7837000 00:00 0
b783b000-b7848000 r-xp 00000000 08:06 335937     /lib/libgcc_s.so.1
b7848000-b7849000 r--p 0000c000 08:06 335937     /lib/libgcc_s.so.1
b7849000-b784a000 rw-p 0000d000 08:06 335937     /lib/libgcc_s.so.1
b784a000-b784d000 rw-p b784a000 00:00 0
b784d000-b784e000 r-xp b784d000 00:00 0          [vdso]
b784e000-b786a000 r-xp 00000000 08:06 335886     /lib/ld-2.9.so
b786a000-b786b000 r--p 0001b000 08:06 335886     /lib/ld-2.9.so
b786b000-b786c000 rw-p 0001c000 08:06 335886     /lib/ld-2.9.so
bfcbe000-bfcd3000 rw-p bffea000 00:00 0          [stack]
You said : AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACancelado

Se que es una proteccion de la pila xD... pero no se como desactivarla para seguir...
Alguien me puede ayudar a desactivar la proteccion de la pila?
Muchas gracias xD!


En línea



* Quiero cambiar el mundo, pero estoy seguro de que no me darían el código fuente.
* No estoy tratando de destruir a Microsoft. Ese será tan solo un efecto colateral no intencionado.
* Si compila esta bien, si arranca es perfecto.

¡Wiki elhacker.net!
Un saludo
vertexSymphony


Desconectado Desconectado

Mensajes: 2.150



Ver Perfil WWW
Re: Mensaje ¿nucleo? fallo de segmentacion ::: Desactivando la protección
« Respuesta #1 en: 31 Diciembre 2010, 23:23 »

Acá el culpable sería gcc .. esto es un mecanismo de protección que tiene para detectar buffer overflows (stack smashing) ...
cuando compiles asegurate de agregar este parámetro para desactivarlo :
Código
-fno-stack-protector 

Como extra también te comento si este mecanismo se disparase y quisieses "arreglarlo" , con valgrind cazás el problema al toque ...
Otro dato es que si tenés instalada la capa de compatibilidad en este caso no importa (fijate el memory map, /lib en sistemas de 64 está enlazado simbólicamente a /lib64 que serían las librerías de 64 bits) (Retiro lo dicho, recién noto un i686 por ahí bajo /lib en un sistema de 64? ... ayy Ubuntu ... la forma rápida de verificarlo es ver si ese elf es elfclass32 o elfclass64 )
Otro dato es que esto está prácticamente implementado en modo de usuario (en una librería llamada libssp)

Edit : Te acerco dos links al respecto por si te interesa saber más :
http://en.wikipedia.org/wiki/Buffer_overflow_protection#GCC_Stack-Smashing_Protector_.28ProPolice.29
http://www.trl.ibm.com/projects/security/ssp/

Saludos.

P.S : esto no sé si iría a "Hacking Linux/Unix" o "Programación C/C++" =(



« Última modificación: 31 Diciembre 2010, 23:47 por vertex@Symphony » En línea

Mail/PGP/XMPP/D*
Código
gpg --recv-keys --keyserver pgp.mit.edu 0xCD21671D
Garfield07


Desconectado Desconectado

Mensajes: 1.123


¡Este año voy a por todas! JMJ 2011


Ver Perfil WWW
Re: Mensaje ¿nucleo? fallo de segmentacion ::: Desactivando la protección
« Respuesta #2 en: 1 Enero 2011, 01:03 »

Yo tmb dude, y sobre todo ahora con la respuesta xD esk creia que era problemita del kernel (tipo protecciones, etc.)
muchisimas gracias !!!

PD1: Claro que investigare xD... Todo por aprender !
PD2: Feliz año nuevo de hace 1:03 horas!
En línea



* Quiero cambiar el mundo, pero estoy seguro de que no me darían el código fuente.
* No estoy tratando de destruir a Microsoft. Ese será tan solo un efecto colateral no intencionado.
* Si compila esta bien, si arranca es perfecto.

¡Wiki elhacker.net!
Un saludo
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Fallo de Segmentación « 1 2 »
Programación C/C++
Kropt32 16 9,130 Último mensaje 15 Noviembre 2008, 21:22
por Eternal Idol
[ASM]Syscall no me funciona + fallo de segmentacion
ASM
ny0x 5 1,926 Último mensaje 14 Junio 2009, 19:38
por ny0x
Fallo de segmentación!!
Programación C/C++
<[(x)]> 6 750 Último mensaje 13 Julio 2010, 06:44
por nicolas_cof
Fallo de segmentación
Programación C/C++
W0lFy 2 1,772 Último mensaje 21 Octubre 2010, 01:09
por W0lFy
[?] Fallo de segmentación - C
Programación C/C++
8789poli 3 1,418 Último mensaje 14 Diciembre 2010, 19:50
por 8789poli
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines