Título: problema en la creacion de shellcode basica Publicado por: daryo en 14 Julio 2014, 21:57 pm estaba intentando crear una shellcode con este tutorial:
http://www.portalhacker.net/b2/tutorial-creando-shellcode/125582/ utilizo code blocks y windows 7 en una maquina virtual , estoy haciendo algo mal o es que esta forma de hacerlas no funciona para win 7 y me falta hacer algo? el proceso es : se busca la ubicacion de las apis a usar, se crea la hice en nasm luego con ollydbg se abre y se le da binary copy para luego pegarlo todo en un editor te texto. pero me da error a en el momento crearla y compilarla en un programa de c cuando la ejecuto normal funciona perfectamente: Código muchas gracias de antemano :D Título: Re: problema en la creacion de shellcode basica Publicado por: .:UND3R:. en 14 Julio 2014, 22:14 pm Buenas no entendí muy bien el problema, pero la shellcode que has puesto está programada en MASM, además de que posee algunas inconsistencias como por ejemplo algunos includes que no son necesarios debido a que las APIs se están llamando directamente.
Algunas pruebas: - Ensamblar en MASM - verifica que las direcciones de las APis concuerden con las de tu SO (OllyDbg -> go to -> LoadLibraryA y verificas que el address sea el mismo, al igual que para MessageBoxA) - ¿En qué parte falla el código? Saludos Título: Re: problema en la creacion de shellcode basica Publicado por: daryo en 14 Julio 2014, 22:33 pm Citar algunos includes que no son necesarios debido a que las APIs se están llamando directamente. sep tienes razon ya las quiteCitar Ensamblar en MASM ok probare esoCitar verifica que las direcciones de las APis concuerden con las de tu SO (OllyDbg -> go to -> LoadLibraryA y verificas que el address sea el mismo, al igual que para MessageBoxA) las direcciones las saque de mi mismo pc usando el programa arwin. Asi que no creo ademas cuando compilo normal el programa funciona perfecto. Citar - ¿En qué parte falla el código? no lo se exactamente pero crashea cuando tengo la shellcode e intento compilarla en este programa:Código
Título: Re: problema en la creacion de shellcode basica Publicado por: xv0 en 14 Julio 2014, 23:25 pm Pues entonces llamala directamente.
Código
Un saludo. Título: Re: problema en la creacion de shellcode basica Publicado por: daryo en 15 Julio 2014, 21:51 pm gracias cpu pero no funciono
el tutorial del que me guio esta hecho para fasm y ahi si funciona con sus respectivos cambios pero en masm no.(empezare con fasm pero igual me gustaria saber que esta pasando) @.:UND3R:. tenias razon era masm no nasm en todo caso ya se cual es el error pero no como solucionarlo el delta offsetno esta sirviendo cuando le digo: Código
al parecer no esta tomando la direccion que indica la ubicacion de la cadena "user32.dll" por eso cuando lo compilo funciona correctamente pero cuando lo convierto en shellcode no. para llegar a esa Conclusión probe lo siguiente: en el codigo en c carge User32.dll necesaria para MessageBoxA Código y le quite el delta offset a el codigo en asm Código
en ese caso si sale la ventanita e_e Título: Re: problema en la creacion de shellcode basica Publicado por: dRak0 en 15 Julio 2014, 22:11 pm No te lo tomes como ofensivo pero lo que veo es que tienes muy pocos conocimientos de assembly. Te recomiendo que lo aprendas.Un muy buen libro es el de kip irvine (En español encima) y tiene un workbook para practicar.Despues el shellcode no es mas que una secuencia de opcodes.El libro de irvine explica con el ensamblador MASM , si tengo que decidir cual aprender desde el principio seria NASM (Disponible en GNU/Linux, OpenBSD, todo tipo de UNIX like). Tambien podrias escribir el code en C y dsp obtener los opcodes con objdump u otro por el estilo , pero deberias sacar todo lo que agrega el compilador.
PD:Te das cuenta que es MASM por las directivas que utiliza. Título: Re: problema en la creacion de shellcode basica Publicado por: daryo en 15 Julio 2014, 22:37 pm si tienes razon hasta ahora chapuceo en todo esto , pero no comprare un libro : P
Título: Re: problema en la creacion de shellcode basica Publicado por: dRak0 en 15 Julio 2014, 23:25 pm Hay que leer primero el libro y luego comprarlo si te gusta. Yo lo baje de internet y lo mande a imprimir a una imprenta que me hace precio.
El workbook: http://kipirvine.com/asm/workbook/asmWorkbook.pdf Saludos! Título: Re: problema en la creacion de shellcode basica Publicado por: daryo en 16 Julio 2014, 00:16 am se borro todo , decia que disculpa pero ese libro esta terrible es de 16 bits , para msdos y las paginas es tan todas al costado
si quieren cierren el post ya se desvio : P Título: Re: problema en la creacion de shellcode basica Publicado por: dRak0 en 16 Julio 2014, 01:02 am Tas muy equivocado cubre 32 bits , "Lenguaje ensamblador para computadoras basadas en intel" , va por la sexta edicion creo , yo tengo la 5ta.Es mas hay un capitulo dedicado a la API de windows. Ademas si quieres diseñar tu propio OS tienes que saber 16 bits para el bootloader y en el tema de rootkits tmb juega un importante papel.
Sludos y perdon por desviar el tema , solo que si lees este libro , vas a tener muchas menos preguntas y una gran variedad de herramientas para afrontar el tema del exploiting, malware ,etc. Título: Re: problema en la creacion de shellcode basica Publicado por: daryo en 23 Julio 2014, 18:42 pm solucionado
ya me funciono , al parecer desde windows vista la ubicacion de kernel32.dll es varia con cada reinicio y hay que hacer algunas cosas adicionales.Pero al menos ahora una vez encontrado la ubicacion de las librerias funciona perfecto: Código
Título: Re: problema en la creacion de shellcode basica Publicado por: MCKSys Argentina en 23 Julio 2014, 22:11 pm Otra cosa que puedes hacer (para no usar el deltaoffset) es:
Código
Para solucionar el problema de las DLLs, sólo necesitas LoadLibrary y GetProcAddress. Luego, usando el método que haz puesto o el que te dejo aquí; haces LoadLibrary y GetProcAddress y ya tienes la direccion real de la API. Hay múltiples ejemplos de llamadas a API con código pic en internet. Saludos! Título: Re: problema en la creacion de shellcode basica Publicado por: Mr.Virus en 19 Agosto 2014, 06:10 am perdón la ignorancia pero ustedes le llaman shellcode al bytecode que copian y pegan de su depurador y lo usan en c++ ? o llaman shellcode a otra cosa, ?
Título: Re: problema en la creacion de shellcode basica Publicado por: MCKSys Argentina en 19 Agosto 2014, 17:23 pm Shellcode es esto (http://en.wikipedia.org/wiki/Shellcode).
Saludos! |