Autor
|
Tema: Sobreescribir EIP (Leído 2,470 veces)
|
Fire544
Desconectado
Mensajes: 14
"Escucha el sonido del 0, 1"
|
Hola, tengo ya varias horas con una dúda e visto varios manuales, y algunos comentarios, donde dice "las direcciones EIP, nunca se sobreescriben". Intento lo siguiente ya todo compilado sin las protecciones stack y randomize. gdb hola GNU gdb 6.8-debian Copyright (C) 2008 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-linux-gnu"... (gdb) r main Starting program: /home/f1r3/hola main
Program received signal SIGSEGV, Segmentation fault. 0x00007ffff7a9c100 in __libc_start_main () from /lib/libc.so.6 (gdb) info registers rbp rip rbp 0x4141414141414141 0x4141414141414141 rip 0x7ffff7a9c100 0x7ffff7a9c100 <__libc_start_main+48> (gdb) x/x $rbp 0x4141414141414141: Cannot access memory at address 0x4141414141414141 (gdb) x/x $rip 0x7ffff7a9c100 <__libc_start_main+48>: 0x7c8948d2
La respuesta que quiero, es ¿ Por qué razón pasa esto ?
|
|
|
|
« Última modificación: 14 Agosto 2009, 23:08 por Fire544 »
|
En línea
|
"Sólo los pobres de conosimientos ven quien eres, sólo los ricos saven porque"
|
|
|
Fire544
Desconectado
Mensajes: 14
"Escucha el sonido del 0, 1"
|
Noce si es por la versión de gcc, estoy usando actualmente la versión 4.x.x intentaré cambiar de versión a ver que pasa.
|
|
|
|
|
En línea
|
"Sólo los pobres de conosimientos ven quien eres, sólo los ricos saven porque"
|
|
|
|
berz3k
|
Verifica que el binario sea explotable, tambien existen protecciones ante un BoF en varias boxes linux vaya, gralmente ya en el glibc.
-berz3k.
|
|
|
|
|
En línea
|
|
|
|
Fire544
Desconectado
Mensajes: 14
"Escucha el sonido del 0, 1"
|
berz3k: Gracias, logre sobreescribir las direcciones de los registros EBP e EIP. El problema eran los bytez, la solución fue aumentar los bytez, el problema se devió a que en algunas versiones de gcc, habian que meter más bytez osea si eran 8 habia que poner 16.
|
|
|
|
|
En línea
|
"Sólo los pobres de conosimientos ven quien eres, sólo los ricos saven porque"
|
|
|
|
berz3k
|
perfect! , ya nos postearas tus notes y resultados.
-berz3k.
|
|
|
|
|
En línea
|
|
|
|
|
berz3k
|
Olvidaba postearte un buen hilo que te podra ayudar a entender mas sobre posibles protecciones, un pequeño hilo creado por c1c4tr1z :
Deshabilitando protecciones contra Buffer Overflows
:https://foro.elhacker.net/bugs_y_exploits/deshabilitando_protecciones_contra_buffer_overflows-t241570.0.html;msg1158405#msg1158405
-berz3k.
|
|
|
|
|
En línea
|
|
|
|
Fire544
Desconectado
Mensajes: 14
"Escucha el sonido del 0, 1"
|
Hola, berz3k, tardé algunos instantes en contestar disculpa, estaba atareado. Muchas gracias por tu ayuda, ya me e pasado por ese post, de "c1c4tr1z". Y esta bien explicado, lo entendí perfectamente, sobre como desactivar las protecciones de variaciones de la pila, y permitir el fallo de segmentación en la pila (STACK). Muchas gracias. Aquí los resultados: (gdb) run AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA Starting program: /home/f1r3/bug AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Has escrito: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Program received signal SIGSEGV, Segmentation fault. 0x0000414141414141 in ?? () (gdb) info registers rbp rip rbp 0x4141414141414141 0x4141414141414141 rip 0x414141414141 0x414141414141 (gdb)
Sí te fijas aquí hay 30 ases, pero sobreescribe con 22, hay 30. Por la variante de gcc, lo hace por razones de alineamientos, telele, telele, bla, bla, bla, ya sabes. Bueno ese era el error, que en vez de la explotación ficticia utilizada por todos, de sobreescribir con 2 o 4 bytez más, aquí no anda, tube que meter 8 bytez.
|
|
|
|
« Última modificación: 26 Agosto 2009, 08:17 por Fire544 »
|
En línea
|
"Sólo los pobres de conosimientos ven quien eres, sólo los ricos saven porque"
|
|
|
|
berz3k
|
No esta demas leer las cosas nuevas sobre ASLR
:http://www.blackhat.com/presentations/bh-europe-09/Fritsch/Blackhat-Europe-2009-Fritsch-Bypassing-aslr-whitepaper.pdf
-berz3k.
|
|
|
|
|
En línea
|
|
|
|
Fire544
Desconectado
Mensajes: 14
"Escucha el sonido del 0, 1"
|
Muy bueno el pdf, mucgas gracias entiendo perfectamente.
|
|
|
|
|
En línea
|
"Sólo los pobres de conosimientos ven quien eres, sólo los ricos saven porque"
|
|
|
|
|