Full Disclosure mailing list archives

Re: Tricky Shellcode


From: InterN0T Advisories <advisories () intern0t net>
Date: Wed, 01 Feb 2012 17:38:24 -0500

In the second part of the FC4.me challenge, it says you need XXX amount of
bytes for a reg key.

The shellcode below, is of course, assembly instructions. Have you tried
running the entire code? There's a CC / break in the end in case you load
the code into another program, so you won't execute the rest of the code. 

If you compiled this into a program, nothing would really happen. If you
on the other hand, executed the program aka this shellcode in a debugger,
you would see that something is pushed to the stack, and modified, in
memory. Something that seemed unreadable, is readable, and several
registers even hints the location in the beginning.

So, there's no syscalls being executed, and it can run on any IA-32
platform, probably more as long as they support the opcodes used. (Meaning,
it doesn't matter if you run this on Linux or Windows, but it's definitely
32-bit code.)

This code could've been anything from a simple program writing an image
(if we don't look at the size), to a real working backdoor / shell. Not all
shellcode is equal to backdoors, meterpreter stagers, WinExec(), etc.


Best regards,
MaXe

On Wed, 1 Feb 2012 15:57:02 -0500, Joshua Thomas <rappercrazzy () gmail com>
wrote:
Can anyone help in solving what this shellcode does?


\x31\xC0\x50\x68\x70\x79\x71\x78\x68\x72\x77\x27\x71\x68\x77\x79\x74\x74\x68\x25\x72\x25\x24\x68\x24\x24\x20\x24\x68\x75\x78\x76\x78\x68\x73\x79\x75\x79\x68\x23\x76\x74\x71\x68\x25\x71\x70\x73\x68\x70\x75\x74\x75\x68\x75\x24\x78\x73\x68\x25\x77\x76\x71\x68\x22\x72\x73\x23\x68\x24\x76\x27\x77\x68\x73\x75\x76\x79\x68\x20\x79\x70\x25\x68\x73\x72\x75\x77\x68\x27\x77\x71\x24\x68\x27\x22\x75\x73\x68\x23\x79\x70\x76\x68\x75\x75\x24\x70\x68\x22\x23\x71\x27\x68\x25\x79\x71\x22\x68\x22\x72\x27\x25\x68\x75\x23\x22\x77\x68\x22\x24\x75\x76\x68\x27\x25\x20\x24\x68\x75\x70\x27\x73\x68\x77\x20\x79\x24\x68\x72\x73\x70\x23\x68\x70\x78\x70\x23\x68\x78\x24\x71\x71\x54\x5E\x8B\xFE\x8B\xD7\xFC\xB9\x80\x00\x00\x00\xBB\x41\x00\x00\x00\x31\xC0\x50\xAC\x33\xC3\xAA\xE2\xFA\x54\x5E\xCC

Thanks
JT

_______________________________________________
Full-Disclosure - We believe in it.
Charter: http://lists.grok.org.uk/full-disclosure-charter.html
Hosted and sponsored by Secunia - http://secunia.com/


Current thread: