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

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Hacking
| | |-+  Bugs y Exploits
| | | |-+  Exploiting básico (Buffer Overflow) [Ayuda]
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] Ir Abajo Respuesta Imprimir
Autor Tema: Exploiting básico (Buffer Overflow) [Ayuda]  (Leído 15,644 veces)
d00rt

Desconectado Desconectado

Mensajes: 12


Ver Perfil
Re: Exploiting básico (Buffer Overflow) [Ayuda]
« Respuesta #10 en: 1 Abril 2015, 10:59 am »

Lo siento .:UND3R:. y bueno a todos los que me habéis ayudado o aportado cualquier posible pista, ya solucione el problema, pero ando con la universidad bastante liado y ahora mismo no tengo tiempo para contestar, pero en cuanto pueda, escribo como resolví el problema.

Basicamente lo que pasaba es que cuando ejecuto con el gdb el programa, el gdb utiliza unas posiciones de memoria distintas a cuando lo ejecuto sin el gdb, ahora mismo no recuerdo como lo hacia (porque la solución no es que se me ocurriera a mi) pero cogía la dirección de ESP, ahora no recuerdo en que momento, y lo restaba con otra dirección que tampoco recuerdo cual ahora :-( y después a la dirección que me daba ESP al ejecutarlo sin el gdb le restaba ese offset y era la dirección que necesitaba, a lo largo de esta semana subo exactamente como solucione el problema

Mil Perdones!

En línea

SteelHern

Desconectado Desconectado

Mensajes: 24


Ver Perfil
Re: Exploiting básico (Buffer Overflow) [Ayuda]
« Respuesta #11 en: 1 Abril 2015, 12:29 pm »

El problema es que están siendo muy cuadrados, la ing. Inversa junto con el exploiting es un arte de flexibilidad, debes moldearte al problema, al programa, al entorno, al sistema operativo.

El modo teórico es el siguiente:
- Encontrar en que zona se produce el desbordamiento:
 luego de llamar a la función strcpy();

- Luego que sabes en donde está el problema, debes saber cuantos bytes copiar:
 Usas un generador de patrones únicos y lo lanzas para ver que valor toma EIP (error al ejecutar dirección 0xXXXXXXXX) es ahí en donde debes calcular el desplazamiento.

- Con eso debes poner la dirección de que ejecutar, en este caso la dirección de la shellcode que puede ser al principio del overflow.

El problema es que me esta alojando el contenido del buffer en una parte muy baja de la pila, con un monton de cosas encima, entre ellas el EIP. Ya puedo hacer todo el overflow que quiera que es imposible que sobreescriba la dirección de retorno. Supongo que esto tendrá que ver con el mecanismo de aleatorización de direcciones de memoria, que aunque estoy tomando medidas para evitarlo, por lo visto no estan funcionando.
En línea

.:UND3R:.
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.118


Ingeniería inversa / MASM


Ver Perfil WWW
Re: Exploiting básico (Buffer Overflow) [Ayuda]
« Respuesta #12 en: 1 Abril 2015, 12:53 pm »

Pareciera que fuese el mecanísmo de stackshield, no es ASLR pues no cambia el orden de las variables locales de una función, me imagino que compilaste el exploit bajo los parámetros utilizados en el libro, adicionado que la desactivación de ASLR se presenta en las 1eras páginas del libro, saludos.
En línea


Solicitudes de crack, keygen, serial solo a través de mensajes privados (PM)
d00rt

Desconectado Desconectado

Mensajes: 12


Ver Perfil
Re: Exploiting básico (Buffer Overflow) [Ayuda]
« Respuesta #13 en: 1 Abril 2015, 13:02 pm »

Pareciera que fuese el mecanísmo de stackshield, no es ASLR pues no cambia el orden de las variables locales de una función, me imagino que compilaste el exploit bajo los parámetros utilizados en el libro, adicionado que la desactivación de ASLR se presenta en las 1eras páginas del libro, saludos.
.:UND3R:. no se si te refieres a lo mio o a lo de SteelHern, pero lo mio creo que no tiene nada que ver con ningun mecanismo de proteccion (que yo sepa) ya que desactivo todo tal cual dice en el libro (lo de randomize), y las direcciones del programa al ejecutarlo con gdb siempre me da las mismas, y una vez que encuentro sin gdb la direccion de memoria del inicio de la variable, siempre es la misma y siempre puedo explotar la vulnerabilidad
En línea

.:UND3R:.
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.118


Ingeniería inversa / MASM


Ver Perfil WWW
Re: Exploiting básico (Buffer Overflow) [Ayuda]
« Respuesta #14 en: 1 Abril 2015, 19:57 pm »

.:UND3R:. no se si te refieres a lo mio o a lo de SteelHern, pero lo mio creo que no tiene nada que ver con ningun mecanismo de proteccion (que yo sepa) ya que desactivo todo tal cual dice en el libro (lo de randomize), y las direcciones del programa al ejecutarlo con gdb siempre me da las mismas, y una vez que encuentro sin gdb la direccion de memoria del inicio de la variable, siempre es la misma y siempre puedo explotar la vulnerabilidad

Hola d00rt, no me refería a ti jaja saludos
En línea


Solicitudes de crack, keygen, serial solo a través de mensajes privados (PM)
d00rt

Desconectado Desconectado

Mensajes: 12


Ver Perfil
Re: Exploiting básico (Buffer Overflow) [Ayuda]
« Respuesta #15 en: 8 Abril 2015, 00:38 am »

Bueno pues ahora que he tenido algo de tiempo y con motivo de ayudar a cualquiera que este intentando resolver este ejercicio, o que este teniendo los mismos problemas que yo, he creado este documento en el que explico poco a poco, como he ido resolviendo el problema. Seguramente se pueda explicar de mejor forma, pero tampoco tengo todo el tiempo del mundo digamos que es una primera versión la cual se puede ir mejorando algunos aspectos o algunos fallos (conceptuales u ortográficos) que se hayan cometido.

Agradecer a todos los que me habéis ayudado a resolver todas mis dudas y hasta la próxima.

Como no puedo adjuntar el documento (O no esta la opción o no la veo) dejo un enlace de google Drive desde donde os lo podéis descargar:

https://drive.google.com/file/d/0B522JOJrz48zcmhkRzJHQkpTQW8/view?usp=sharing

Si veis algún fallo o posible mejora o tenéis alguna duda me comentáis.
En línea

metalerk

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Re: Exploiting básico (Buffer Overflow) [Ayuda]
« Respuesta #16 en: 29 Diciembre 2015, 09:14 am »

De verdad siento mucho revivir este tema pero soy nuevo en esto también sigo el libro y creo entender la mayoria, pero la verdad es que no entendí porque tienen que ser exactamente 44 "A" como relleno. Les agradecería mucho si me pueden resolver esta duda.

Saludos !!
En línea

furby86

Desconectado Desconectado

Mensajes: 4



Ver Perfil
Re: Exploiting básico (Buffer Overflow) [Ayuda]
« Respuesta #17 en: 10 Enero 2016, 19:45 pm »

Buenas, yo también he empezado con el libro de linux exploiting y aunque aun no he probado el script hay un detalle en la página 27 y es que usa ubuntu 12, lo cual, ya puede ser una gran diferencia con la gestión de memoria que puede hacer debian.
Espero no meter la pata. Es solo una sugerencia.
En línea

Páginas: 1 [2] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
buffer overflow
Ingeniería Inversa
Meg 2 6,106 Último mensaje 6 Febrero 2009, 11:20 am
por Shaddy
> [Linux] Técnicas de exploiting por buffer overflow : Sagrini 2012
Bugs y Exploits
Sagrini 8 6,711 Último mensaje 27 Febrero 2012, 19:37 pm
por m0rf
Necesito ayuda urgente, buffer overflow.
Bugs y Exploits
RocKHounD 8 7,449 Último mensaje 13 Abril 2012, 19:59 pm
por berz3k
Problema, return address buffer overflow (Cómo calcular la dirección del buffer?
Bugs y Exploits
Debci 6 7,730 Último mensaje 7 Abril 2014, 20:00 pm
por soez
Ayuda buffer overflow
Hacking
Varlch 3 3,148 Último mensaje 24 Noviembre 2014, 23:30 pm
por MCKSys Argentina
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines