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

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Sistemas Operativos
| |-+  GNU/Linux (Moderador: MinusFour)
| | |-+  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 3,330 veces)
Garfield07


Desconectado Desconectado

Mensajes: 1.121


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

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
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. int main (int argc, char *argv [])
  6. {
  7. char buffer [8];
  8. strcpy (buffer, argv [1]);
  9.  
  10. printf ("You said : %s", buffer);
  11. return 0;
  12. }
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
Foxy Rider


Desconectado Desconectado

Mensajes: 2.407


Deprecated


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

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
  1. -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 pm por vertex@Symphony » En línea

Garfield07


Desconectado Desconectado

Mensajes: 1.121


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

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
[ASM]Syscall no me funciona + fallo de segmentacion
ASM
ny0x 5 4,619 Último mensaje 14 Junio 2009, 19:38 pm
por ny0x
Fallo de segmentación!!
Programación C/C++
<[(x)]> 6 3,739 Último mensaje 13 Julio 2010, 06:44 am
por nicolas_cof
Fallo en segmentación inexplicable (al menos para mi)
Programación C/C++
Gallu 5 3,154 Último mensaje 18 Julio 2010, 00:21 am
por nicolas_cof
Fallo de segmentación
Programación C/C++
W0lFy 2 4,014 Último mensaje 21 Octubre 2010, 01:09 am
por W0lFy
[?] Fallo de segmentación - C
Programación C/C++
8789poli 3 4,644 Último mensaje 14 Diciembre 2010, 19:50 pm
por 8789poli
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines