.:. Shellcode 2 ASM .:.

Iniciado por Garfield07, 2 Enero 2011, 22:47 PM

0 Miembros y 2 Visitantes están viendo este tema.

Garfield07

Bueno, perdonadadme el titulo, un poco estafalario xD...
Bueno, mi duda es...
Tengo una shellcode, y me gustaria saber las intstrucciones en ensamblador que tiene... Como hago eso?
Para el que lo quiera saber, mi shellcode es:
Código (asm) [Seleccionar]
\xeb\x12\x31\xc9\x5e\x56\x5f\xb1\x15\x8a\x06\xfe\xc8\x88\x06\x46\xe2"
          "\xf7\xff\xe7\xe8\xe9\xff\xff\xff\x32\xc1\x32\xca\x52\x69\x30\x74\x69"
          "\x01\x69\x30\x63\x6a\x6f\x8a\xe4\xb1\x0c\xce\x81

Bueno, es para analizarla.. Ocupa bastante pocos bytes, va a ser interesante xD...
Bueno, es pasar eso a ensamblador... como?


* Quiero cambiar el mundo, pero estoy seguro de que no me darían el código fuente.
* No estoy tratando de destruir a Microsoft. Ese será tan solo un efecto colateral no intencionado.
* Si compila esta bien, si arranca es perfecto.

¡Wiki elhacker.net!
Un saludo


Garfield07

Negativo pues no esta compilado xD...
Como lo compilo ? Quiero decir, la shellcode sola...
:P :P :P


* Quiero cambiar el mundo, pero estoy seguro de que no me darían el código fuente.
* No estoy tratando de destruir a Microsoft. Ese será tan solo un efecto colateral no intencionado.
* Si compila esta bien, si arranca es perfecto.

¡Wiki elhacker.net!
Un saludo

CronuX

Simple cojes cualquier exe, lo abres con el OllyDBG y buscas una zona en blanco, es decir llena de 00 y modificas por los bytes que tienes en la shellcode y miras que instrucciones son y que hace... saludos

3mp3z@ndo

#4
Puedes pasarte por aqui:

http://sandsprite.com/shellcode_2_exe.php

o por aqui:

http://www.data0.net/?page_id=618

Conviertes tu shellcode a exe, te lo descargas y lo metes por ejemplo en el olly y tendrás algo como esto

00401020   . /EB 12         JMP SHORT shellcod.00401034
00401022   $ |31C9          XOR ECX,ECX
00401024   . |5E            POP ESI                                  ;  kernel32.7C816FE7
00401025   . |56            PUSH ESI
00401026   . |5F            POP EDI                                  ;  kernel32.7C816FE7
00401027   . |B1 15         MOV CL,15
00401029   > |8A06          MOV AL,BYTE PTR DS:[ESI]
0040102B   . |FEC8          DEC AL
0040102D   . |8806          MOV BYTE PTR DS:[ESI],AL
0040102F   . |46            INC ESI
00401030   .^|E2 F7         LOOPD SHORT shellcod.00401029
00401032   .-|FFE7          JMP EDI                                  ;  ntdll.7C920228
00401034   > \E8 E9FFFFFF   CALL shellcod.00401022
00401039   .  32C1          XOR AL,CL
0040103B   .  32CA          XOR CL,DL
0040103D   .  52            PUSH EDX                                 ; ntdll.KiFastSystemCallRet
0040103E   .  6930 74690169 IMUL ESI,DWORD PTR DS:[EAX],69016974
00401044   .  3063 6A       XOR BYTE PTR DS:[EBX+6A],AH
00401047   .  6F            OUTS DX,DWORD PTR ES:[EDI]               ;  I/O command
00401048   .  8AE4          MOV AH,AH
0040104A   .  B1 0C         MOV CL,0C
0040104C   .  CE            INTO
0040104D   .  8100 00000000 ADD DWORD PTR DS:[EAX],0


O si te quieres ahorrar la conversión puedes hacer lo que te ha dicho cronux, copias los bytes de tu shellcode directamente en un ejecutable y después lo metes en el olly.

También puedes descargar el Malcode Analysis Pack de idefense donde entre otras herramientas tienes el shellcode2exe para montartelo en local y no depender de ninguna web, te dejo el enlace:

http://labs.idefense.com/software/malcode.php#more_malcode+analysis+pack

Saludos



Garfield07

Bueno, gracias por las respuestas, pero el sistema que uso es linux y me convierte a un Windows. Y Wine no puede hacer nada :o :o
Alguna idea?


* Quiero cambiar el mundo, pero estoy seguro de que no me darían el código fuente.
* No estoy tratando de destruir a Microsoft. Ese será tan solo un efecto colateral no intencionado.
* Si compila esta bien, si arranca es perfecto.

¡Wiki elhacker.net!
Un saludo

SnakingMax

Debes reemplazar los '\' con '0' y ensamblarlo con FASM que está disponible para Linux tambien:
Citarhttp://foro.elhacker.net/bugs_y_exploits/shellcodeopcode_to_asm-t277997.0.html

Garfield07

Muchas gracias jaja ahora mismo lo pruebo...
Aparte, he econtrado otra cosa por si esa no me va xD...
http://blogs.udp.cl/obtener-c%C3%B3digo-assembler-de-un-shellcode-desde-el-terminal

Mea culpa por no buscar bien...


* Quiero cambiar el mundo, pero estoy seguro de que no me darían el código fuente.
* No estoy tratando de destruir a Microsoft. Ese será tan solo un efecto colateral no intencionado.
* Si compila esta bien, si arranca es perfecto.

¡Wiki elhacker.net!
Un saludo

SnakingMax

Ok, ya comentas como te fue  :)

Garfield07

Comento que no me fue  :-\
El fasm no me compila xD... me echas una manita ?
lo modifique pero nada ...

Y mi metodo no me va. Cosa curiosa:
http://blogs.udp.cl/obtener-c%C3%B3digo-assembler-de-un-shellcode-desde-el-terminal
echo -ne "\x0c\xb0\x0b\x89\xf3\x8d\x4e\x08\x8d\x56\x0c\xcd\x80" | x86dis -e 0 -s intel
OK, code de acuerdo...
echo -ne "\xeb\x12\x31\xc9\x5e\x56\x5f\xb1\x15\x8a\x06\xfe\xc8\x88\x06\x46\xe2\xf7\xff\xe7\xe8\xe9\xff\xff\xff\x32\xc1\x32\xca\x52\x69\x30\x74\x69\x01\x69\x30\x63\x6a\x6f\x8a\xe4\xb1\x0c\xce\x81" | x86dis -e 0 -s intel
Pum pum pum...

jmp 0x00000014

Que hago? Muchas gracias de todos modos. Alguna idea?


* Quiero cambiar el mundo, pero estoy seguro de que no me darían el código fuente.
* No estoy tratando de destruir a Microsoft. Ese será tan solo un efecto colateral no intencionado.
* Si compila esta bien, si arranca es perfecto.

¡Wiki elhacker.net!
Un saludo