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

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Hacking
| | |-+  Bugs y Exploits
| | | |-+  Inesperado EIP ret2libc
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Inesperado EIP ret2libc  (Leído 3,236 veces)
Lodos76

Desconectado Desconectado

Mensajes: 49


Ver Perfil
Inesperado EIP ret2libc
« en: 31 Julio 2014, 17:48 pm »

Buenos días.

Estaba siguiendo el tutorial http://www.infosecwriters.com/text_resources/pdf/return-to-libc.pdf para bypassear el HW DEP mediante el método ret2libc.

Éste es el código a explotar:

Código
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <stdlib.h>
  4.  
  5. int main(int argc, char *argv[])
  6. {
  7. char buff[5];
  8.  
  9. if (argc != 2)
  10. {
  11. puts("Needs and argument!");
  12. exit(1);
  13. }
  14.  
  15. printf("Exploiting via returning into libc function\n");
  16. strcpy(buff, argv[1]);
  17. printf("\nYou typed [%s]\n\n", buff);
  18.  
  19. return 0;
  20. }



El caso es que según pone en el tutorial, con 32 Aes sobreescribiríamos completamente el RET ADDRESS, pero en el tutorial, el autor hace uso de un sistema de 32 bits, y yo estoy usando la última versión de Kali, de 64 bits.
Con 30 Aes, me faltan 2 Aes para sobreescribir todo el RET ADDRESS, pero con o más de 31 Aes, siempre muestra  0x0000000000400655. ¿Qué pasa?


Citar
root@Kali:~/Desktop/Exploits# ulimit -c unlimited
root@Kali:~/Desktop/Exploits# gcc -ggdb retlib.c -o retlib
root@Kali:~/Desktop/Exploits# ./retlib `perl -e 'print "A"x30'`
Exploiting via returning into libc function

You typed [AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA]

Violación de segmento (`core' generado)
root@Kali:~/Desktop/Exploits# gdb -q -c ./core
[New LWP 19019]

warning: no loadable sections found in added symbol-file system-supplied DSO at 0x7fff7adfe000
Core was generated by `./retlib AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'.
Program terminated with signal 11, Segmentation fault.
#0  0x0000414141414141 in ?? ()
(gdb) q
root@Kali:~/Desktop/Exploits# ./retlib `perl -e 'print "A"x31'`
Exploiting via returning into libc function

You typed [AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA]

Violación de segmento (`core' generado)
root@Kali:~/Desktop/Exploits# gdb -q -c ./core
[New LWP 19023]

warning: no loadable sections found in added symbol-file system-supplied DSO at 0x7fff5fffe000
Core was generated by `./retlib AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'.
Program terminated with signal 11, Segmentation fault.
#0  0x0000000000400655 in ?? ()
(gdb) q

Muchas gracias :)
En línea

dRak0

Desconectado Desconectado

Mensajes: 234


Ver Perfil WWW
Re: Inesperado EIP ret2libc
« Respuesta #1 en: 1 Agosto 2014, 14:03 pm »

Porque no lees el codigo en ASM , asi calculas cuanto reserva . Cada compilador lo hace de forma diferente , fijate.

disassembly-flavor intel(Sintaxis intel)
disassemble main

Fijate el prologo y listo.
En línea

Lodos76

Desconectado Desconectado

Mensajes: 49


Ver Perfil
Re: Inesperado EIP ret2libc
« Respuesta #2 en: 1 Agosto 2014, 15:40 pm »

Porque no lees el codigo en ASM , asi calculas cuanto reserva . Cada compilador lo hace de forma diferente , fijate.

disassembly-flavor intel(Sintaxis intel)
disassemble main

Fijate el prologo y listo.

Y tú te llamas ret2libc jajaja

Ya, cada compilador reserva de una manera (el mío 0x20, es decir, 31d, y apartir de ahí siempre muestra el mismo EIP, no más Aes ni nada).

¡Gracias por responder!
« Última modificación: 1 Agosto 2014, 17:37 pm por Lodos76 » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Error inesperado en win98
Programación Visual Basic
BartolomeoJS 2 1,590 Último mensaje 26 Agosto 2006, 00:24 am
por Ironhorse
Comportamiento inesperado [FOR+PAUSE]
Scripting
leogtz 5 3,843 Último mensaje 29 Diciembre 2008, 20:55 pm
por sirdarckcat
Un regalo inesperado?
Foro Libre
rdzlcs 3 2,703 Último mensaje 13 Diciembre 2010, 23:08 pm
por anonimo12121
problema ret2libc sacando direccion d memoria system()
Bugs y Exploits
rmdma() 6 4,703 Último mensaje 12 Febrero 2012, 19:14 pm
por Ivanchuk
Immunity Debugger: funcionamiento inesperado
Ingeniería Inversa
Schaiden 3 2,771 Último mensaje 7 Diciembre 2015, 05:28 am
por tincopasan
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines