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, 09:21  


Tema destacado: Nueva página de elhacker.net en Google+ Google+

+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Bugs y Exploits (Moderador: berz3k)
| | |-+  Crear Xploit
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Crear Xploit  (Leído 6,305 veces)
jujaLVP

Desconectado Desconectado

Mensajes: 211


llega la batalla y contra el estalla ...


Ver Perfil
Crear Xploit
« en: 1 Mayo 2005, 00:40 »

esp es el que tiene la direccion de mi shellcode,yo como direccion de retorno tengo que poner la direccion de un "call esp" que esta en alguna dll que usa el programa.el problema es que cuando intenta saltar a la dll me da error.como si no se pudiese ejecutar la "call esp".

que pasa aca?

saludos
En línea
Rojodos
Colaborador
***
Desconectado Desconectado

Mensajes: 3.535



Ver Perfil WWW
Re: Crear Xploit
« Respuesta #1 en: 1 Mayo 2005, 07:28 »

Es mejor buscar un JMP ESP (por diversos motivos debidos a la diferencia entre JMP y CALL, el ultimo al hacer un call, guarda la siguiente direccion en la pila y te puede fastidiar la shellcode).

Yo he usado varias veces un JMP ESP en exploits y me han funcionado perfectamente. Buscalos con el findjmp o el findjmp2. Y recuerda que al "meter" el offset o la direccion en el exploit, tiene que ser "al reves" (little endian)

Si el offset es 0x77889911, se mete en el exploit asi (formato hex en un array C):  \x11\x99\x88\x77

Salu2
En línea

jujaLVP

Desconectado Desconectado

Mensajes: 211


llega la batalla y contra el estalla ...


Ver Perfil
Re: Crear Xploit
« Respuesta #2 en: 1 Mayo 2005, 23:02 »

sigo teniendo el mismo problema: me da access vilation cuando intento llamar al jmp esp. aca va un pedaso de codigo:

   overstr[519]=0xbf;
   overstr[518]=0xf6;
   overstr[517]=0x27;
   overstr[516]=0x41;
   strcpy(buffer,overstr);

la direccion es 0xbff62741.
me siento deconcertado. que pasa?

saludos

En línea
Rojodos
Colaborador
***
Desconectado Desconectado

Mensajes: 3.535



Ver Perfil WWW
Re: Crear Xploit
« Respuesta #3 en: 2 Mayo 2005, 09:30 »

Vamos, que no me haces ni puto caso:

Tienes que meter las direcciones en formato "little endian"

Si el ofset del jmp esp es 0xbff62741, en el string seria asi:

overstr[519]=0x41;
overstr[518]=0x27;
overstr[517]=0xf6;
overstr[516]=0xbf;
strcpy(buffer,overstr);

En arquitecturas Intel y compatibles, se usa el formato "little endian". En arquitecturas SPARC y Alpha, "big endian".

Buscar por google si no sabes bien lo que es.

Pruebalo como te he dicho.

Salu2
En línea

Ivanchuk


Desconectado Desconectado

Mensajes: 466


LLVM


Ver Perfil WWW
Re: Crear Xploit
« Respuesta #4 en: 2 Mayo 2005, 17:45 »

Que problema ese. Pero me parece que lo está haciendo bien ¿o no?. Medio engañoso con los índices del arreglo  ;) y el orden en que carga la dirección, pero lo hizo bien.
Organizemos la vista:
Código:
overstr[516]=0x41;
overstr[517]=0x27;
overstr[518]=0xf6;
overstr[519]=0xbf;
Habría que ver el código, el error debe ser otro. Bytes.
En línea

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

Join us @ http://foro.h-sec.org
Crack_X
Anti-War
Ex-Staff
*
Desconectado Desconectado

Mensajes: 2.320


Peace & Love


Ver Perfil WWW
Re: Crear Xploit
« Respuesta #5 en: 2 Mayo 2005, 17:48 »

Y si buscas un jmp esp que este dentro del programa no funcionaria igual?
En línea

Shit loads of money spend to show us wrong from right. Say no to war


Yasser Has Things To Say
WarZone
Rojodos
Colaborador
***
Desconectado Desconectado

Mensajes: 3.535



Ver Perfil WWW
Re: Crear Xploit
« Respuesta #6 en: 2 Mayo 2005, 20:08 »

Po zi, no me fije en los indices del array  :(

Si le da access violation, en un Windows, es porque no tiene cargada esa dll en el ENTORNO del programa vulnerable (tiene que buscar los offsets en las DLL que cargue el programa vulnerable).

Tambien puede ser que haya pillado el offset mal.

Salu2
En línea

jujaLVP

Desconectado Desconectado

Mensajes: 211


llega la batalla y contra el estalla ...


Ver Perfil
Re: Crear Xploit
« Respuesta #7 en: 3 Mayo 2005, 01:57 »

me sigue pasando lo mismo.
cargue gdi32.dll porque no encontre un jmp esp en otra dll. aca esta el programa completo:

#include <windows.h>

unsigned char shellcode[]={0x90, 0x90, 0x90,0x33, 0xc0, 0x50, ...etc etc};

char overstr[1044];
void main()
{
   char buffer[512];
   int i;   
   long *long_ptr=(long *)overstr,*pointer;

   LoadLibrary("gdi32.dll");
   for(i=0;i<256;i++)
      *(long_ptr+i)=(int)0xffffffff;

   pointer=(long *)shellcode;
   for(i=520;i<(strlen(shellcode)+520);i++)
      overstr=*(((unsigned char *)pointer)++);


   overstr[519]=0xbf;
   overstr[518]=0xf2;
   overstr[517]=0xed;
   overstr[516]=0xcb;   
   strcpy(buffer,overstr);
}
En línea
Rojodos
Colaborador
***
Desconectado Desconectado

Mensajes: 3.535



Ver Perfil WWW
Re: Crear Xploit
« Respuesta #8 en: 3 Mayo 2005, 03:45 »

? No encontraste un JMP ESP en kernel32.dll o en ntdll.dll? Esas dos dlls las cargan TODOS los ejecutables, y en una de las dos (ahora no caigo en cual) hay un jmp esp.

Por lo demas, VAYA LIO de "exploit" con los punteros.

Echale un ojo a mi texto sobre exploits en Windows, a ver si te aclara la mente, porque la que has liado con los punteros, para hacer operaciones sencillas de concatenado y copiado de arrays no es normal.

Texto: --> http://foro.elhacker.net/index.php/topic,57910.0.html

Ahora mismo tengo la mente demasiada "obnubilada" xD para responderte algo mas conciso.

Salu2
En línea

jujaLVP

Desconectado Desconectado

Mensajes: 211


llega la batalla y contra el estalla ...


Ver Perfil
Re: Crear Xploit
« Respuesta #9 en: 3 Mayo 2005, 04:02 »

tengo WIN ME y aca no me carga ntdll.dll y en kernell32.dll no esta(lo busque con FINDJMP)

ya lei tu documento, por cierto muy interesante,

espero poder resolver este problema


gracias igual
En línea
Rojodos
Colaborador
***
Desconectado Desconectado

Mensajes: 3.535



Ver Perfil WWW
Re: Crear Xploit
« Respuesta #10 en: 3 Mayo 2005, 04:08 »

Diooooooos, un Win Millenium NOOOOOOO  :o  ;D

Los Windows 95, 98 y Me tienen una pila bastante curiosa, por no no decir que no siguen los "canones" habituales. Ya me pelee con una pila de Win Me (mas bien Mek se peleo con su Win Me mientras yo le ayudaba en lo que podia, no funcionaba nada  ;D). Paso de meterme en tratar de que te funcione el exploit en un Win Me  ;D

Te recomendaria dos cosas:

- Te pusieras como minimo un Win 2000. Es un sistema bastante estable, y puede correr en PCs poco potentes y con poca RAM. El Win Me ademas de estar obsoleto, esta mal hecho xD

- No hace falta dar tantas vueltas en un exploit para copilar un string dentro de un buffer para sobreescribirlo, y copiar una shellcode. No hace falta poner punteros por todos lados. Te recomiendo que mires por ahi textos de exploits, que no se dan tantas vueltas en crear un programa vulnerable y un exploit analogo.

Espero que me hagas caso  ;) Se de lo que hablo.

Salu2
En línea

jujaLVP

Desconectado Desconectado

Mensajes: 211


llega la batalla y contra el estalla ...


Ver Perfil
Re: Crear Xploit
« Respuesta #11 en: 3 Mayo 2005, 04:24 »

se me cayo el mundo a pedazos..... tengo que cambiar de SO.....


gracias por su ayuda....


saludos
En línea
byebye


Desconectado Desconectado

Mensajes: 5.093



Ver Perfil
Re: Crear Xploit
« Respuesta #12 en: 3 Mayo 2005, 04:46 »

hombre no tienes que cambiar necesariamnete de so, simplemente depura el programa y ves observando la pila.
En línea
jujaLVP

Desconectado Desconectado

Mensajes: 211


llega la batalla y contra el estalla ...


Ver Perfil
Re: Crear Xploit
« Respuesta #13 en: 3 Mayo 2005, 05:15 »

lo que pasa es que en la pila va todo bien pero no funciona...lo mira muchisimas veces y no anda ni paratras.....
En línea
jujaLVP

Desconectado Desconectado

Mensajes: 211


llega la batalla y contra el estalla ...


Ver Perfil
Re: Crear Xploit
« Respuesta #14 en: 3 Mayo 2005, 07:21 »

siii!!!!!!!!!!!!!!!!!!! vamos carajo!!! logre resolver el enigma. el problema estaba en:

en el debugger del Microsoft Visual c++ 6.0,que no me mostraba realmente lo que hacia,cuando ejecutaba el ret no me dejaba ir mas paso a paso,me ejecutaba todo seguido y me tiraba error.

use el Symbol Loader del softice y logré ver que funcionaba a la perfeccion y que el problema era de la shellcode, que no estaba codeada para mi SO.

gracias a todos por su ayuda

saludos

PD:alguien sabe donde puedo conseguir una buena referencia de assembler(no tutorial)?
« Última modificación: 3 Mayo 2005, 21:57 por jujaLVP » En línea
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Que significa XPLOIT?
Hacking Básico
puntoinfinito 1 428 Último mensaje 19 Marzo 2012, 19:39
por WHK
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines