elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Análisis y Diseño de Malware (Moderador: fary)
| | |-+  problema en la creacion de shellcode basica
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: problema en la creacion de shellcode basica  (Leído 7,609 veces)
daryo


Desconectado Desconectado

Mensajes: 1.070



Ver Perfil WWW
problema en la creacion de shellcode basica
« 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
  1. .386
  2. .model flat,stdcall
  3. option casemap:none
  4.  
  5.  
  6. .code
  7. lib db "User32.dll",0
  8. inicio:
  9. call delta
  10. delta:
  11. pop ecx
  12. sub ecx,offset delta
  13. add ecx,offset lib
  14.  
  15. mov eax,776f2864h ;direccion de loadlibraryA
  16. push ecx
  17. call eax
  18. push 0
  19. push 0
  20. push 0
  21. push 0
  22.  
  23. mov eax,777dea71h ;//direccion de MessageBoxA
  24. call eax
  25. end inicio
muchas gracias de antemano :D
« Última modificación: 23 Julio 2014, 18:44 pm por daryo » En línea

buenas
.:UND3R:.
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.118


Ingeniería inversa / MASM


Ver Perfil WWW
Re: problema en la creacion de shellcode basica
« Respuesta #1 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
En línea


Solicitudes de crack, keygen, serial solo a través de mensajes privados (PM)
daryo


Desconectado Desconectado

Mensajes: 1.070



Ver Perfil WWW
Re: problema en la creacion de shellcode basica
« Respuesta #2 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 quite

Citar
Ensamblar en MASM
ok probare eso

Citar
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
  1. char code[] = "mi shellcode";
  2.  
  3. int main()
  4. {
  5. int (*func)();
  6. func = (int (*)()) code;
  7. (int)(*func)();
  8. }
En línea

buenas
xv0


Desconectado Desconectado

Mensajes: 1.026



Ver Perfil
Re: problema en la creacion de shellcode basica
« Respuesta #3 en: 14 Julio 2014, 23:25 pm »

Pues entonces llamala directamente.

Código
  1. char code[] = "mi shellcode";
  2.  
  3. int main()
  4.    {
  5.  
  6. __asm call code
  7.  
  8. }

Un saludo.
En línea

daryo


Desconectado Desconectado

Mensajes: 1.070



Ver Perfil WWW
Re: problema en la creacion de shellcode basica
« Respuesta #4 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
  1. lib db "User32.dll",0
  2. add ecx,offset lib
  3. push ecx

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
  1.    char code[] = "mi shellcode";
  2.  
  3.    int main()
  4.    {
  5.    LoadLibrary("User32.dll");
  6.    int (*func)();
  7.    func = (int (*)()) code;
  8.    (int)(*func)();
  9.    }
  10.  
y le quite el delta offset a el codigo en asm

Código
  1. .386
  2. .model flat,stdcall
  3. option casemap:none
  4.  
  5. .code
  6. lib db 'User32.dll',0
  7. inicio:
  8.  
  9. mov ecx,offset lib
  10. mov eax,75a62864h ;direccion de loadlibraryA
  11. push ecx
  12. call eax
  13. push 0
  14. push 0
  15. push 0
  16. push 0
  17.  
  18. mov eax,76d3ea71h ;//direccion de MessageBoxA
  19. call eax
  20. mov eax,75a62acfh // exitprocess
  21. call eax
  22. end inicio

en ese caso si sale la ventanita e_e
« Última modificación: 15 Julio 2014, 21:53 pm por daryo » En línea

buenas
dRak0

Desconectado Desconectado

Mensajes: 234


Ver Perfil WWW
Re: problema en la creacion de shellcode basica
« Respuesta #5 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.
En línea

daryo


Desconectado Desconectado

Mensajes: 1.070



Ver Perfil WWW
Re: problema en la creacion de shellcode basica
« Respuesta #6 en: 15 Julio 2014, 22:37 pm »

si tienes razon hasta ahora chapuceo en todo esto , pero no comprare un libro : P
En línea

buenas
dRak0

Desconectado Desconectado

Mensajes: 234


Ver Perfil WWW
Re: problema en la creacion de shellcode basica
« Respuesta #7 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!



En línea

daryo


Desconectado Desconectado

Mensajes: 1.070



Ver Perfil WWW
Re: problema en la creacion de shellcode basica
« Respuesta #8 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
« Última modificación: 16 Julio 2014, 00:18 am por daryo » En línea

buenas
dRak0

Desconectado Desconectado

Mensajes: 234


Ver Perfil WWW
Re: problema en la creacion de shellcode basica
« Respuesta #9 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.

En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
shellcode básica para windows.
Bugs y Exploits
black_flowers 7 5,923 Último mensaje 6 Febrero 2011, 16:39 pm
por black_flowers
problema con shellcode demasiado larga
Bugs y Exploits
black_flowers 3 3,207 Último mensaje 22 Abril 2011, 19:51 pm
por black_flowers
Problema con calculadora basica!!!!!!!!!!
Programación C/C++
prometheus48 4 3,001 Último mensaje 9 Octubre 2011, 14:48 pm
por prometheus48
Creación de una pila básica en Java
Java
madpitbull_99 4 21,455 Último mensaje 17 Octubre 2011, 07:50 am
por s00rk
Problema sobre inyección de DLL desde shellcode
Programación C/C++
Kaxperday 6 3,293 Último mensaje 11 Septiembre 2016, 13:48 pm
por Kaxperday
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines